jmespath.cpp
C++ implementation of JMESPath, a query language for JSON http://jmespath.org
|
The top level namespace which contains the public functions of the library. More...
Namespaces | |
ast | |
Classes which represent the AST nodes. | |
interpreter | |
Classes for interpreting the AST of the JMESPath expression. | |
literals | |
User defined literals. | |
parser | |
Classes required for parsing JMESPath expressions. | |
Classes | |
struct | Exception |
The Exception struct is the common base class for for all the exceptions thrown by the library. More... | |
struct | SyntaxError |
The SyntaxError struct represents a syntax error in the evaluated expression. More... | |
struct | InvalidAgrument |
The InvalidAgrument struct signals a function call with illegal arguments. More... | |
struct | InvalidValue |
The InvalidValue struct represents an invalid value in the JMESPath expression. More... | |
struct | UnknownFunction |
The UnknownFunction struct represents a call to a JMESPath built in function which doesn't exists. More... | |
struct | InvalidFunctionArgumentArity |
The InvalidFunctionArgumentArity struct signals the a JMESPath built in function was called with an unexpected number of arguments. More... | |
struct | InvalidFunctionArgumentType |
The InvalidFunctionArgumentType struct represents a call to a JMESPath built in function with an unexpected type of argument. More... | |
class | Expression |
The Expression class represents a JMESPath expression. More... | |
Typedefs | |
using | InfoSearchExpression = boost::error_info< struct tag_search_expression, std::string > |
InfoSearchExpression contains the JMESPath expression being evaluated. More... | |
using | InfoSyntaxErrorLocation = boost::error_info< struct tag_syntax_error_location, long > |
InfoSyntaxErrorLocation contains the location of the syntax error in the JMESPath expression. More... | |
using | InfoFunctionName = boost::error_info< struct tag_function_name, std::string > |
InfoFunctionName contains the name of the built in JMESpath function. More... | |
using | Char = char |
8 bit character type More... | |
using | String = std::basic_string< Char > |
UTF-8 encoded string type. More... | |
using | UnicodeChar = char32_t |
32 bit character type More... | |
using | UnicodeString = std::basic_string< UnicodeChar > |
UTF-32 encoded string type. More... | |
using | UnicodeIteratorAdaptor = boost::u8_to_u32_iterator< String::const_iterator > |
UTF-32 string iterator adaptor. More... | |
using | StringIteratorAdaptor = boost::u32_to_u8_iterator< UnicodeString::const_iterator > |
UTF-8 string iterator adaptor. More... | |
using | Json = nlohmann::json |
JSON data type. More... | |
using | Index = boost::multiprecision::number< boost::multiprecision::cpp_int_backend< std::numeric_limits< size_t >::digits, std::numeric_limits< size_t >::digits, boost::multiprecision::signed_magnitude, boost::multiprecision::checked, void > > |
Signed integer type that can hold all values in the range of numeric_limits<size_t>::max() * -1 ... numeric_limits<size_t>::max() More... | |
Functions | |
template<typename JsonT > | |
std::enable_if_t< std::is_same < std::decay_t< JsonT >, Json > ::value, Json > | search (const Expression &expression, JsonT &&document) |
Finds or creates the results for the expression evaluated on the given document. More... | |
template Json | search< const Json & > (const Expression &, const Json &) |
Explicit instantiation declaration for Search function to prevent implicit instantiation in client code. More... | |
template Json | search< Json & > (const Expression &, Json &) |
Explicit instantiation declaration for Search function to prevent implicit instantiation in client code. More... | |
template Json | search< Json > (const Expression &, Json &&) |
Explicit instantiation declaration for Search function to prevent implicit instantiation in client code. More... | |
The top level namespace which contains the public functions of the library.
using jmespath::Char = typedef char |
8 bit character type
using jmespath::Index = typedef boost::multiprecision::number< boost::multiprecision::cpp_int_backend< std::numeric_limits<size_t>::digits, std::numeric_limits<size_t>::digits, boost::multiprecision::signed_magnitude, boost::multiprecision::checked, void> > |
Signed integer type that can hold all values in the range of numeric_limits<size_t>::max() * -1 ... numeric_limits<size_t>::max()
using jmespath::Json = typedef nlohmann::json |
JSON data type.
using jmespath::String = typedef std::basic_string<Char> |
UTF-8 encoded string type.
using jmespath::StringIteratorAdaptor = typedef boost::u32_to_u8_iterator<UnicodeString::const_iterator> |
UTF-8 string iterator adaptor.
using jmespath::UnicodeChar = typedef char32_t |
32 bit character type
using jmespath::UnicodeIteratorAdaptor = typedef boost::u8_to_u32_iterator<String::const_iterator> |
UTF-32 string iterator adaptor.
using jmespath::UnicodeString = typedef std::basic_string<UnicodeChar> |
UTF-32 encoded string type.
template Json jmespath::search< const Json & > | ( | const Expression & | , |
const Json & | |||
) |
Explicit instantiation declaration for Search function to prevent implicit instantiation in client code.
template Json jmespath::search< Json & > | ( | const Expression & | , |
Json & | |||
) |
Explicit instantiation declaration for Search function to prevent implicit instantiation in client code.
template Json jmespath::search< Json > | ( | const Expression & | , |
Json && | |||
) |
Explicit instantiation declaration for Search function to prevent implicit instantiation in client code.