Sese Framework  x.y.z
A cross-platform framework
载入中...
搜索中...
未找到
sese::Value类 参考

值容器类 更多...

#include <Value.h>

class  Dict
 字典值容器类型 更多...
 
class  List
 列表值容器类型 更多...
 
class  Null
 空值容器类型 更多...
 

Public 类型

enum class  Type {
  NONE = 0 , BOOL , INT , DOUBLE ,
  STRING , BLOB , LIST , DICT
}
 
using Integer = int64_t
 
using String = std::string
 
using Blob = std::vector<uint8_t>
 

Public 成员函数

 Value ()=default
 
 Value (Type type)
 
 Value (bool value)
 bool
 
 Value (Integer value)
 Integer
 
 Value (double value)
 double
 
 Value (const char *value)
 string
 
 Value (const char *bytes, size_t length)
 blob
 
 Value (String &&value) noexcept
 string
 
 Value (Blob &&value)
 blob
 
 Value (List &&value)
 list
 
 Value (Dict &&value)
 dict
 
Type getType () const
 
bool isNull () const
 
bool isBool () const
 
bool isInt () const
 
bool isDouble () const
 
bool isString () const
 
bool isBlob () const
 
bool isList () const
 
bool isDict () const
 
std::optional< bool > getIfBool () const
 
std::optional< IntegergetIfInt () const
 
std::optional< double > getIfDouble () const
 
StringgetIfString ()
 
BlobgetIfBlob ()
 
DictgetIfDict ()
 
ListgetIfList ()
 
bool getBool () const
 
Integer getInt () const
 
double getDouble () const
 
const StringgetString () const
 
StringgetString ()
 
const BlobgetBlob () const
 
BlobgetBlob ()
 
const ListgetList () const
 
ListgetList ()
 
const DictgetDict () const
 
DictgetDict ()
 
std::string toString (size_t level=4) const noexcept
 
bool operator== (const Value &rhs) const
 
bool operator!= (const Value &rhs) const
 
void toString (text::StringBuilder &string_builder, size_t level) const noexcept
 

静态 Public 成员函数

static Value list ()
 
static Value dict ()
 

Private 属性

std::variant< Null, bool, Integer, double, String, Blob, List, Dictdata
 

详细描述

值容器类

成员类型定义说明

◆ Blob

using sese::Value::Blob = std::vector<uint8_t>

◆ Integer

using sese::Value::Integer = int64_t

◆ String

using sese::Value::String = std::string

成员枚举类型说明

◆ Type

enum class sese::Value::Type
strong
枚举值
NONE 
BOOL 
INT 
DOUBLE 
STRING 
BLOB 
LIST 
DICT 

构造及析构函数说明

◆ Value() [1/11]

sese::Value::Value ( )
default

被这些函数引用 dict() , 以及 list().

◆ Value() [2/11]

Value::Value ( Type type)
explicit

引用了 BLOB, BOOL, data, DICT, DOUBLE, INT, LIST, NONE , 以及 STRING.

◆ Value() [3/11]

Value::Value ( bool value)
explicit

bool

◆ Value() [4/11]

Value::Value ( Integer value)
explicit

Integer

◆ Value() [5/11]

Value::Value ( double value)
explicit

double

◆ Value() [6/11]

Value::Value ( const char * value)
explicit

string

◆ Value() [7/11]

Value::Value ( const char * bytes,
size_t length )
explicit

blob

引用了 data.

◆ Value() [8/11]

Value::Value ( String && value)
explicitnoexcept

string

◆ Value() [9/11]

Value::Value ( Blob && value)
explicit

blob

◆ Value() [10/11]

Value::Value ( List && value)
explicit

list

◆ Value() [11/11]

Value::Value ( Dict && value)
explicit

dict

成员函数说明

◆ dict()

Value Value::dict ( )
static

引用了 DICT , 以及 Value().

◆ getBlob() [1/2]

Value::Blob & Value::getBlob ( )
nodiscard

引用了 data , 以及 isBlob().

◆ getBlob() [2/2]

const Value::Blob & Value::getBlob ( ) const
nodiscard

引用了 data , 以及 isBlob().

◆ getBool()

bool Value::getBool ( ) const
nodiscard

引用了 data , 以及 isBool().

被这些函数引用 sese::Json::streamifyBasic().

◆ getDict() [1/2]

Value::Dict & Value::getDict ( )
nodiscard

引用了 data , 以及 isDict().

◆ getDict() [2/2]

