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
List of all members
jmespath::parser::LeftChildExtractor Class Reference

The LeftChildExtractor class is a functor that extracts the child expression node from the given node which should be evaluated before the given node itself. More...

#include <leftchildextractor.h>

Inheritance diagram for jmespath::parser::LeftChildExtractor:

Public Member Functions

ast::ExpressionNodeoperator() (ast::ExpressionNode *node) const
 Returns a pointer to the child expression node of the given node or nullptr if the node doesn't has a suitable child node. More...
 
template<typename T >
ast::ExpressionNodeoperator() (T &node) const
 Returns a pointer to the child expression node of the given node or nullptr if the node doesn't has a suitable child node. More...
 
template<typename T , typename std::enable_if< !std::is_base_of< ast::BinaryExpressionNode, T >::value &&!std::is_same< ast::NotExpressionNode, T >::value, int >::type = 0>
ast::ExpressionNodechildNode (T *) const
 Returns a pointer to the child expression node of the given node or nullptr if the node doesn't has a suitable child node. More...
 
template<typename T , typename std::enable_if< !std::is_base_of< ast::BinaryExpressionNode, T >::value &&std::is_same< ast::NotExpressionNode, T >::value, int >::type = 0>
ast::ExpressionNodechildNode (T *node) const
 Returns a pointer to the child expression node of the given node or nullptr if the node doesn't has a suitable child node. More...
 
template<typename T , typename std::enable_if< std::is_base_of< ast::BinaryExpressionNode, T >::value, int >::type = 0>
ast::ExpressionNodechildNode (T *node) const
 Returns a pointer to the child expression node of the given node or nullptr if the node doesn't has a suitable child node. More...
 

Detailed Description

The LeftChildExtractor class is a functor that extracts the child expression node from the given node which should be evaluated before the given node itself.

Member Function Documentation

template<typename T , typename std::enable_if< !std::is_base_of< ast::BinaryExpressionNode, T >::value &&!std::is_same< ast::NotExpressionNode, T >::value, int >::type = 0>
ast::ExpressionNode* jmespath::parser::LeftChildExtractor::childNode ( T *  ) const
inline

Returns a pointer to the child expression node of the given node or nullptr if the node doesn't has a suitable child node.

Parameters
[in]nodeThe node whose child node should be extracted.
template<typename T , typename std::enable_if< !std::is_base_of< ast::BinaryExpressionNode, T >::value &&std::is_same< ast::NotExpressionNode, T >::value, int >::type = 0>
ast::ExpressionNode* jmespath::parser::LeftChildExtractor::childNode ( T *  node) const
inline

Returns a pointer to the child expression node of the given node or nullptr if the node doesn't has a suitable child node.

Parameters
[in]nodeThe node whose child node should be extracted.
template<typename T , typename std::enable_if< std::is_base_of< ast::BinaryExpressionNode, T >::value, int >::type = 0>
ast::ExpressionNode* jmespath::parser::LeftChildExtractor::childNode ( T *  node) const
inline

Returns a pointer to the child expression node of the given node or nullptr if the node doesn't has a suitable child node.

Parameters
[in]nodeThe node whose child node should be extracted.
ast::ExpressionNode* jmespath::parser::LeftChildExtractor::operator() ( ast::ExpressionNode node) const
inline

Returns a pointer to the child expression node of the given node or nullptr if the node doesn't has a suitable child node.

Parameters
[in]nodeThe node whose child node should be extracted.
template<typename T >
ast::ExpressionNode* jmespath::parser::LeftChildExtractor::operator() ( T &  node) const
inline

Returns a pointer to the child expression node of the given node or nullptr if the node doesn't has a suitable child node.

Parameters
[in]nodeThe node whose child node should be extracted.

The documentation for this class was generated from the following file: