ADTF  3.18.2
Path

Experimental and untested: represents a "path" to access a node. More...

Public Member Functions

 Path (const JSONCPP_STRING &path, const PathArgument &a1=PathArgument(), const PathArgument &a2=PathArgument(), const PathArgument &a3=PathArgument(), const PathArgument &a4=PathArgument(), const PathArgument &a5=PathArgument())
 
const Valueresolve (const Value &root) const
 
Value resolve (const Value &root, const Value &defaultValue) const
 
Valuemake (Value &root) const
 Creates the "path" to access the specified node and returns a reference on the node.
 

Private Types

typedef std::vector< const PathArgument * > InArgs
 
typedef std::vector< PathArgumentArgs
 

Private Member Functions

void makePath (const JSONCPP_STRING &path, const InArgs &in)
 
void addPathInArg (const JSONCPP_STRING &path, const InArgs &in, InArgs::const_iterator &itInArg, PathArgument::Kind kind)
 
void invalidPath (const JSONCPP_STRING &path, int location)
 

Private Attributes

Args args_
 

Detailed Description

Experimental and untested: represents a "path" to access a node.

Syntax:

  • "." => root node
  • ".[n]" => elements at index 'n' of root node (an array value)
  • ".name" => member named 'name' of root node (an object value)
  • ".name1.name2.name3"
  • ".[0][1][2].name1[3]"
  • ".%" => member name is provided as parameter
  • ".[%]" => index is provied as parameter

Definition at line 677 of file value.h.