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

#include <json.h>

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

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 Jsonoperator[] (std::string const &key)
 
virtual Jsonoperator[] (int ind)
 
virtual bool operator== (Value const &rhs) const =0
 
virtual Valueoperator= (Value const &rhs)=delete
 
std::string TypeStr () const
 

Friends

IntrusivePtrCellIntrusivePtrRefCount (xgboost::Value const *t) noexcept
 

Member Enumeration Documentation

◆ ValueKind

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)
inlineexplicit

◆ ~Value()

virtual xgboost::Value::~Value ( )
virtualdefault

Member Function Documentation

◆ operator=()

virtual Value& xgboost::Value::operator= ( Value const &  rhs)
virtualdelete

◆ operator==()

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

◆ 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

◆ 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: