Ginkgo: gko::config::pnode Class Reference

| Ginkgo Generated from branch based on main. Ginkgo version 1.11.0 A numerical linear algebra library targeting many-core architectures

Loading...
Searching...
No Matches
gko::config::pnode Class Referencefinal

pnode describes a tree of properties. More...

`#include <ginkgo/core/config/property_tree.hpp>`

## Public Types
enum class | tag_t { empty , array , boolean , real , integer , string , map }
| tag_t is the indicator for the current node storage.
using | key_type = std::string
using | map_type = std::map<key_type, pnode>
using | array_type = std::vector<pnode>

## Public Member Functions
| pnode ()
| Default constructor: create an empty node.
| pnode (bool boolean)
| Constructor for bool.
template<typename T, std::enable_if_t< std::is_integral< T >::value > * = nullptr>
| pnode (T integer)
| Constructor for integer with all integer type.
| pnode (const std::string &str)
| Constructor for string.
| pnode (const char *str)
| Constructor for char* (otherwise, it will use bool).
| pnode (double real)
| Constructor for double (and also float).
| pnode (const array_type &array)
| Constructor for array.
| pnode (const map_type &map)
| Constructor for map.
| operator bool () const noexcept
| bool conversion.
bool | operator== (const pnode &rhs) const
| Check whether the representing data of two pnodes are the same.
bool | operator!= (const pnode &rhs) const
| Check whether the representing data of two pnodes are different.
tag_t | get_tag () const
| Get the current node tag.
const array_type & | get_array () const
| Access the array stored in this property node.
const map_type & | get_map () const
| Access the map stored in this property node.
bool | get_boolean () const
| Access the boolean value stored in this property node.
std::int64_t | get_integer () const
double | get_real () const
| Access the real floating point value stored in this property node.
const std::string & | get_string () const
| Access the string stored in this property node.
const pnode & | get (const std::string &key) const
| This function is to access the data under the map.
const pnode & | get (int index) const
| This function is to access the data under the array.

## Detailed Description

pnode describes a tree of properties.

A pnode can either be empty, hold a value (a string, integer, real, or bool), contain an array of pnode., or contain a mapping between strings and pnodes.

## Constructor & Destructor Documentation

## ◆ pnode() [1/7]

gko::config::pnode::pnode | ( | bool | boolean | ) |
| explicit

Constructor for bool.

Parameters

  boolean | the bool type value

## ◆ pnode() [2/7]

template<typename T, std::enable_if_t< std::is_integral< T >::value > *>

gko::config::pnode::pnode | ( | T | integer | ) |
| explicit

Constructor for integer with all integer type.

Template Parameters

  T | input type

Parameters

  integer | the integer type value

## ◆ pnode() [3/7]

gko::config::pnode::pnode | ( | const std::string & | str | ) |
| explicit

Constructor for string.

Parameters

  str | string type value

## ◆ pnode() [4/7]

gko::config::pnode::pnode | ( | const char * | str | ) |
| explicit

Constructor for char* (otherwise, it will use bool).

Parameters

  str | the string like "..."

## ◆ pnode() [5/7]

gko::config::pnode::pnode | ( | double | real | ) |
| explicit

Constructor for double (and also float).

Parameters

  real | the floating point type value

References gko::real().

## ◆ pnode() [6/7]

gko::config::pnode::pnode | ( | const array_type & | array | ) |
| explicit

Constructor for array.

Parameters

  array | an pnode array

## ◆ pnode() [7/7]

gko::config::pnode::pnode | ( | const map_type & | map | ) |
| explicit

Constructor for map.

Parameters

  map | a (string, pnode)-map

## Member Function Documentation

## ◆ get() [1/2]

const pnode & gko::config::pnode::get | ( | const std::string & | key | ) | const

This function is to access the data under the map.

It will throw error when it does not hold a map. When access non-existent key in the map, it will return an empty node.

Parameters

  key | the key for the node of the map

Returns
  node. If the map does not have the key, return an empty node.

References get(), and pnode().

Referenced by get(), and get().

## ◆ get() [2/2]

const pnode & gko::config::pnode::get | ( | int | index | ) | const

This function is to access the data under the array.

It will throw error when it does not hold an array or access out-of-bound index.

Parameters

  index | the node index in array

Returns
  node.

References get(), and pnode().

## ◆ get_array()

const array_type & gko::config::pnode::get_array | ( |  | ) | const

Access the array stored in this property node.

Throws gko::InvalidStateError if the property node does not store an array.

Returns
  the array

References get_array().

Referenced by get_array().

## ◆ get_boolean()

bool gko::config::pnode::get_boolean | ( |  | ) | const

Access the boolean value stored in this property node.

Throws gko::InvalidStateError if the property node does not store a boolean value.

Returns
  the boolean value

References get_boolean().

Referenced by get_boolean().

## ◆ get_integer()

std::int64_t gko::config::pnode::get_integer | ( |  | ) | const

- Access the integer value stored in this property node. Throws gko::InvalidStateError if the property node does not store an integer value.

Returns
  the integer value

References get_integer().

Referenced by get_integer().

## ◆ get_map()

const map_type & gko::config::pnode::get_map | ( |  | ) | const

Access the map stored in this property node.

Throws gko::InvalidStateError if the property node does not store a map.

Returns
  the map

References get_map().

Referenced by get_map().

## ◆ get_real()

double gko::config::pnode::get_real | ( |  | ) | const

Access the real floating point value stored in this property node.

Throws gko::InvalidStateError if the property node does not store a real value

Returns
  the real floating point value

References get_real().

Referenced by get_real().

## ◆ get_string()

const std::string & gko::config::pnode::get_string | ( |  | ) | const

Access the string stored in this property node.

Throws gko::InvalidStateError if the property node does not store a string.

Returns
  the string

References get_string().

Referenced by get_string().

## ◆ get_tag()

tag_t gko::config::pnode::get_tag | ( |  | ) | const

Get the current node tag.

Returns
  the tag

References get_tag().

Referenced by get_tag().

## ◆ operator bool()

gko::config::pnode::operator bool | ( |  | ) | const
| explicitnoexcept

bool conversion.

It's true if and only if it is not empty.

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

- ginkgo/core/config/property_tree.hpp