xgboost

Public Types | Public Member Functions | Friends | List of all members
xgboost::Value Class Referenceabstract

`#include <json.h>`

Inheritance diagram for xgboost::Value:
Collaboration diagram for xgboost::Value:

## Public Types
enum | ValueKind { ValueKind::kString, ValueKind::kNumber, ValueKind::kInteger, ValueKind::kObject, ValueKind::kArray, ValueKind::kBoolean, ValueKind::kNull, ValueKind::kNumberArray, ValueKind::kU8Array, ValueKind::kI32Array, ValueKind::kI64Array }
| Simplified implementation of LLVM RTTI. More...

## Public Member Functions
| Value (ValueKind _kind)
ValueKind | Type () const
virtual | ~Value ()=default
virtual void | Save (JsonWriter *writer) const =0
virtual Json & | operator[] (std::string const &key)
virtual Json & | operator[] (int ind)
virtual bool | operator== (Value const &rhs) const =0
virtual Value & | operator= (Value const &rhs)=delete
std::string | TypeStr () const

## Friends
IntrusivePtrCell & | IntrusivePtrRefCount (xgboost::Value const *t) noexcept

## Member Enumeration Documentation

## ◆ ValueKind

enum xgboost::Value::ValueKind
| strong

Simplified implementation of LLVM RTTI.

Enumerator
kString |
kNumber |
kInteger |
kObject |
kArray |
kBoolean |
kNull |
kNumberArray |
kU8Array |
kI32Array |
kI64Array |

## Constructor & Destructor Documentation

## ◆ Value()

xgboost::Value::Value | ( | ValueKind | _kind | ) |
| inline explicit

## ◆ ~Value()

virtual xgboost::Value::~Value | ( |  | ) |
| virtual default

## Member Function Documentation

## ◆ operator=()

virtual Value& xgboost::Value::operator= | ( | Value const & | rhs | ) |
| virtual delete

## ◆ operator==()

virtual bool xgboost::Value::operator== | ( | Value const & | rhs | ) | const
| pure virtual

Implemented in xgboost::JsonBoolean, xgboost::JsonNull, xgboost::JsonInteger, xgboost::JsonNumber, xgboost::JsonObject, xgboost::JsonTypedArray< T, kind >, xgboost::JsonArray, and xgboost::JsonString.

## ◆ operator[]() [1/2]

virtual Json& xgboost::Value::operator[] | ( | int | ind | ) |
| virtual

Reimplemented in xgboost::JsonObject, and xgboost::JsonArray.

## ◆ operator[]() [2/2]

virtual Json& xgboost::Value::operator[] | ( | std::string const & | key | ) |
| virtual

Reimplemented in xgboost::JsonObject, and xgboost::JsonArray.

## ◆ Save()

virtual void xgboost::Value::Save | ( | JsonWriter * | writer | ) | const
| pure virtual

Implemented in xgboost::JsonBoolean, xgboost::JsonNull, xgboost::JsonInteger, xgboost::JsonNumber, xgboost::JsonObject, xgboost::JsonTypedArray< T, kind >, xgboost::JsonArray, and xgboost::JsonString.

## ◆ Type()

ValueKind xgboost::Value::Type | ( |  | ) | const
| inline

## ◆ TypeStr()

std::string xgboost::Value::TypeStr | ( |  | ) | const

## Friends And Related Function Documentation

## ◆ IntrusivePtrRefCount

IntrusivePtrCell& IntrusivePtrRefCount | ( | xgboost::Value const * | t | ) |
| friend

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

- /home/runner/work/xgboost/xgboost/include/xgboost/json.h