Class astutedds::dcps::FilterExpression
ClassList > astutedds > dcps > FilterExpression
Parsed filter expression.
#include <content_filtered_topic.hpp>
Public Functions
| Type | Name |
|---|---|
| FilterExpression () = default |
|
| FilterExpression (const std::string & expression, const std::vector< std::string > & parameter_names={}) Parse SQL-like filter expression. |
|
| const std::string & | error_message () const Get parse error message if invalid. |
| bool | evaluate (const SampleType & sample, std::function< FilterValue(const SampleType &, const std::string &)> get_field) const Evaluate filter against data sample. |
| const std::string & | expression_string () const Get the original expression string. |
| bool | is_valid () const Check if expression is valid. |
| const std::vector< std::string > & | parameters () const Get parameter values. |
| void | set_parameter (size_t index, const std::string & value) Set parameter value. |
Public Functions Documentation
function FilterExpression [1/2]
astutedds::dcps::FilterExpression::FilterExpression () = default
function FilterExpression [2/2]
Parse SQL-like filter expression.
explicit astutedds::dcps::FilterExpression::FilterExpression (
const std::string & expression,
const std::vector< std::string > & parameter_names={}
)
Parameters:
expressionFilter expression string (e.g., "x > 5 AND color = 'RED'")parameter_namesNames for %0, %1 style parameters
Exception:
std::invalid_argumentif expression is invalid
function error_message
Get parse error message if invalid.
inline const std::string & astutedds::dcps::FilterExpression::error_message () const
function evaluate
Evaluate filter against data sample.
template<typename SampleType>
bool astutedds::dcps::FilterExpression::evaluate (
const SampleType & sample,
std::function< FilterValue (const SampleType &, const std::string &)> get_field
) const
Parameters:
get_fieldFunction to get field value from sample
Returns:
true if sample passes filter
function expression_string
Get the original expression string.
inline const std::string & astutedds::dcps::FilterExpression::expression_string () const
function is_valid
Check if expression is valid.
inline bool astutedds::dcps::FilterExpression::is_valid () const
function parameters
Get parameter values.
inline const std::vector< std::string > & astutedds::dcps::FilterExpression::parameters () const
function set_parameter
Set parameter value.
void astutedds::dcps::FilterExpression::set_parameter (
size_t index,
const std::string & value
)
Parameters:
indexParameter index (0-based)valueNew value
The documentation for this class was generated from the following file include/astutedds/dcps/content_filtered_topic.hpp