CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Private Types | Private Member Functions | Private Attributes
Json::Path Class Reference

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

#include <value.h>

Public Member Functions

Valuemake (Value &root) const
 Creates the "path" to access the specified node and returns a reference on the node. More...
 
 Path (const std::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
 

Private Types

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

Private Member Functions

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

Private Attributes

Args args_
 

Detailed Description

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

Syntax:

Definition at line 484 of file value.h.

Member Typedef Documentation

typedef std::vector<PathArgument> Json::Path::Args
private

Definition at line 502 of file value.h.

typedef std::vector<const PathArgument *> Json::Path::InArgs
private

Definition at line 501 of file value.h.

Constructor & Destructor Documentation

Json::Path::Path ( const std::string &  path,
const PathArgument a1 = PathArgument(),
const PathArgument a2 = PathArgument(),
const PathArgument a3 = PathArgument(),
const PathArgument a4 = PathArgument(),
const PathArgument a5 = PathArgument() 
)

Member Function Documentation

void Json::Path::addPathInArg ( const std::string &  path,
const InArgs in,
InArgs::const_iterator &  itInArg,
PathArgument::Kind  kind 
)
private
void Json::Path::invalidPath ( const std::string &  path,
int  location 
)
private
Value& Json::Path::make ( Value root) const

Creates the "path" to access the specified node and returns a reference on the node.

void Json::Path::makePath ( const std::string &  path,
const InArgs in 
)
private
const Value& Json::Path::resolve ( const Value root) const
Value Json::Path::resolve ( const Value root,
const Value defaultValue 
) const

Member Data Documentation

Args Json::Path::args_
private