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

The NodeInsertPolicy class is a functor for inserting a given node into the AST. More...

#include <nodeinsertpolicy.h>

Public Types

using result_type = void
 The result type of the functor. More...
 

Public Member Functions

template<typename T , typename std::enable_if< std::is_base_of< ast::BinaryExpressionNode, T >::value &&!std::is_same< ast::SubexpressionNode, T >::value, int >::type = 0>
void operator() (ast::ExpressionNode &targetNode, T &node) const
 Inserts the given node into the AST at the location of the targetNode. More...
 
template<typename T , typename std::enable_if< std::is_same< ast::NotExpressionNode, T >::value, int >::type = 0>
void operator() (ast::ExpressionNode &targetNode, T &node) const
 Inserts the given node into the AST at the location of the targetNode. More...
 
template<typename T , typename std::enable_if< (!std::is_base_of< ast::BinaryExpressionNode, T >::value &&!std::is_same< ast::NotExpressionNode, T >::value &&std::is_assignable< ast::ExpressionNode, T >::value)||std::is_same< ast::SubexpressionNode, T >::value, int >::type = 0>
void operator() (ast::ExpressionNode &targetNode, T &node) const
 Inserts the given node into the AST at the location of the targetNode. More...
 

Detailed Description

The NodeInsertPolicy class is a functor for inserting a given node into the AST.

Member Typedef Documentation

The result type of the functor.

Member Function Documentation

template<typename T , typename std::enable_if< std::is_base_of< ast::BinaryExpressionNode, T >::value &&!std::is_same< ast::SubexpressionNode, T >::value, int >::type = 0>
void jmespath::parser::NodeInsertPolicy::operator() ( ast::ExpressionNode targetNode,
T &  node 
) const
inline

Inserts the given node into the AST at the location of the targetNode.

Parameters
[in]targetNodeThe node located where node should be inserted.
[in]nodeThe node that will be inserted.
template<typename T , typename std::enable_if< std::is_same< ast::NotExpressionNode, T >::value, int >::type = 0>
void jmespath::parser::NodeInsertPolicy::operator() ( ast::ExpressionNode targetNode,
T &  node 
) const
inline

Inserts the given node into the AST at the location of the targetNode.

Parameters
[in]targetNodeThe node located where node should be inserted.
[in]nodeThe node that will be inserted.
template<typename T , typename std::enable_if< (!std::is_base_of< ast::BinaryExpressionNode, T >::value &&!std::is_same< ast::NotExpressionNode, T >::value &&std::is_assignable< ast::ExpressionNode, T >::value)||std::is_same< ast::SubexpressionNode, T >::value, int >::type = 0>
void jmespath::parser::NodeInsertPolicy::operator() ( ast::ExpressionNode targetNode,
T &  node 
) const
inline

Inserts the given node into the AST at the location of the targetNode.

Parameters
[in]targetNodeThe node located where node should be inserted.
[in]nodeThe node that will be inserted.

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