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:

  • expression Filter expression string (e.g., "x > 5 AND color = 'RED'")
  • parameter_names Names for %0, %1 style parameters

Exception:

  • std::invalid_argument if 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_field Function 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:

  • index Parameter index (0-based)
  • value New value


The documentation for this class was generated from the following file include/astutedds/dcps/content_filtered_topic.hpp