Project
Loading...
Searching...
No Matches
o2::framework::expressions::Node Struct Reference

A generic tree node. More...

#include <Expressions.h>

Public Types

using self_t = std::variant< LiteralNode, BindingNode, OpNode, PlaceholderNode, ConditionalNode, ParameterNode >
 variant with possible nodes
 

Public Member Functions

 Node (LiteralNode &&v)
 
 Node (PlaceholderNode &&v)
 
 Node (Node &&n)
 
 Node (BindingNode const &n)
 
 Node (ParameterNode &&p)
 
 Node (ConditionalNode op, Node &&then_, Node &&else_, Node &&condition_)
 
 Node (OpNode op, Node &&l, Node &&r)
 
 Node (OpNode op, Node &&l)
 
 Node (Node const &other)
 

Public Attributes

self_t self
 
size_t index = 0
 
std::unique_ptr< Nodeleft = nullptr
 pointers to children
 
std::unique_ptr< Noderight = nullptr
 
std::unique_ptr< Nodecondition = nullptr
 

Detailed Description

A generic tree node.

Definition at line 192 of file Expressions.h.

Member Typedef Documentation

◆ self_t

using o2::framework::expressions::Node::self_t = std::variant<LiteralNode, BindingNode, OpNode, PlaceholderNode, ConditionalNode, ParameterNode>

variant with possible nodes

Definition at line 247 of file Expressions.h.

Constructor & Destructor Documentation

◆ Node() [1/9]

o2::framework::expressions::Node::Node ( LiteralNode &&  v)
inline

Definition at line 193 of file Expressions.h.

◆ Node() [2/9]

o2::framework::expressions::Node::Node ( PlaceholderNode &&  v)
inline

Definition at line 197 of file Expressions.h.

◆ Node() [3/9]

o2::framework::expressions::Node::Node ( Node &&  n)
inline

Definition at line 201 of file Expressions.h.

◆ Node() [4/9]

o2::framework::expressions::Node::Node ( BindingNode const &  n)
inline

Definition at line 205 of file Expressions.h.

◆ Node() [5/9]

o2::framework::expressions::Node::Node ( ParameterNode &&  p)
inline

Definition at line 209 of file Expressions.h.

◆ Node() [6/9]

o2::framework::expressions::Node::Node ( ConditionalNode  op,
Node &&  then_,
Node &&  else_,
Node &&  condition_ 
)
inline

Definition at line 213 of file Expressions.h.

◆ Node() [7/9]

o2::framework::expressions::Node::Node ( OpNode  op,
Node &&  l,
Node &&  r 
)
inline

Definition at line 219 of file Expressions.h.

◆ Node() [8/9]

o2::framework::expressions::Node::Node ( OpNode  op,
Node &&  l 
)
inline

Definition at line 225 of file Expressions.h.

◆ Node() [9/9]

o2::framework::expressions::Node::Node ( Node const &  other)
inline

Definition at line 231 of file Expressions.h.

Member Data Documentation

◆ condition

std::unique_ptr<Node> o2::framework::expressions::Node::condition = nullptr

Definition at line 253 of file Expressions.h.

◆ index

size_t o2::framework::expressions::Node::index = 0

Definition at line 249 of file Expressions.h.

◆ left

std::unique_ptr<Node> o2::framework::expressions::Node::left = nullptr

pointers to children

Definition at line 251 of file Expressions.h.

◆ right

std::unique_ptr<Node> o2::framework::expressions::Node::right = nullptr

Definition at line 252 of file Expressions.h.

◆ self

self_t o2::framework::expressions::Node::self

Definition at line 248 of file Expressions.h.


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