Go2Py/cpp_bridge/thirdparty/include/ddscxx/dds/sub/detail/TQueryImpl.hpp

137 lines
3.4 KiB
C++

/*
* Copyright(c) 2006 to 2020 ZettaScale Technology and others
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v. 2.0 which is available at
* http://www.eclipse.org/legal/epl-2.0, or the Eclipse Distribution License
* v. 1.0 which is available at
* http://www.eclipse.org/org/documents/edl-v10.php.
*
* SPDX-License-Identifier: EPL-2.0 OR BSD-3-Clause
*/
#ifndef CYCLONEDDS_DDS_SUB_DETAIL_QUERY_IMPL_HPP_
#define CYCLONEDDS_DDS_SUB_DETAIL_QUERY_IMPL_HPP_
/**
* @file
*/
// Implementation
#include <dds/sub/TQuery.hpp>
template <typename DELEGATE>
dds::sub::TQuery<DELEGATE>::TQuery(
const dds::sub::AnyDataReader& dr,
const std::string& expression) :
dds::core::Reference<DELEGATE>(new DELEGATE(AnyDataReader(dr), expression))
{
}
template <typename DELEGATE>
template<typename FWIterator>
dds::sub::TQuery<DELEGATE>::TQuery(
const dds::sub::AnyDataReader& dr,
const std::string& expression,
const FWIterator& params_begin,
const FWIterator& params_end) :
dds::core::Reference<DELEGATE>(new DELEGATE(AnyDataReader(dr), expression))
{
for (FWIterator it = params_begin; it != params_end; ++it) {
add_parameter(*it);
}
}
template <typename DELEGATE>
dds::sub::TQuery<DELEGATE>::TQuery(
const dds::sub::AnyDataReader& dr,
const std::string& expression,
const std::vector<std::string>& params) :
dds::core::Reference<DELEGATE>(new DELEGATE(AnyDataReader(dr), expression, params))
{
}
template <typename DELEGATE>
const std::string& dds::sub::TQuery<DELEGATE>::expression() const
{
return this->delegate()->expression();
}
template <typename DELEGATE>
void dds::sub::TQuery<DELEGATE>::expression(const std::string& expr)
{
this->delegate()->expression(expr);
}
/**
* Provides the begin iterator to the parameter list.
*/
template <typename DELEGATE>
typename dds::sub::TQuery<DELEGATE>::const_iterator dds::sub::TQuery<DELEGATE>::begin() const
{
return this->delegate()->begin();
}
/**
* The end iterator to the parameter list.
*/
template <typename DELEGATE>
typename dds::sub::TQuery<DELEGATE>::const_iterator dds::sub::TQuery<DELEGATE>::end() const
{
return this->delegate()->end();
}
/**
* Provides the begin iterator to the parameter list.
*/
template <typename DELEGATE>
typename dds::sub::TQuery<DELEGATE>::iterator dds::sub::TQuery<DELEGATE>::begin()
{
return this->delegate()->begin();
}
/**
* The end iterator to the parameter list.
*/
template <typename DELEGATE>
typename dds::sub::TQuery<DELEGATE>::iterator dds::sub::TQuery<DELEGATE>::end()
{
return this->delegate()->end();
}
template <typename DELEGATE>
template<typename FWIterator>
void dds::sub::TQuery<DELEGATE>::parameters(
const FWIterator& begin,
const FWIterator end)
{
for (FWIterator it = begin; it != end; ++it) {
add_parameter(*it);
}
}
template <typename DELEGATE>
void dds::sub::TQuery<DELEGATE>::add_parameter(
const std::string& param)
{
this->delegate()->add_parameter(param);
}
template <typename DELEGATE>
uint32_t dds::sub::TQuery<DELEGATE>::parameters_length() const
{
return this->delegate()->parameters_length();
}
template <typename DELEGATE>
const dds::sub::AnyDataReader&
dds::sub::TQuery<DELEGATE>::data_reader() const
{
return this->delegate()->data_reader();
}
#endif /* CYCLONEDDS_DDS_SUB_DETAIL_QUERY_IMPL_HPP_ */