28 #ifndef SLICEEXPRESSIONNODE_H
29 #define SLICEEXPRESSIONNODE_H
33 #include <boost/fusion/include/adapt_struct.hpp>
34 #include <boost/optional.hpp>
36 namespace jmespath {
namespace ast {
54 const IndexType& stepIndex = boost::none);
83 BOOST_FUSION_ADAPT_STRUCT(
89 #endif // SLICEEXPRESSIONNODE_H
boost::optional< Index > IndexType
Definition: sliceexpressionnode.h:44
The SliceExpressionNode class represents a JMESPath slice expression.
Definition: sliceexpressionnode.h:41
IndexType step
Step index.
Definition: sliceexpressionnode.h:79
bool operator==(const SliceExpressionNode &other) const
Equality compares this node to the other.
Definition: sliceexpressionnode.cpp:48
IndexType start
Inclusive start index.
Definition: sliceexpressionnode.h:71
void accept(interpreter::AbstractVisitor *visitor) const override
Calls the visit method of the given visitor with the dynamic type of the node.
Definition: sliceexpressionnode.cpp:43
SliceExpressionNode(const IndexType &startIndex=boost::none, const IndexType &stopIndex=boost::none, const IndexType &stepIndex=boost::none)
Constructs a SliceExpressionNode object with the given index values.
Definition: sliceexpressionnode.cpp:33
The AbstractVisitor class is an interface which defines the member functions required to visit every ...
Definition: abstractvisitor.h:71
IndexType stop
Exclusive end index.
Definition: sliceexpressionnode.h:75
The AbstractNode class is the common interface class for all AST node types.
Definition: abstractnode.h:45