OpenSplice ISO C++ 2 DCPS  v6.x
ISO C++ 2 OpenSplice Data Distribution Service Data-Centric Publish-Subscribe API
FilterImpl.hpp
Go to the documentation of this file.
1 /*
2  * Vortex OpenSplice
3  *
4  * This software and documentation are Copyright 2006 to 2021 ADLINK
5  * Technology Limited, its affiliated companies and licensors. All rights
6  * reserved.
7  *
8  * Licensed under the Apache License, Version 2.0 (the "License");
9  * you may not use this file except in compliance with the License.
10  * You may obtain a copy of the License at
11  *
12  * http://www.apache.org/licenses/LICENSE-2.0
13  *
14  * Unless required by applicable law or agreed to in writing, software
15  * distributed under the License is distributed on an "AS IS" BASIS,
16  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17  * See the License for the specific language governing permissions and
18  * limitations under the License.
19  *
20  */
21 #ifndef OSPL_DDS_TOPIC_TFILTER_HPP_
22 #define OSPL_DDS_TOPIC_TFILTER_HPP_
23 
28 /*
29  * OMG PSM class declaration
30  */
31 #include <dds/topic/Filter.hpp>
32 
33 // Implementation
34 
35 namespace dds
36 {
37 namespace topic
38 {
39 
40 
41 Filter::Filter(const std::string& query_expression) :
42  dds::core::Value(query_expression)
43 {
44 }
45 
46 
47 template <typename FWIterator>
48 Filter::Filter(const std::string& query_expression, const FWIterator& params_begin,
49  const FWIterator& params_end)
50  : dds::core::Value(query_expression, params_begin, params_end)
51 { }
52 
53 
54 Filter::Filter(const std::string& query_expression,
55  const std::vector<std::string>& params) :
56  dds::core::Value(query_expression, params.begin(), params.end())
57 {
58 }
59 
60 
61 const std::string& Filter::expression() const
62 {
63  ISOCPP_REPORT_STACK_NC_BEGIN();
64 
65  return this->delegate().expression();
66 }
67 
68 
70 {
71  ISOCPP_REPORT_STACK_NC_BEGIN();
72 
73  return this->delegate().begin();
74 }
75 
76 
78 {
79  ISOCPP_REPORT_STACK_NC_BEGIN();
80 
81  return this->delegate().end();
82 }
83 
84 
86 {
87  ISOCPP_REPORT_STACK_NC_BEGIN();
88 
89  return this->delegate().begin();
90 }
91 
92 
94 {
95  ISOCPP_REPORT_STACK_NC_BEGIN();
96 
97  return this->delegate().end();
98 }
99 
100 
101 template <typename FWIterator>
102 void Filter::parameters(const FWIterator& begin, const FWIterator end)
103 {
104  ISOCPP_REPORT_STACK_NC_BEGIN();
105 
106  this->delegate().parameters(begin, end);
107 }
108 
109 
110 void Filter::add_parameter(const std::string& param)
111 {
112  ISOCPP_REPORT_STACK_NC_BEGIN();
113 
114  this->delegate().add_parameter(param);
115 }
116 
117 
119 {
120  ISOCPP_REPORT_STACK_NC_BEGIN();
121 
122  return this->delegate().parameters_length();
123 }
124 
125 }
126 }
127 
128 // End of implementation
129 
130 #endif /* OSPL_DDS_TOPIC_TFILTER_HPP_ */
const_iterator end() const
Definition: FilterImpl.hpp:77
D::const_iterator const_iterator
Definition: Filter.hpp:68
void parameters(const FWIterator &begin, const FWIterator end)
Definition: FilterImpl.hpp:102
void add_parameter(const std::string &param)
Definition: FilterImpl.hpp:110
const std::string & expression() const
Definition: FilterImpl.hpp:61
Definition: array.hpp:23
D::iterator iterator
Definition: Filter.hpp:63
uint32_t parameters_length() const
Definition: FilterImpl.hpp:118
const_iterator begin() const
Definition: FilterImpl.hpp:69
Filter(const std::string &query_expression)
Definition: FilterImpl.hpp:41