DDS-PSM-C++  1.0
ISO C++ API for OpenSplice DDS
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros
TFilter.hpp
Go to the documentation of this file.
1 #ifndef DDS_TOPIC_TFILTER__HPP_
2 #define DDS_TOPIC_TFILTER__HPP_
3 
4 /* Copyright 2010, Object Management Group, Inc.
5  * Copyright 2010, PrismTech, Corp.
6  * Copyright 2010, Real-Time Innovations, Inc.
7  * All rights reserved.
8  *
9  * Licensed under the Apache License, Version 2.0 (the "License");
10  * you may not use this file except in compliance with the License.
11  * You may obtain a copy of the License at
12  *
13  * http://www.apache.org/licenses/LICENSE-2.0
14  *
15  * Unless required by applicable law or agreed to in writing, software
16  * distributed under the License is distributed on an "AS IS" BASIS,
17  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
18  * See the License for the specific language governing permissions and
19  * limitations under the License.
20  */
21 
22 #include <dds/core/types.hpp>
23 #include <dds/core/Value.hpp>
24 
25 namespace dds {
26  namespace topic {
27  template<typename D>
28  class TFilter;
29  }
30 }
31 
36 template<typename D>
38 public:
39  // Random access iterators
40  typedef typename D::iterator iterator;
41  typedef typename D::const_iterator const_iterator;
42 
43 public:
44  TFilter(const std::string& query_expression);
45 
46  template<typename FWIterator>
47  TFilter(const std::string& query_expression, const FWIterator& params_begin,
48  const FWIterator& params_end);
49 
50  TFilter(const std::string& query_expression,
51  const std::vector<std::string>& params);
52 
53  const std::string& expression() const;
54 
58  const_iterator begin() const;
59 
63  const_iterator end() const;
64 
68  iterator begin();
69 
73  iterator end();
74 
75  template<typename FWIterator>
76  void parameters(const FWIterator& begin, const FWIterator end);
77 
78  void add_parameter(const std::string& param);
79 
80  uint32_t parameters_length() const;
81 };
82 
83 #endif /* DDS_TOPIC_TFILTER__HPP_ */