28 #ifndef BRACKETSPECIFIERNODE_H
29 #define BRACKETSPECIFIERNODE_H
31 #include <boost/fusion/include/adapt_struct.hpp>
33 namespace jmespath {
namespace ast {
36 class FlattenOperatorNode;
37 class SliceExpressionNode;
38 class ListWildcardNode;
39 class FilterExpressionNode;
45 boost::recursive_wrapper<ArrayItemNode>,
46 boost::recursive_wrapper<FlattenOperatorNode>,
47 boost::recursive_wrapper<SliceExpressionNode>,
48 boost::recursive_wrapper<ListWildcardNode>,
49 boost::recursive_wrapper<FilterExpressionNode> >
84 BOOST_FUSION_ADAPT_STRUCT(
88 #endif // BRACKETSPECIFIERNODE_H
The BracketSpecifierNode class represents a JMESPath bracket specifier.
Definition: bracketspecifiernode.h:44
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
bool stopsProjection() const
Reports whether the node should stop an ongoing projection or not.
Definition: bracketspecifiernode.cpp:49
virtual void anchor()
A virtual function used to pin vtable to a transaltion unit.
Definition: bracketspecifiernode.cpp:54
bool isProjection() const
Returns whather this expression requires the projection of subsequent expressions.
Definition: bracketspecifiernode.cpp:43
The VariantNode class serves as a container node which can represent either one of the node types spe...
Definition: variantnode.h:42
BracketSpecifierNode()
Constructs an empty BracketSpecifierNode object.
Definition: bracketspecifiernode.cpp:33