const Value::Dict & Value::getDict ( ) const
nodiscard

引用了 data , 以及 isDict().

被这些函数引用 sese::Yaml::streamify().

◆ getDouble()

double Value::getDouble ( ) const
nodiscard

引用了 data , 以及 isDouble().

◆ getIfBlob()

Value::Blob * Value::getIfBlob ( )
nodiscard

引用了 data.

◆ getIfBool()

std::optional< bool > Value::getIfBool ( ) const
nodiscard

允许数值类型转换为布尔型

返回
布尔型

引用了 data, isBool(), isDouble() , 以及 isInt().

◆ getIfDict()

Value::Dict * Value::getIfDict ( )
nodiscard

引用了 data.

◆ getIfDouble()

std::optional< double > Value::getIfDouble ( ) const
nodiscard

允许从数值类型转换成双精度浮点型

返回
双精度浮点型

引用了 data, isDouble() , 以及 isInt().

◆ getIfInt()

std::optional< Value::Integer > Value::getIfInt ( ) const
nodiscard

允许从数数值类型转换成整形

返回
整形

引用了 data, isDouble() , 以及 isInt().

◆ getIfList()

Value::List * Value::getIfList ( )
nodiscard

引用了 data.

◆ getIfString()

Value::String * Value::getIfString ( )
nodiscard

引用了 data.

◆ getInt()

Value::Integer Value::getInt ( ) const
nodiscard

引用了 data , 以及 isInt().

◆ getList() [1/2]

Value::List & Value::getList ( )
nodiscard

引用了 data , 以及 isList().

◆ getList() [2/2]

const Value::List & Value::getList ( ) const
nodiscard

引用了 data , 以及 isList().

被这些函数引用 sese::Yaml::streamify().

◆ getString() [1/2]

Value::String & Value::getString ( )
nodiscard

引用了 data , 以及 isString().

◆ getString() [2/2]

const Value::String & Value::getString ( ) const
nodiscard

引用了 data , 以及 isString().

◆ getType()

Value::Type Value::getType ( ) const
nodiscard

◆ isBlob()

bool Value::isBlob ( ) const
nodiscard

引用了 BLOB , 以及 getType().

被这些函数引用 getBlob() , 以及 getBlob().

◆ isBool()

bool Value::isBool ( ) const
nodiscard

引用了 BOOL , 以及 getType().

被这些函数引用 getBool(), getIfBool() , 以及 sese::Json::streamifyBasic().

◆ isDict()

bool Value::isDict ( ) const
nodiscard

引用了 DICT , 以及 getType().

被这些函数引用 getDict(), getDict(), sese::Yaml::parseArray() , 以及 sese::Yaml::parseObject().

◆ isDouble()

bool Value::isDouble ( ) const
nodiscard

引用了 DOUBLE , 以及 getType().

被这些函数引用 getDouble(), getIfBool(), getIfDouble(), getIfInt() , 以及 sese::Json::streamifyBasic().

◆ isInt()

bool Value::isInt ( ) const
nodiscard

引用了 getType() , 以及 INT.

被这些函数引用 getIfBool(), getIfDouble(), getIfInt(), getInt() , 以及 sese::Json::streamifyBasic().

◆ isList()

bool Value::isList ( ) const
nodiscard

引用了 getType() , 以及 LIST.

被这些函数引用 getList(), getList(), sese::Yaml::parseArray() , 以及 sese::Yaml::parseObject().

◆ isNull()

bool Value::isNull ( ) const
nodiscard

引用了 getType() , 以及 NONE.

被这些函数引用 sese::Json::streamifyBasic().

◆ isString()

bool Value::isString ( ) const
nodiscard

引用了 getType() , 以及 STRING.

被这些函数引用 getString(), getString() , 以及 sese::Json::streamifyBasic().

◆ list()

Value Value::list ( )
static

引用了 LIST , 以及 Value().

◆ operator!=()

bool Value::operator!= ( const Value & rhs) const

◆ operator==()

bool Value::operator== ( const Value & rhs) const

引用了 BLOB, BOOL, data, DICT, DOUBLE, getType(), INT, LIST, NONE , 以及 STRING.

◆ toString() [1/2]

std::string Value::toString ( size_t level = 4) const
nodiscardnoexcept

◆ toString() [2/2]

void Value::toString ( text::StringBuilder & string_builder,
size_t level ) const
noexcept

类成员变量说明

◆ data


该类的文档由以下文件生成: