jmespath.cpp
C++ implementation of JMESPath, a query language for JSON http://jmespath.org
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
Class Hierarchy
This inheritance list is sorted roughly, but not completely, alphabetically:
[detail level 123]
oCjmespath::ast::AbstractNodeCommon interface class for all AST node types
|oCjmespath::ast::ArrayItemNodeJMESPath array index expression
|oCjmespath::ast::BinaryExpressionNodeBase class for all node types which consist of a left and a right hand side expression
||oCjmespath::ast::AndExpressionNodeJMESPath and expression
||oCjmespath::ast::ComparatorExpressionNodeJMESPath comparator expression
||oCjmespath::ast::HashWildcardNodeJMESPath hash wildcard expression
||oCjmespath::ast::IndexExpressionNodeJMESPath index expression
||oCjmespath::ast::OrExpressionNodeJMESPath or expression
||oCjmespath::ast::PipeExpressionNodeJMESPath pipe expression
||\Cjmespath::ast::SubexpressionNodeJMESPath subexpression
|oCjmespath::ast::CurrentNodeJMESPath current node expression
|oCjmespath::ast::ExpressionArgumentNodeJMESPath expression argument
|oCjmespath::ast::FilterExpressionNodeJMESPath filter expression
|oCjmespath::ast::FlattenOperatorNodeJMESPath flatten operator
|oCjmespath::ast::FunctionExpressionNodeJMESPath function expression
|oCjmespath::ast::IdentifierNodeJMESPath identifier
|oCjmespath::ast::ListWildcardNodeJMESPath list wildcard expression
|oCjmespath::ast::LiteralNodeJMESPath literal string
|oCjmespath::ast::MultiselectHashNodeJMESPath multiselect hash expression
|oCjmespath::ast::MultiselectListNodeJMESPath list wildcard expression
|oCjmespath::ast::NotExpressionNodeJMESPath not expression
|oCjmespath::ast::ParenExpressionNodeJMESPath paren expression
|oCjmespath::ast::RawStringNodeJMESPath raw string literal
|oCjmespath::ast::SliceExpressionNodeJMESPath slice expression
|oCjmespath::ast::VariantNode< VariantT >The VariantNode class serves as a container node which can represent either one of the node types specified in the classes template argument list
|oCjmespath::ast::VariantNode< boost::recursive_wrapper< ArrayItemNode >, boost::recursive_wrapper< FlattenOperatorNode >, boost::recursive_wrapper< SliceExpressionNode >, boost::recursive_wrapper< ListWildcardNode >, boost::recursive_wrapper< FilterExpressionNode > >
||\Cjmespath::ast::BracketSpecifierNodeJMESPath bracket specifier
|\Cjmespath::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 > >
| \Cjmespath::ast::ExpressionNodeJMESPath expression
oCjmespath::interpreter::AbstractVisitorInterface which defines the member functions required to visit every type of AST node
|\Cjmespath::interpreter::InterpreterEvaluates the AST structure on a Json context
oCjmespath::parser::AppendEscapeSequenceActionFunctor for appending UTF-32 an escape sequence, consisting from a pair of UTF-32 characters, to a UTF-8 encoded strings
oCjmespath::parser::AppendUtf8ActionFunctor for appending UTF-32 characters to UTF-8 encoded strings
oCjmespath::parser::EncodeSurrogatePairActionFunctor for encoding surrogate pair characters in UTF-32
oCexception
|\Cjmespath::ExceptionThe Exception struct is the common base class for for all the exceptions thrown by the library
| oCjmespath::InvalidAgrumentThe InvalidAgrument struct signals a function call with illegal arguments
| oCjmespath::InvalidFunctionArgumentArityThe InvalidFunctionArgumentArity struct signals the a JMESPath built in function was called with an unexpected number of arguments
| oCjmespath::InvalidFunctionArgumentTypeThe InvalidFunctionArgumentType struct represents a call to a JMESPath built in function with an unexpected type of argument
| oCjmespath::InvalidValueThe InvalidValue struct represents an invalid value in the JMESPath expression
| oCjmespath::SyntaxErrorThe SyntaxError struct represents a syntax error in the evaluated expression
| \Cjmespath::UnknownFunctionThe UnknownFunction struct represents a call to a JMESPath built in function which doesn't exists
oCexception
|\Cjmespath::ExceptionThe Exception struct is the common base class for for all the exceptions thrown by the library
oCjmespath::ExpressionJMESPath expression
oCjmespath::Expression::ExpressionDeleterThe ExpressionDeleter struct is a custom destruction policy for deleting ast::ExpressionNode objects
oCgrammar
|\Cjmespath::parser::Grammar< Iterator, Skipper >The Grammar class contains the PEG rule definition based on the EBNF specifications of JMESPath
oCjmespath::parser::InsertNodeAction< NodeInserterT, NodeInsertConditionT >The InsertNodeAction class is a functor for inserting the given node into the AST whose root node is specified with targetNode
oCiterator
|\Cjmespath::parser::LeftEdgeIteratorForward iterator which can be used to iterate over the ExpressionNode objects along the left edge of the AST
oCjmespath::parser::NodeInsertConditionFunctor that will either yield a true or false result based on whether the given node should be inserted at the location of the targetNode
oCjmespath::parser::NodeInsertPolicyFunctor for inserting a given node into the AST
oCjmespath::parser::Parser< T >The Parser class parses expressions with the specified grammar
\Cstatic_visitor
 oCjmespath::ast::VariantVisitorAdaptorAdapts an AbstractVisitor implementation to the boost::static_visitor interface, so it can be used to visit boost::variant objects
 oCjmespath::interpreter::ContextValueVisitorAdaptor< VisitorT, ForceMove >The ContextValueVisitorAdaptor class adapts a visitor object, which is callable with const lvalue reference of Json and with rvalue reference of Json objects, to ContextValue objects
 \Cjmespath::parser::LeftChildExtractorFunctor that extracts the child expression node from the given node which should be evaluated before the given node itself