Robot Raconteur Core C++ Library
Loading...
Searching...
No Matches
RobotRaconteur::ServiceSubscriptionFilterAttributeGroup Class Reference

Subscription filter attribute group for use with ServiceSubscriptionFilter. More...

#include <Subscription.h>

Public Member Functions

 ServiceSubscriptionFilterAttributeGroup ()
 Construct a new Service Subscription Filter Attribute Group object.
 ServiceSubscriptionFilterAttributeGroup (ServiceSubscriptionFilterAttributeGroupOperation operation)
 Construct a new Service Subscription Filter Attribute Group object.
 ServiceSubscriptionFilterAttributeGroup (ServiceSubscriptionFilterAttributeGroupOperation operation, std::vector< ServiceSubscriptionFilterAttribute > attributes)
 Construct a new Service Subscription Filter Attribute Group object.
 ServiceSubscriptionFilterAttributeGroup (ServiceSubscriptionFilterAttributeGroupOperation operation, std::vector< ServiceSubscriptionFilterAttributeGroup > groups)
 Construct a new Service Subscription Filter Attribute Group object.
bool IsMatch (boost::string_ref value) const
 Compare the group to a value.
bool IsMatch (boost::intrusive_ptr< RRArray< char > > &value) const
 Compare the group to a value.
bool IsMatch (const std::vector< std::string > &values) const
 Compare the group to a list of values.
bool IsMatch (const boost::intrusive_ptr< RRList< RRValue > > &values) const
 Compare the group to a list of values.
bool IsMatch (const boost::intrusive_ptr< RRMap< std::string, RRValue > > &values) const
 Compare the group to a map of values.
bool IsMatch (const std::map< std::string, std::string > &values) const
 Compare the group to a map of values.

Public Attributes

std::vector< ServiceSubscriptionFilterAttributeAttributes
 The attributes in the group.
std::vector< ServiceSubscriptionFilterAttributeGroupGroups
 The nested groups in the group.
ServiceSubscriptionFilterAttributeGroupOperation Operation
 The operation to use for matching the attributes and groups.
bool SplitStringAttribute
 True if string attributes will be split into a list with delimiter (default ",").
char SplitStringDelimiter
 Delimiter to use to split string attributes (default ",").

Detailed Description

Subscription filter attribute group for use with ServiceSubscriptionFilter.

Used to combine multiple ServiceSubscriptionFilterAttribute objects for comparison using AND, OR, NOR, or NAND logic. Other groups can be nested, to allow for complex comparisons.

Constructor & Destructor Documentation

◆ ServiceSubscriptionFilterAttributeGroup() [1/3]

RobotRaconteur::ServiceSubscriptionFilterAttributeGroup::ServiceSubscriptionFilterAttributeGroup ( ServiceSubscriptionFilterAttributeGroupOperation operation)

Construct a new Service Subscription Filter Attribute Group object.

Parameters
operationThe operation to use for matching the attributes and groups

◆ ServiceSubscriptionFilterAttributeGroup() [2/3]

RobotRaconteur::ServiceSubscriptionFilterAttributeGroup::ServiceSubscriptionFilterAttributeGroup ( ServiceSubscriptionFilterAttributeGroupOperation operation,
std::vector< ServiceSubscriptionFilterAttribute > attributes )

Construct a new Service Subscription Filter Attribute Group object.

Parameters
operationThe operation to use for matching the attributes and groups
attributesThe attributes in the group

◆ ServiceSubscriptionFilterAttributeGroup() [3/3]

RobotRaconteur::ServiceSubscriptionFilterAttributeGroup::ServiceSubscriptionFilterAttributeGroup ( ServiceSubscriptionFilterAttributeGroupOperation operation,
std::vector< ServiceSubscriptionFilterAttributeGroup > groups )

Construct a new Service Subscription Filter Attribute Group object.

Parameters
operationThe operation to use for matching the attributes and groups
groupsThe nested groups in the group

Member Function Documentation

◆ IsMatch() [1/6]

bool RobotRaconteur::ServiceSubscriptionFilterAttributeGroup::IsMatch ( boost::intrusive_ptr< RRArray< char > > & value) const

Compare the group to a value.

Parameters
valueThe value to compare
Returns
true
false

◆ IsMatch() [2/6]

bool RobotRaconteur::ServiceSubscriptionFilterAttributeGroup::IsMatch ( boost::string_ref value) const

Compare the group to a value.

Parameters
valueThe value to compare
Returns
true
false

◆ IsMatch() [3/6]

bool RobotRaconteur::ServiceSubscriptionFilterAttributeGroup::IsMatch ( const boost::intrusive_ptr< RRList< RRValue > > & values) const

Compare the group to a list of values.

Parameters
valuesThe values to compare
Returns
true
false

◆ IsMatch() [4/6]

bool RobotRaconteur::ServiceSubscriptionFilterAttributeGroup::IsMatch ( const boost::intrusive_ptr< RRMap< std::string, RRValue > > & values) const

Compare the group to a map of values.

Parameters
valuesThe values to compare
Returns
true
false

◆ IsMatch() [5/6]

bool RobotRaconteur::ServiceSubscriptionFilterAttributeGroup::IsMatch ( const std::map< std::string, std::string > & values) const

Compare the group to a map of values.

Parameters
valuesThe values to compare
Returns
true
false

◆ IsMatch() [6/6]

bool RobotRaconteur::ServiceSubscriptionFilterAttributeGroup::IsMatch ( const std::vector< std::string > & values) const

Compare the group to a list of values.

Parameters
valuesThe values to compare
Returns
true
false

The documentation for this class was generated from the following file: