OpenDDS  Snapshot(2023/04/28-20:55)
Public Member Functions | Protected Member Functions | Static Private Member Functions | List of all members
OpenDDS::DCPS::FilterEvaluator::EvalNode Class Referenceabstract
Inheritance diagram for OpenDDS::DCPS::FilterEvaluator::EvalNode:
Inheritance graph
[legend]

Public Member Functions

void addChild (EvalNode *n)
 
virtual ~EvalNode ()
 
virtual bool has_non_key_fields (const TypeSupportImpl &ts) const
 
virtual Value eval (DataForEval &data)=0
 

Protected Member Functions

 OPENDDS_VECTOR (EvalNode *) children_
 

Static Private Member Functions

static void deleteChild (EvalNode *child)
 

Detailed Description

Definition at line 75 of file FilterEvaluator.cpp.

Constructor & Destructor Documentation

◆ ~EvalNode()

virtual OpenDDS::DCPS::FilterEvaluator::EvalNode::~EvalNode ( )
inlinevirtual

Definition at line 82 of file FilterEvaluator.cpp.

83  {
84  std::for_each(children_.begin(), children_.end(), deleteChild);
85  }
static void deleteChild(EvalNode *child)

Member Function Documentation

◆ addChild()

void OpenDDS::DCPS::FilterEvaluator::EvalNode::addChild ( EvalNode n)
inline

Definition at line 77 of file FilterEvaluator.cpp.

78  {
79  children_.push_back(n);
80  }

◆ deleteChild()

static void OpenDDS::DCPS::FilterEvaluator::EvalNode::deleteChild ( EvalNode child)
inlinestaticprivate

Definition at line 101 of file FilterEvaluator.cpp.

References OpenDDS::DCPS::child(), and OpenDDS::DCPS::FilterEvaluator::OPENDDS_VECTOR().

102  {
103  delete child;
104  }
static FilterEvaluator::AstNodeWrapper child(const FilterEvaluator::AstNodeWrapper &node, size_t idx)

◆ eval()

virtual Value OpenDDS::DCPS::FilterEvaluator::EvalNode::eval ( DataForEval data)
pure virtual

◆ has_non_key_fields()

virtual bool OpenDDS::DCPS::FilterEvaluator::EvalNode::has_non_key_fields ( const TypeSupportImpl ts) const
inlinevirtual

Definition at line 87 of file FilterEvaluator.cpp.

References OpenDDS::DCPS::child(), OpenDDS::DCPS::FilterEvaluator::eval(), has_non_key_fields(), and OpenDDS::DCPS::FilterEvaluator::OPENDDS_VECTOR().

Referenced by has_non_key_fields(), and OpenDDS::DCPS::FilterEvaluator::has_non_key_fields().

88  {
89  for (OPENDDS_VECTOR(EvalNode*)::const_iterator i = children_.begin(); i != children_.end(); ++i) {
90  EvalNode* child = *i;
91  if (child->has_non_key_fields(ts)) {
92  return true;
93  }
94  }
95  return false;
96  }
static FilterEvaluator::AstNodeWrapper child(const FilterEvaluator::AstNodeWrapper &node, size_t idx)

◆ OPENDDS_VECTOR()

OpenDDS::DCPS::FilterEvaluator::EvalNode::OPENDDS_VECTOR ( EvalNode )
protected

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