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
Classes | Namespaces | Typedefs | Functions
interpreter.h File Reference
#include "src/interpreter/abstractvisitor.h"
#include "jmespath/types.h"
#include "src/ast/expressionnode.h"
#include "src/ast/functionexpressionnode.h"
#include <functional>
#include <tuple>
#include <unordered_map>
#include <boost/variant.hpp>

Go to the source code of this file.

Classes

class  jmespath::interpreter::Interpreter
 The Interpreter class evaluates the AST structure on a Json context. More...
 

Namespaces

 jmespath
 The top level namespace which contains the public functions of the library.
 
 jmespath::ast
 Classes which represent the AST nodes.
 
 jmespath::interpreter
 Classes for interpreting the AST of the JMESPath expression.
 

Typedefs

using jmespath::interpreter::JsonRef = std::reference_wrapper< const Json >
 Copyable and assignable reference to a constant Json value. More...
 
using jmespath::interpreter::ContextValue = boost::variant< Json, JsonRef >
 Evaluation context type. More...
 

Functions

Json && jmespath::interpreter::assignContextValue (Json &&value)
 Convert the given value to something assignable to a ContextValue variable. More...
 
JsonRef jmespath::interpreter::assignContextValue (const Json &value)
 Convert the given value to something assignable to a ContextValue variable. More...
 
const Json & jmespath::interpreter::getJsonValue (const ContextValue &contextValue)
 Extract the Json value held by the given value. More...