xgboost
Classes | Namespaces | Typedefs | Functions
json.h File Reference
#include <xgboost/logging.h>
#include <xgboost/parameter.h>
#include <map>
#include <memory>
#include <vector>
#include <functional>
#include <utility>
#include <string>
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::JsonObject
 
class  xgboost::JsonNumber
 
class  xgboost::JsonInteger
 
class  xgboost::JsonNull
 
class  xgboost::JsonBoolean
 Describes both true and false. More...
 
struct  xgboost::StringView
 
class  xgboost::Json
 Data structure representing JSON format. More...
 

Namespaces

 xgboost
 namespace of xgboost
 
 xgboost::detail
 

Typedefs

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)
 
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 , typename std::enable_if< std::is_same< T, JsonObject >::value >::type * = nullptr>
std::map< std::string, Json > & xgboost::detail::GetImpl (T &val)
 
template<typename T , typename std::enable_if< std::is_same< T, JsonObject const >::value >::type * = nullptr>
std::map< std::string, Json > 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)
 
template<typename Parameter >
void xgboost::FromJson (Json const &obj, Parameter *param)