IOSS 2.0

Public Member Functions | Private Types | Private Member Functions | Private Attributes | List of all members
Json::Path Class Reference

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

`#include <json.h>`

## Public Member Functions
| 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 Value & | resolve (const Value &root) const
Value | resolve (const Value &root, const Value &defaultValue) const
Value & | make (Value &root) const

## Private Types
typedef std::vector< const PathArgument * > | InArgs
typedef std::vector< PathArgument > | Args

## Private Member Functions
void | makePath (const std::string &path, const InArgs &in)
void | addPathInArg (const std::string &path, const InArgs &in, InArgs::const_iterator &itInArg, PathArgument::Kind kind)
void | invalidPath (const std::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

## Member Typedef Documentation

## ◆ Args

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

## ◆ InArgs

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

## Constructor & Destructor Documentation

## ◆ Path()

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

## ◆ addPathInArg()

void Json::Path::addPathInArg | ( | const std::string & | path,
|  | const InArgs & | in,
|  | InArgs::const_iterator & | itInArg,
|  | PathArgument::Kind | kind
| ) |  |
| private

## ◆ invalidPath()

void Json::Path::invalidPath | ( | const std::string & | path,
|  | int | location
| ) |  |
| private

## ◆ make()

Value& Json::Path::make | ( | Value & | root | ) | const

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

## ◆ makePath()

void Json::Path::makePath | ( | const std::string & | path,
|  | const InArgs & | in
| ) |  |
| private

## ◆ resolve() [1/2]

const Value& Json::Path::resolve | ( | const Value & | root | ) | const

## ◆ resolve() [2/2]

Value Json::Path::resolve | ( | const Value & | root,
|  | const Value & | defaultValue
| ) |  | const

## Member Data Documentation

## ◆ args_

Args Json::Path::args_
| private

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

- src/visualization/ParaViewCatalystIossAdapter/parser/jsoncpp-master/dist/json/json.h