Cyclone ISO C++ API Reference Guide
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
ContentFilteredTopic.hpp
Go to the documentation of this file.
1 #ifndef OMG_DDS_T_TOPIC_CONTENT_FILTERED_TOPIC_HPP_
2 #define OMG_DDS_T_TOPIC_CONTENT_FILTERED_TOPIC_HPP_
3 
4 /* Copyright 2010, Object Management Group, Inc.
5  * Copyright 2010, PrismTech, Inc.
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 <vector>
23 
24 #include <dds/core/detail/conformance.hpp>
25 #include <dds/core/types.hpp>
26 #include <dds/topic/Topic.hpp>
27 #include <dds/topic/Filter.hpp>
28 
29 #ifdef OMG_DDS_CONTENT_SUBSCRIPTION_SUPPORT
30 
31 namespace dds
32 {
33 namespace topic
34 {
35 template <typename T>
37 }
38 }
39 
40 
76 template <typename T>
78 {
79 public:
82 
83 
86  typedef T DataType;
87 
88 public:
105  ContentFilteredTopic(const Topic<T>& topic, const std::string& name, const dds::topic::Filter& filter);
106 
108  virtual ~ContentFilteredTopic();
111 public:
119  const std::string& filter_expression() const;
120 
128  const dds::core::StringSeq filter_parameters() const;
129 
143  template <typename FWDIterator>
144  void filter_parameters(const FWDIterator& begin, const FWDIterator& end);
145 
155  const dds::topic::Topic<T>& topic() const;
156 };
157 
158 #endif // OMG_DDS_CONTENT_SUBSCRIPTION_SUPPORT
159 
160 
161 #endif /* OMG_DDS_T_TOPIC_CONTENT_FILTERED_TOPIC_HPP_ */
dds::topic::ContentFilteredTopic
ContentFilteredTopic is a specialization of TopicDescription that allows for content-based subscripti...
Definition: ContentFilteredTopic.hpp:36
dds::topic::ContentFilteredTopic::filter_expression
const std::string & filter_expression() const
types.hpp
dds::topic::ContentFilteredTopic::filter_parameters
const dds::core::StringSeq filter_parameters() const
Topic.hpp
dds::topic::ContentFilteredTopic::topic
const dds::topic::Topic< T > & topic() const
OMG_DDS_IMPLICIT_REF_BASE
#define OMG_DDS_IMPLICIT_REF_BASE(TYPE)
Definition: refmacros.hpp:75
dds::topic::ContentFilteredTopic::DataType
T DataType
Definition: ContentFilteredTopic.hpp:86
dds::topic::Filter
Filter objects contain SQL expressions that allow the application to specify a filter on the locally ...
Definition: Filter.hpp:57
dds
Definition: array.hpp:30
dds::core::begin
T::iterator begin(T &t)
Definition: array.hpp:34
OMG_DDS_REF_TYPE_PROTECTED_DC_T
#define OMG_DDS_REF_TYPE_PROTECTED_DC_T(TYPE, BASE, T_PARAM, DELEGATE)
Definition: refmacros.hpp:171
dds::core::end
T::iterator end(T &t)
Definition: array.hpp:39
dds::core::StringSeq
std::vector< std::string > StringSeq
Definition: types.hpp:43
dds::topic::ContentFilteredTopic::ContentFilteredTopic
ContentFilteredTopic(const Topic< T > &topic, const std::string &name, const dds::topic::Filter &filter)
dds::topic::Topic
Topic is the most basic description of the data to be published and subscribed.
Definition: Topic.hpp:36
dds::topic::TopicDescription::name
const std::string & name() const
Filter.hpp
dds::topic::TopicDescription
This class is the base for Topic, ContentFilteredTopic and MultiTopic.
Definition: TopicDescription.hpp:48