RTI Connext Modern C++ API Version 7.2.0
dds::sub::cond::QueryCondition Class Reference

<<reference-type>> Specialized ReadCondition that allows applications to also specify a filter on the data available in a dds::sub::DataReader More...

#include <dds/sub/cond/QueryCondition.hpp>

Inheritance diagram for dds::sub::cond::QueryCondition:
dds::sub::cond::ReadCondition dds::core::cond::Condition

Public Types

typedef DELEGATE::iterator iterator
 Parameter iterator. A random-access iterator of std::string. More...
 
typedef DELEGATE::const_iterator const_iterator
 Parameter iterator. A random-access iterator of std::string. More...
 

Public Member Functions

 QueryCondition (const dds::sub::Query &query, const dds::sub::status::DataState &status)
 Creates a QueryCondition. More...
 
template<typename Functor >
 QueryCondition (const dds::sub::Query &query, const dds::sub::status::DataState &status, const Functor &functor)
 Creates a QueryCondition with a handler. More...
 
std::string expression () const
 Gets the expression. More...
 
dds::core::StringSeq parameters () const
 Gets the parameters. More...
 
template<typename FWIterator >
void parameters (const FWIterator &begin, const FWIterator &end)
 Modifies the query parameters. More...
 
uint32_t parameters_length () const
 Gets the number of parameters. More...
 
void parameters (const dds::core::StringSeq &parameters)
 <<extension>> Set the parameters More...
 
- Public Member Functions inherited from dds::sub::cond::ReadCondition
template<typename T >
 ReadCondition (const dds::sub::DataReader< T > &reader, const dds::sub::status::DataState &status)
 Creates a ReadCondition. More...
 
template<typename T , typename Functor >
 ReadCondition (const dds::sub::DataReader< T > &reader, const dds::sub::status::DataState &status, const Functor &handler)
 Creates a ReadCondition with a handler. More...
 
const dds::sub::status::DataState state_filter () const
 Returns the DataState of this condition. More...
 
const AnyDataReaderdata_reader () const
 Returns the DataReader associated to this condition. More...
 
void close ()
 Closes the ReadCondition. More...
 
bool closed () const
 Indicates whether this ReadCondition has been closed with close(). More...
 
- Public Member Functions inherited from dds::core::cond::Condition
void dispatch ()
 Dispatches the functors that have been registered with the condition. More...
 
bool trigger_value () const
 This operation retrieves the trigger_value of the Condition. More...
 

Additional Inherited Members

Detailed Description

<<reference-type>> Specialized ReadCondition that allows applications to also specify a filter on the data available in a dds::sub::DataReader

Each query condition filter is composed of a dds::sub::cond::ReadCondition state filter and a content filter expressed as a query_expression and query_parameters.

The query (query_expression) is similar to an SQL WHERE clause and can be parameterised by arguments that are dynamically changeable by the set_query_parameters() operation.

Two query conditions that have the same query_expression will require unique query condition content filters if their query_paramters differ. Query conditions that differ only in their state masks will share the same query condition content filter.

Queries and Filters Syntax describes the syntax of query_expression and query_parameters.

See also
Filtering with Query Conditions

Member Typedef Documentation

◆ iterator

typedef DELEGATE::iterator dds::sub::cond::QueryCondition::iterator

Parameter iterator. A random-access iterator of std::string.

◆ const_iterator

typedef DELEGATE::const_iterator dds::sub::cond::QueryCondition::const_iterator

Parameter iterator. A random-access iterator of std::string.

Constructor & Destructor Documentation

◆ QueryCondition() [1/2]

dds::sub::cond::QueryCondition::QueryCondition ( const dds::sub::Query query,
const dds::sub::status::DataState status 
)
inline

Creates a QueryCondition.

Parameters
queryThe query
statusThe sample, view and instance states of interest.
See also
ReadCondition
rti::sub::cond::create_query_condition_ex

◆ QueryCondition() [2/2]

template<typename Functor >
dds::sub::cond::QueryCondition::QueryCondition ( const dds::sub::Query query,
const dds::sub::status::DataState status,
const Functor &  functor 
)
inline

Creates a QueryCondition with a handler.

This constructor is similar to this ReadCondition constructor.

See also
Filtering with Query Conditions for an example on how to use this constructor.

Member Function Documentation

◆ expression()

std::string dds::sub::cond::QueryCondition::expression ( ) const
inline

Gets the expression.

◆ parameters() [1/3]

dds::core::StringSeq dds::sub::cond::QueryCondition::parameters ( ) const
inline

Gets the parameters.

◆ parameters() [2/3]

template<typename FWIterator >
void dds::sub::cond::QueryCondition::parameters ( const FWIterator &  begin,
const FWIterator &  end 
)
inline

Modifies the query parameters.

Template Parameters
FWIteratorA forward iterator whose value type is std::string (or convertible to std::string).
Parameters
beginThe beginning of the range of parameters
endThe end of the range

◆ parameters_length()

uint32_t dds::sub::cond::QueryCondition::parameters_length ( ) const
inline

Gets the number of parameters.

◆ parameters() [3/3]

void parameters ( const dds::core::StringSeq parameters)

<<extension>> Set the parameters

Note
This function is an extension, it must be called via the extensions() member function