xgboost
Classes | Namespaces | Typedefs | Functions
json.h File Reference
#include <xgboost/intrusive_ptr.h>
#include <xgboost/logging.h>
#include <xgboost/parameter.h>
#include <xgboost/string_view.h>
#include <functional>
#include <map>
#include <memory>
#include <string>
#include <type_traits>
#include <utility>
#include <vector>
Include dependency graph for json.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  xgboost::Value
 
class  xgboost::JsonString
 
class  xgboost::JsonArray
 
class  xgboost::JsonTypedArray< T, kind >
 Typed array for Universal Binary JSON. More...
 
class  xgboost::JsonObject
 
class  xgboost::JsonNumber
 
class  xgboost::JsonInteger
 
class  xgboost::JsonNull
 
class  xgboost::JsonBoolean
 Describes both true and false. More...
 
class  xgboost::Json
 Data structure representing JSON format. More...
 

Namespaces

 xgboost
 Core data structure for multi-target trees.
 
 xgboost::detail
 

Typedefs

using xgboost::F32Array = JsonTypedArray< float, Value::ValueKind::kF32Array >
 Typed UBJSON array for 32-bit floating point. More...
 
using xgboost::F64Array = JsonTypedArray< double, Value::ValueKind::kF64Array >
 Typed UBJSON array for 64-bit floating point. More...
 
using xgboost::U8Array = JsonTypedArray< std::uint8_t, Value::ValueKind::kU8Array >
 Typed UBJSON array for uint8_t. More...
 
using xgboost::I32Array = JsonTypedArray< std::int32_t, Value::ValueKind::kI32Array >
 Typed UBJSON array for int32_t. More...
 
using xgboost::I64Array = JsonTypedArray< std::int64_t, Value::ValueKind::kI64Array >
 Typed UBJSON array for int64_t. More...
 
using xgboost::Object = JsonObject
 
using xgboost::Array = JsonArray
 
using xgboost::Number = JsonNumber
 
using xgboost::Integer = JsonInteger
 
using xgboost::Boolean = JsonBoolean
 
using xgboost::String = JsonString
 
using xgboost::Null = JsonNull
 

Functions

template<typename T >
bool xgboost::IsA (Value const *value)
 
template<typename T , typename U >
T * xgboost::Cast (U *value)
 
template<typename T >
bool xgboost::IsA (Json const &j)
 Check whether a Json object has specific type. More...
 
template<typename T , typename std::enable_if< std::is_same< T, JsonNumber >::value >::type * = nullptr>
JsonNumber::Float & xgboost::detail::GetImpl (T &val)
 
template<typename T , typename std::enable_if< std::is_same< T, JsonNumber const >::value >::type * = nullptr>
JsonNumber::Float const & xgboost::detail::GetImpl (T &val)
 
template<typename T , typename std::enable_if< std::is_same< T, JsonInteger >::value >::type * = nullptr>
JsonInteger::Int & xgboost::detail::GetImpl (T &val)
 
template<typename T , typename std::enable_if< std::is_same< T, JsonInteger const >::value >::type * = nullptr>
JsonInteger::Int const & xgboost::detail::GetImpl (T &val)
 
template<typename T , typename std::enable_if< std::is_same< T, JsonString >::value >::type * = nullptr>
std::string & xgboost::detail::GetImpl (T &val)
 
template<typename T , typename std::enable_if< std::is_same< T, JsonString const >::value >::type * = nullptr>
std::string const & xgboost::detail::GetImpl (T &val)
 
template<typename T , typename std::enable_if< std::is_same< T, JsonBoolean >::value >::type * = nullptr>
bool & xgboost::detail::GetImpl (T &val)
 
template<typename T , typename std::enable_if< std::is_same< T, JsonBoolean const >::value >::type * = nullptr>
bool const & xgboost::detail::GetImpl (T &val)
 
template<typename T , typename std::enable_if< std::is_same< T, JsonArray >::value >::type * = nullptr>
std::vector< Json > & xgboost::detail::GetImpl (T &val)
 
template<typename T , typename std::enable_if< std::is_same< T, JsonArray const >::value >::type * = nullptr>
std::vector< Json > const & xgboost::detail::GetImpl (T &val)
 
template<typename T , Value::ValueKind kind>
std::vector< T > & xgboost::detail::GetImpl (JsonTypedArray< T, kind > &val)
 
template<typename T , Value::ValueKind kind>
std::vector< T > const & xgboost::detail::GetImpl (JsonTypedArray< T, kind > const &val)
 
template<typename T , typename std::enable_if< std::is_same< T, JsonObject >::value >::type * = nullptr>
JsonObject::Map & xgboost::detail::GetImpl (T &val)
 
template<typename T , typename std::enable_if< std::is_same< T, JsonObject const >::value >::type * = nullptr>
JsonObject::Map const & xgboost::detail::GetImpl (T &val)
 
template<typename T , typename U >
auto xgboost::get (U &json) -> decltype(detail::GetImpl(*Cast< T >(&json.GetValue())))&
 Get Json value. More...
 
template<typename Parameter >
Object xgboost::ToJson (Parameter const &param)
 Convert XGBoost parameter to JSON object. More...
 
template<typename Parameter >
Args xgboost::FromJson (Json const &obj, Parameter *param)
 Load a XGBoost parameter from a JSON object. More...