28 #ifndef EXPRESSIONNODE_H
29 #define EXPRESSIONNODE_H
32 #include <boost/variant.hpp>
33 #include <boost/fusion/include/adapt_struct.hpp>
35 namespace jmespath {
namespace ast {
40 class SubexpressionNode;
41 class IndexExpressionNode;
42 class HashWildcardNode;
43 class MultiselectListNode;
44 class MultiselectHashNode;
45 class NotExpressionNode;
46 class ComparatorExpressionNode;
47 class OrExpressionNode;
48 class AndExpressionNode;
49 class ParenExpressionNode;
50 class PipeExpressionNode;
52 class FunctionExpressionNode;
57 boost::recursive_wrapper<IdentifierNode>,
58 boost::recursive_wrapper<RawStringNode>,
59 boost::recursive_wrapper<LiteralNode>,
60 boost::recursive_wrapper<SubexpressionNode>,
61 boost::recursive_wrapper<IndexExpressionNode>,
62 boost::recursive_wrapper<HashWildcardNode>,
63 boost::recursive_wrapper<MultiselectListNode>,
64 boost::recursive_wrapper<MultiselectHashNode>,
65 boost::recursive_wrapper<NotExpressionNode>,
66 boost::recursive_wrapper<ComparatorExpressionNode>,
67 boost::recursive_wrapper<OrExpressionNode>,
68 boost::recursive_wrapper<AndExpressionNode>,
69 boost::recursive_wrapper<ParenExpressionNode>,
70 boost::recursive_wrapper<PipeExpressionNode>,
71 boost::recursive_wrapper<CurrentNode>,
72 boost::recursive_wrapper<FunctionExpressionNode> >
108 BOOST_FUSION_ADAPT_STRUCT(
112 #endif // EXPRESSIONNODE_H
virtual ~ExpressionNode()
Destroys the ExpressionNode object.
Definition: expressionnode.cpp:37
jmespath::ast::VariantNode< boost::recursive_wrapper< IdentifierNode >, boost::recursive_wrapper< RawStringNode >, boost::recursive_wrapper< LiteralNode >, boost::recursive_wrapper< SubexpressionNode >, boost::recursive_wrapper< IndexExpressionNode >, boost::recursive_wrapper< HashWildcardNode >, boost::recursive_wrapper< MultiselectListNode >, boost::recursive_wrapper< MultiselectHashNode >, boost::recursive_wrapper< NotExpressionNode >, boost::recursive_wrapper< ComparatorExpressionNode >, boost::recursive_wrapper< OrExpressionNode >, boost::recursive_wrapper< AndExpressionNode >, boost::recursive_wrapper< ParenExpressionNode >, boost::recursive_wrapper< PipeExpressionNode >, boost::recursive_wrapper< CurrentNode >, boost::recursive_wrapper< FunctionExpressionNode > >::ValueType boost::variant< boost::blank, VariantT...> ValueType
The internal variant type which stores the nodes defined in VariantT or boost::blank if it's empty...
Definition: variantnode.h:49
ExpressionNode()
Constructs an empty ExpressionNode object.
Definition: expressionnode.cpp:32
The VariantNode class serves as a container node which can represent either one of the node types spe...
Definition: variantnode.h:42
The ExpressionNode class represents a JMESPath expression.
Definition: expressionnode.h:56
ExpressionNode & operator=(const ExpressionNode &other)
Assigns the other object to this object.
Definition: expressionnode.cpp:46