fastdo  0.6.8
winux::Mixed类 参考

混合体,能表示多种类型的值 更多...

#include <utilities.hpp>

winux::Mixed 的协作图:

class  ArrayAssigner
 
class  CollectionAssigner
 
class  MixedLess
 

Public 类型

enum  MixedType : ushort {
  MT_NULL, MT_BOOLEAN, MT_BYTE, MT_SHORT,
  MT_USHORT, MT_INT, MT_UINT, MT_LONG,
  MT_ULONG, MT_INT64, MT_UINT64, MT_FLOAT,
  MT_DOUBLE, MT_ANSI, MT_UNICODE, MT_ARRAY,
  MT_COLLECTION, MT_BINARY
}
 
typedef std::map< Mixed, Mixed, MixedLessMixedMixedMap
 
typedef MixedMixedMap::value_type MixedMixedPair
 

Public 成员函数

 Mixed ()
 
 Mixed (AnsiString const &str)
 多字节字符串 更多...
 
 Mixed (UnicodeString const &str)
 Unicode字符串 更多...
 
 Mixed (char const *str, size_t len=npos)
 多字节字符串 更多...
 
 Mixed (wchar const *str, size_t len=npos)
 Unicode字符串 更多...
 
 Mixed (bool boolVal)
 
 Mixed (byte btVal)
 
 Mixed (short shVal)
 
 Mixed (ushort ushVal)
 
 Mixed (int iVal)
 
 Mixed (uint uiVal)
 
 Mixed (long lVal)
 
 Mixed (ulong ulVal)
 
 Mixed (float fltVal)
 
 Mixed (int64 i64Val)
 
 Mixed (uint64 ui64Val)
 
 Mixed (double dblVal)
 
 Mixed (Buffer const &buf)
 
 Mixed (void const *binaryData, size_t size, bool isPeek=false)
 
 Mixed (Mixed *arr, size_t count)
 数组构造函数 更多...
 
template<typename _Ty >
 Mixed (std::vector< _Ty > const &arr)
 数组构造函数 更多...
 
template<typename _Ty , size_t _N>
 Mixed (_Ty(&arr)[_N])
 数组构造函数 更多...
 
 Mixed (std::initializer_list< Mixed > list)
 数组构造函数 更多...
 
 Mixed ($a arr)
 数组构造函数 更多...
 
template<typename _KTy , typename _VTy , typename _Pr , typename _Alloc >
 Mixed (std::map< _KTy, _VTy, _Pr, _Alloc > const &m)
 Collection构造函数 更多...
 
template<typename _KTy , typename _VTy , size_t _Count>
 Mixed (std::pair< _KTy, _VTy >(&pairs)[_Count])
 Collection构造函数 更多...
 
template<typename _KTy , typename _VTy , size_t _Count>
 Mixed (_KTy(&keys)[_Count], _VTy(&vals)[_Count])
 Collection构造函数 更多...
 
 Mixed ($c coll)
 Collection构造函数 更多...
 
 ~Mixed ()
 析构函数 更多...
 
 Mixed (Mixed const &other)
 拷贝构造函数 更多...
 
Mixedoperator= (Mixed const &other)
 拷贝赋值操作 更多...
 
 Mixed (Mixed &&other)
 移动构造函数 更多...
 
Mixedoperator= (Mixed &&other)
 移动赋值操作 更多...
 
 Mixed (Buffer &&buf)
 
void assign (Buffer &&buf)
 
 Mixed (GrowBuffer &&buf)
 
void assign (GrowBuffer &&buf)
 
void free ()
 释放相关资源 更多...
 
MixedType type () const
 取得类型 更多...
 
String const & typeString () const
 取得类型串 更多...
 
template<typename _ChTy >
XString< _ChTy > & refString ()
 
template<typename _ChTy >
XString< _ChTy > const & refString () const
 
bool & refBool ()
 
bool const & refBool () const
 
byterefByte ()
 
byte const & refByte () const
 
short & refShort ()
 
short const & refShort () const
 
ushortrefUShort ()
 
ushort const & refUShort () const
 
int & refInt ()
 
int const & refInt () const
 
uintrefUInt ()
 
uint const & refUInt () const
 
long & refLong ()
 
long const & refLong () const
 
ulongrefULong ()
 
ulong const & refULong () const
 
float & refFloat ()
 
float const & refFloat () const
 
int64refInt64 ()
 
int64 const & refInt64 () const
 
uint64refUInt64 ()
 
uint64 const & refUInt64 () const
 
double & refDouble ()
 
double const & refDouble () const
 
AnsiStringrefAnsi ()
 
AnsiString const & refAnsi () const
 
UnicodeStringrefUnicode ()
 
UnicodeString const & refUnicode () const
 
MixedArrayrefArray ()
 
MixedArray const & refArray () const
 
MixedMixedMaprefCollection ()
 
MixedMixedMap const & refCollection () const
 
BufferrefBuffer ()
 
Buffer const & refBuffer () const
 
 operator AnsiString () const
 
 operator UnicodeString () const
 
 operator Buffer () const
 
 operator bool () const
 
 operator byte () const
 
 operator short () const
 
 operator ushort () const
 
 operator int () const
 
 operator uint () const
 
 operator long () const
 
 operator ulong () const
 
 operator float () const
 
 operator int64 () const
 
 operator uint64 () const
 
 operator double () const
 
template<typename _ChTy >
XString< _ChTy > toString () const
 
AnsiString toAnsi () const
 
UnicodeString toUnicode () const
 
Buffer toBuffer () const
 
bool toBool () const
 
byte toByte () const
 
short toShort () const
 
ushort toUShort () const
 
int toInt () const
 
uint toUInt () const
 
long toLong () const
 
ulong toULong () const
 
float toFloat () const
 
int64 toInt64 () const
 
uint64 toUInt64 () const
 
double toDouble () const
 
bool operator== (Mixed const &other) const
 
bool operator< (Mixed const &other) const
 
bool operator!= (Mixed const &other) const
 
bool operator> (Mixed const &other) const
 
bool operator>= (Mixed const &other) const
 
bool operator<= (Mixed const &other) const
 
bool isNull () const
 
bool isArray () const
 
bool isCollection () const
 
bool isContainer () const
 
bool isBinary () const
 
bool isNumeric () const
 
bool isInteger () const
 
bool isAnsi () const
 
bool isUnicode () const
 
bool isString () const
 
template<typename _ChTy >
MixedcreateString ()
 创建一个字符串,根据_ChTy设置type为MT_ANSI或MT_UNICODE 更多...
 
MixedcreateAnsi ()
 创建一个Ansi字符串,并设置type为MT_ANSI 更多...
 
MixedcreateUnicode ()
 创建一个Unicode字符串,并设置type为MT_UNICODE 更多...
 
MixedcreateArray (size_t count=0)
 创建一个数组,自动把先前的数据清空,并设置type为MT_ARRAY 更多...
 
MixedcreateCollection ()
 创建一个集合,自动把先前的数据清空,并设置type为MT_COLLECTION 更多...
 
MixedcreateBuffer (size_t size=0)
 创建一个缓冲区,自动把先前的数据清空,并设置type为MT_BINARY 更多...
 
template<typename _Ty >
size_t getArray (std::vector< _Ty > *arr) const
 取得数组全部元素,返回元素个数 更多...
 
template<typename _KTy >
size_t getKeys (std::vector< _KTy > *keys) const
 获取全部键名,返回键名个数 更多...
 
template<typename _KTy , typename _VTy >
size_t getMap (std::map< _KTy, _VTy > *m) const
 获取映射表,返回键值对个数 更多...
 
bool isEmpty () const
 判断容器是否为空 更多...
 
size_t getCount () const
 获取Array/Collection元素个数 更多...
 
Mixedoperator[] (Mixed const &k)
 下标操作 更多...
 
Mixed const & operator[] (Mixed const &k) const
 const下标操作 更多...
 
template<typename _ChTy >
Mixedoperator[] (_ChTy const *k)
 下标操作 使兼容字符串指针 更多...
 
template<typename _ChTy >
Mixed const & operator[] (_ChTy const *k) const
 const下标操作 使兼容字符串指针 更多...
 
template<typename _Ty >
_Ty get (Mixed const &k, Mixed const &defval=Mixed()) const
 当Mixed为Array或Collection类型时,get()能把指定'索引/Key'的元素按照指定类型取出来 更多...
 
Mixed const & get (Mixed const &k, Mixed const &defval=Mixed()) const
 当Mixed为Array或Collection类型时,取得指定'索引/Key'的元素,不存在则返回默认值 更多...
 
MixedMixedMap::value_type & getPair (size_t i)
 Collection获取'键值对'索引操作 更多...
 
MixedMixedMap::value_type const & getPair (size_t i) const
 Collection获取'键值对'索引操作 更多...
 
CollectionAssigner addPair ()
 往Collection添加数据. 更多...
 
MixedaddPair (Mixed const &k, Mixed const &v)
 往Collection添加一个pair. 非Collection类型调用此函数会抛异常. 更多...
 
ArrayAssigner add ()
 往Array添加数据. 更多...
 
size_t add (Mixed const &v)
 往数组里加一个元素,返回索引值,非Array类型调用此函数会抛异常 更多...
 
size_t addUnique (Mixed const &v)
 往数组里加一个唯一元素,返回索引值,非Array类型调用此函数会抛异常 更多...
 
void del (Mixed const &k)
 删除一个元素,操作类型可以是Array或Collection,k分别代表索引或键名 更多...
 
bool has (Mixed const &ek) const
 判断元素是否存在,Array判断值是否存在,Collection判断键名是否存在 更多...
 
Mixedmerge (Mixed const &v)
 合并另一个容器或添加一个元素 更多...
 
Mixedreverse ()
 反转容器内元素顺序 更多...
 
void alloc (size_t size, bool setDataSize=true)
 分配一块内存,自动释放先前数据,并设置type为MT_BINARY 更多...
 
bool peekCopy (bool copyCapacity=false)
 把窥探模式下的MT_BINARY类型变为拷贝模式,如果copyCapacity为true时连容量也一起拷贝,否则只拷贝数据。 更多...
 
size_t getSize () const
 取得缓冲区大小 更多...
 
void * getBuf () const
 暴露缓冲区指针 更多...
 
void assign (char const *str, size_t len=npos)
 
void assign (wchar const *str, size_t len=npos)
 
void assign (bool boolVal)
 
void assign (byte btVal)
 
void assign (short shVal)
 
void assign (ushort ushVal)
 
void assign (int iVal)
 
void assign (uint uiVal)
 
void assign (long lVal)
 
void assign (ulong ulVal)
 
void assign (float fltVal)
 
void assign (int64 i64Val)
 
void assign (uint64 ui64Val)
 
void assign (double dblVal)
 
void assign (Buffer const &buf)
 
void assign (void const *binaryData, size_t size, bool isPeek=false)
 二进制数据赋值 更多...
 
void assign (Mixed *arr, size_t count)
 数组赋值 更多...
 
template<typename _Ty >
void assign (std::vector< _Ty > const &arr)
 用vector给Array赋值 更多...
 
template<typename _Ty , size_t _N>
void assign (_Ty(&arr)[_N])
 用C数组给Array赋值 更多...
 
void assign (std::initializer_list< Mixed > list)
 用initializer_list给Array赋值 更多...
 
void assign ($a arr)
 用Mixed::Arr给Array赋值 更多...
 
template<typename _KTy , typename _VTy , typename _Pr , typename _Alloc >
void assign (std::map< _KTy, _VTy, _Pr, _Alloc > const &m)
 用map给Collection赋值 更多...
 
template<typename _KTy , typename _VTy , size_t _Count>
void assign (std::pair< _KTy, _VTy >(&pairs)[_Count])
 用pairs给Collection赋值 更多...
 
template<typename _KTy , typename _VTy , size_t _Count>
void assign (_KTy(&keys)[_Count], _VTy(&vals)[_Count])
 用数组给Collection赋值 更多...
 
void assign ($c coll)
 用Mixed::Coll给Collection赋值 更多...
 
String myJson (bool autoKeyQuotes=true, AnsiString const &spacer="", AnsiString const &newline="") const
 
String json () const
 
Mixedjson (String const &jsonStr)
 
template<>
XString< char > & refString ()
 
template<>
XString< char > const & refString () const
 
template<>
XString< wchar > & refString ()
 
template<>
XString< wchar > const & refString () const
 
template<>
XString< char > toString () const
 Mixed to AnsiString. 更多...
 
template<>
XString< wchartoString () const
 Mixed to UnicodeString. 更多...
 
template<>
MixedcreateString ()
 创建一个ANSI字符串,并设置type为MT_ANSI 更多...
 
template<>
MixedcreateString ()
 创建一个UNICODE字符串,并设置type为MT_UNICODE 更多...
 

静态 Public 成员函数

static String const & TypeString (MixedType type)
 输出指定类型的字符串表示 更多...
 
static bool ParseBool (AnsiString const &str, bool *boolVal)
 parse bool 更多...
 
static bool ParseBool (UnicodeString const &str, bool *boolVal)
 
static bool ParseULong (AnsiString const &str, ulong *ulVal)
 parse ulong 更多...
 
static bool ParseULong (UnicodeString const &str, ulong *ulVal)
 
static bool ParseDouble (AnsiString const &str, double *dblVal)
 parse double 更多...
 
static bool ParseDouble (UnicodeString const &str, double *dblVal)
 
static bool ParseUInt64 (AnsiString const &str, uint64 *ui64Val)
 parse uint64 更多...
 
static bool ParseUInt64 (UnicodeString const &str, uint64 *ui64Val)
 
static MixedParseJson (AnsiString const &str, Mixed *val)
 parse array or collection, it parse a json 更多...
 

Public 属性

MixedType _type
 当前类型 更多...
 
union {
   double   _dblVal
 
   uint64   _ui64Val
 
   int64   _i64Val
 
   float   _fltVal
 
   ulong   _ulVal
 
   long   _lVal
 
   uint   _uiVal
 
   int   _iVal
 
   ushort   _ushVal
 
   short   _shVal
 
   byte   _btVal
 
   bool   _boolVal
 
   struct {
      union {
         AnsiString *   _pStr
 
         UnicodeString *   _pWStr
 
      } 
 
   } 
 
   struct {
      MixedArray *   _pArr
 
      MixedMixedMap *   _pMap
 
   } 
 
   struct {
      Buffer *   _pBuf
 
   } 
 
}; 
 

详细描述

混合体,能表示多种类型的值

在文件 utilities.hpp750 行定义.

成员类型定义说明

在文件 utilities.hpp782 行定义.

typedef MixedMixedMap::value_type winux::Mixed::MixedMixedPair

在文件 utilities.hpp783 行定义.

成员枚举类型说明

枚举值
MT_NULL 
MT_BOOLEAN 
MT_BYTE 
MT_SHORT 
MT_USHORT 
MT_INT 
MT_UINT 
MT_LONG 
MT_ULONG 
MT_INT64 
MT_UINT64 
MT_FLOAT 
MT_DOUBLE 
MT_ANSI 
MT_UNICODE 
MT_ARRAY 

数组类型,利用STL vector<Mixed>存储的Mixed数组

MT_COLLECTION 

Collection类型,利用数组存储key体现次序,然后用Map存储k/v对

MT_BINARY 

二进制数据类型,利用Buffer类对象存储的二进制数据

在文件 utilities.hpp753 行定义.

构造及析构函数说明

winux::Mixed::Mixed ( )
winux::Mixed::Mixed ( AnsiString const &  str)

多字节字符串

winux::Mixed::Mixed ( UnicodeString const &  str)

Unicode字符串

winux::Mixed::Mixed ( char const *  str,
size_t  len = npos 
)

多字节字符串

winux::Mixed::Mixed ( wchar const *  str,
size_t  len = npos 
)

Unicode字符串

winux::Mixed::Mixed ( bool  boolVal)
winux::Mixed::Mixed ( byte  btVal)
winux::Mixed::Mixed ( short  shVal)
winux::Mixed::Mixed ( ushort  ushVal)
winux::Mixed::Mixed ( int  iVal)
winux::Mixed::Mixed ( uint  uiVal)
winux::Mixed::Mixed ( long  lVal)
winux::Mixed::Mixed ( ulong  ulVal)
winux::Mixed::Mixed ( float  fltVal)
winux::Mixed::Mixed ( int64  i64Val)
winux::Mixed::Mixed ( uint64  ui64Val)
winux::Mixed::Mixed ( double  dblVal)
winux::Mixed::Mixed ( Buffer const &  buf)
winux::Mixed::Mixed ( void const *  binaryData,
size_t  size,
bool  isPeek = false 
)
winux::Mixed::Mixed ( Mixed arr,
size_t  count 
)

数组构造函数

template<typename _Ty >
winux::Mixed::Mixed ( std::vector< _Ty > const &  arr)
inline

数组构造函数

在文件 utilities.hpp849 行定义.

template<typename _Ty , size_t _N>
winux::Mixed::Mixed ( _Ty(&)  arr[_N])
inline

数组构造函数

在文件 utilities.hpp863 行定义.

winux::Mixed::Mixed ( std::initializer_list< Mixed list)

数组构造函数

winux::Mixed::Mixed (   $a)

数组构造函数

template<typename _KTy , typename _VTy , typename _Pr , typename _Alloc >
winux::Mixed::Mixed ( std::map< _KTy, _VTy, _Pr, _Alloc > const &  m)
inline

Collection构造函数

在文件 utilities.hpp884 行定义.

template<typename _KTy , typename _VTy , size_t _Count>
winux::Mixed::Mixed ( std::pair< _KTy, _VTy >(&)  pairs[_Count])
inline

Collection构造函数

在文件 utilities.hpp892 行定义.

template<typename _KTy , typename _VTy , size_t _Count>
winux::Mixed::Mixed ( _KTy(&)  keys[_Count],
_VTy(&)  vals[_Count] 
)
inline

Collection构造函数

在文件 utilities.hpp900 行定义.

winux::Mixed::Mixed (   $c)

Collection构造函数

winux::Mixed::~Mixed ( )

析构函数

winux::Mixed::Mixed ( Mixed const &  other)

拷贝构造函数

winux::Mixed::Mixed ( Mixed &&  other)

移动构造函数

winux::Mixed::Mixed ( Buffer &&  buf)
winux::Mixed::Mixed ( GrowBuffer &&  buf)

成员函数说明

ArrayAssigner winux::Mixed::add ( )
inline

往Array添加数据.

如果不是Array,则自动释放之前数据,创建Array.

在文件 utilities.hpp1147 行定义.

size_t winux::Mixed::add ( Mixed const &  v)

往数组里加一个元素,返回索引值,非Array类型调用此函数会抛异常

CollectionAssigner winux::Mixed::addPair ( )
inline

往Collection添加数据.

如果不是Collection,则自动释放之前数据,创建Collection.

在文件 utilities.hpp1117 行定义.

Mixed& winux::Mixed::addPair ( Mixed const &  k,
Mixed const &  v 
)

往Collection添加一个pair. 非Collection类型调用此函数会抛异常.

size_t winux::Mixed::addUnique ( Mixed const &  v)

往数组里加一个唯一元素,返回索引值,非Array类型调用此函数会抛异常

void winux::Mixed::alloc ( size_t  size,
bool  setDataSize = true 
)

分配一块内存,自动释放先前数据,并设置type为MT_BINARY

void winux::Mixed::assign ( Buffer &&  buf)
void winux::Mixed::assign ( GrowBuffer &&  buf)
void winux::Mixed::assign ( char const *  str,
size_t  len = npos 
)
void winux::Mixed::assign ( wchar const *  str,
size_t  len = npos 
)
void winux::Mixed::assign ( bool  boolVal)
void winux::Mixed::assign ( byte  btVal)
void winux::Mixed::assign ( short  shVal)
void winux::Mixed::assign ( ushort  ushVal)
void winux::Mixed::assign ( int  iVal)
void winux::Mixed::assign ( uint  uiVal)
void winux::Mixed::assign ( long  lVal)
void winux::Mixed::assign ( ulong  ulVal)
void winux::Mixed::assign ( float  fltVal)
void winux::Mixed::assign ( int64  i64Val)
void winux::Mixed::assign ( uint64  ui64Val)
void winux::Mixed::assign ( double  dblVal)
void winux::Mixed::assign ( Buffer const &  buf)
void winux::Mixed::assign ( void const *  binaryData,
size_t  size,
bool  isPeek = false 
)

二进制数据赋值

void winux::Mixed::assign ( Mixed arr,
size_t  count 
)

数组赋值

template<typename _Ty >
void winux::Mixed::assign ( std::vector< _Ty > const &  arr)
inline

用vector给Array赋值

在文件 utilities.hpp1220 行定义.

template<typename _Ty , size_t _N>
void winux::Mixed::assign ( _Ty(&)  arr[_N])
inline

用C数组给Array赋值

在文件 utilities.hpp1234 行定义.

void winux::Mixed::assign ( std::initializer_list< Mixed list)

用initializer_list给Array赋值

void winux::Mixed::assign (   $a)

用Mixed::Arr给Array赋值

template<typename _KTy , typename _VTy , typename _Pr , typename _Alloc >
void winux::Mixed::assign ( std::map< _KTy, _VTy, _Pr, _Alloc > const &  m)
inline

用map给Collection赋值

在文件 utilities.hpp1254 行定义.

template<typename _KTy , typename _VTy , size_t _Count>
void winux::Mixed::assign ( std::pair< _KTy, _VTy >(&)  pairs[_Count])
inline

用pairs给Collection赋值

在文件 utilities.hpp1270 行定义.

template<typename _KTy , typename _VTy , size_t _Count>
void winux::Mixed::assign ( _KTy(&)  keys[_Count],
_VTy(&)  vals[_Count] 
)
inline

用数组给Collection赋值

在文件 utilities.hpp1286 行定义.

void winux::Mixed::assign (   $c)

用Mixed::Coll给Collection赋值

Mixed& winux::Mixed::createAnsi ( )

创建一个Ansi字符串,并设置type为MT_ANSI

Mixed& winux::Mixed::createArray ( size_t  count = 0)

创建一个数组,自动把先前的数据清空,并设置type为MT_ARRAY

Mixed& winux::Mixed::createBuffer ( size_t  size = 0)

创建一个缓冲区,自动把先前的数据清空,并设置type为MT_BINARY

Mixed& winux::Mixed::createCollection ( )

创建一个集合,自动把先前的数据清空,并设置type为MT_COLLECTION

template<typename _ChTy >
Mixed& winux::Mixed::createString ( )

创建一个字符串,根据_ChTy设置type为MT_ANSI或MT_UNICODE

template<>
Mixed& winux::Mixed::createString ( )
inline

创建一个ANSI字符串,并设置type为MT_ANSI

在文件 utilities.hpp1375 行定义.

template<>
Mixed& winux::Mixed::createString ( )
inline

创建一个UNICODE字符串,并设置type为MT_UNICODE

在文件 utilities.hpp1382 行定义.

函数调用图:

Mixed& winux::Mixed::createUnicode ( )

创建一个Unicode字符串,并设置type为MT_UNICODE

void winux::Mixed::del ( Mixed const &  k)

删除一个元素,操作类型可以是Array或Collection,k分别代表索引或键名

void winux::Mixed::free ( )

释放相关资源

template<typename _Ty >
_Ty winux::Mixed::get ( Mixed const &  k,
Mixed const &  defval = Mixed() 
) const
inline

当Mixed为Array或Collection类型时,get()能把指定'索引/Key'的元素按照指定类型取出来

在文件 utilities.hpp1085 行定义.

Mixed const& winux::Mixed::get ( Mixed const &  k,
Mixed const &  defval = Mixed() 
) const

当Mixed为Array或Collection类型时,取得指定'索引/Key'的元素,不存在则返回默认值

template<typename _Ty >
size_t winux::Mixed::getArray ( std::vector< _Ty > *  arr) const
inline

取得数组全部元素,返回元素个数

必须是MT_ARRAY/MT_COLLECTION类型

在文件 utilities.hpp1022 行定义.

void* winux::Mixed::getBuf ( ) const

暴露缓冲区指针

即使Mixed不是MT_BINARY类型也不会出错,会直接返回NULL

size_t winux::Mixed::getCount ( ) const
inline

获取Array/Collection元素个数

即使Mixed不是Array/Collection类型也不会报错,此时会返回0。

在文件 utilities.hpp1065 行定义.

template<typename _KTy >
size_t winux::Mixed::getKeys ( std::vector< _KTy > *  keys) const
inline

获取全部键名,返回键名个数

必须是MT_COLLECTION类型

在文件 utilities.hpp1035 行定义.

template<typename _KTy , typename _VTy >
size_t winux::Mixed::getMap ( std::map< _KTy, _VTy > *  m) const
inline

获取映射表,返回键值对个数

必须是MT_COLLECTION类型

在文件 utilities.hpp1048 行定义.

MixedMixedMap::value_type& winux::Mixed::getPair ( size_t  i)

Collection获取'键值对'索引操作

MixedMixedMap::value_type const& winux::Mixed::getPair ( size_t  i) const

Collection获取'键值对'索引操作

size_t winux::Mixed::getSize ( ) const

取得缓冲区大小

即使Mixed不是MT_BINARY类型也不会出错,会直接返回0

bool winux::Mixed::has ( Mixed const &  ek) const

判断元素是否存在,Array判断值是否存在,Collection判断键名是否存在

即使Mixed不是Array/Collection类型也不会报错,此时会返回false。

bool winux::Mixed::isAnsi ( ) const
inline

在文件 utilities.hpp997 行定义.

bool winux::Mixed::isArray ( ) const
inline

在文件 utilities.hpp991 行定义.

bool winux::Mixed::isBinary ( ) const
inline

在文件 utilities.hpp994 行定义.

bool winux::Mixed::isCollection ( ) const
inline

在文件 utilities.hpp992 行定义.

bool winux::Mixed::isContainer ( ) const
inline

在文件 utilities.hpp993 行定义.

bool winux::Mixed::isEmpty ( ) const
inline

判断容器是否为空

当Mixed是Array/Collection类型时,判断元素是否为空。其他类型时都会返回空。

在文件 utilities.hpp1060 行定义.

bool winux::Mixed::isInteger ( ) const
inline

在文件 utilities.hpp996 行定义.

bool winux::Mixed::isNull ( ) const
inline

在文件 utilities.hpp990 行定义.

bool winux::Mixed::isNumeric ( ) const
inline

在文件 utilities.hpp995 行定义.

bool winux::Mixed::isString ( ) const
inline

在文件 utilities.hpp999 行定义.

bool winux::Mixed::isUnicode ( ) const
inline

在文件 utilities.hpp998 行定义.

String winux::Mixed::json ( ) const
Mixed& winux::Mixed::json ( String const &  jsonStr)
Mixed& winux::Mixed::merge ( Mixed const &  v)

合并另一个容器或添加一个元素

非Array/Collection类型调用此函数会抛异常

String winux::Mixed::myJson ( bool  autoKeyQuotes = true,
AnsiString const &  spacer = "",
AnsiString const &  newline = "" 
) const
winux::Mixed::operator AnsiString ( ) const
winux::Mixed::operator bool ( ) const
winux::Mixed::operator Buffer ( ) const
winux::Mixed::operator byte ( ) const
winux::Mixed::operator double ( ) const
winux::Mixed::operator float ( ) const
winux::Mixed::operator int ( ) const
winux::Mixed::operator int64 ( ) const
winux::Mixed::operator long ( ) const
winux::Mixed::operator short ( ) const
winux::Mixed::operator uint ( ) const
winux::Mixed::operator uint64 ( ) const
winux::Mixed::operator ulong ( ) const
winux::Mixed::operator UnicodeString ( ) const
winux::Mixed::operator ushort ( ) const
bool winux::Mixed::operator!= ( Mixed const &  other) const
inline

在文件 utilities.hpp984 行定义.

bool winux::Mixed::operator< ( Mixed const &  other) const
bool winux::Mixed::operator<= ( Mixed const &  other) const
inline

在文件 utilities.hpp987 行定义.

Mixed& winux::Mixed::operator= ( Mixed const &  other)

拷贝赋值操作

Mixed& winux::Mixed::operator= ( Mixed &&  other)

移动赋值操作

bool winux::Mixed::operator== ( Mixed const &  other) const
bool winux::Mixed::operator> ( Mixed const &  other) const
inline

在文件 utilities.hpp985 行定义.

bool winux::Mixed::operator>= ( Mixed const &  other) const
inline

在文件 utilities.hpp986 行定义.

Mixed& winux::Mixed::operator[] ( Mixed const &  k)

下标操作

Mixed const& winux::Mixed::operator[] ( Mixed const &  k) const

const下标操作

template<typename _ChTy >
Mixed& winux::Mixed::operator[] ( _ChTy const *  k)
inline

下标操作 使兼容字符串指针

在文件 utilities.hpp1078 行定义.

template<typename _ChTy >
Mixed const& winux::Mixed::operator[] ( _ChTy const *  k) const
inline

const下标操作 使兼容字符串指针

在文件 utilities.hpp1081 行定义.

static bool winux::Mixed::ParseBool ( AnsiString const &  str,
bool *  boolVal 
)
static

parse bool

static bool winux::Mixed::ParseBool ( UnicodeString const &  str,
bool *  boolVal 
)
static
static bool winux::Mixed::ParseDouble ( AnsiString const &  str,
double *  dblVal 
)
static

parse double

static bool winux::Mixed::ParseDouble ( UnicodeString const &  str,
double *  dblVal 
)
static
static Mixed& winux::Mixed::ParseJson ( AnsiString const &  str,
Mixed val 
)
static

parse array or collection, it parse a json

static bool winux::Mixed::ParseUInt64 ( AnsiString const &  str,
uint64 ui64Val 
)
static

parse uint64

static bool winux::Mixed::ParseUInt64 ( UnicodeString const &  str,
uint64 ui64Val 
)
static
static bool winux::Mixed::ParseULong ( AnsiString const &  str,
ulong ulVal 
)
static

parse ulong

static bool winux::Mixed::ParseULong ( UnicodeString const &  str,
ulong ulVal 
)
static
bool winux::Mixed::peekCopy ( bool  copyCapacity = false)

把窥探模式下的MT_BINARY类型变为拷贝模式,如果copyCapacity为true时连容量也一起拷贝,否则只拷贝数据。

即使Mixed不是MT_BINARY类型也不会出错,会直接返回false

AnsiString const& winux::Mixed::refAnsi ( ) const
inline

在文件 utilities.hpp21 行定义.

AnsiString& winux::Mixed::refAnsi ( )
inline

在文件 utilities.hpp21 行定义.

MixedArray& winux::Mixed::refArray ( )
inline

在文件 utilities.hpp23 行定义.

MixedArray const& winux::Mixed::refArray ( ) const
inline

在文件 utilities.hpp23 行定义.

bool& winux::Mixed::refBool ( )
inline

在文件 utilities.hpp9 行定义.

bool const& winux::Mixed::refBool ( ) const
inline

在文件 utilities.hpp9 行定义.

Buffer& winux::Mixed::refBuffer ( )
inline

在文件 utilities.hpp25 行定义.

Buffer const& winux::Mixed::refBuffer ( ) const
inline

在文件 utilities.hpp25 行定义.

byte& winux::Mixed::refByte ( )
inline

在文件 utilities.hpp10 行定义.

byte const& winux::Mixed::refByte ( ) const
inline

在文件 utilities.hpp10 行定义.

MixedMixedMap const& winux::Mixed::refCollection ( ) const
inline

在文件 utilities.hpp24 行定义.

MixedMixedMap& winux::Mixed::refCollection ( )
inline

在文件 utilities.hpp24 行定义.

double& winux::Mixed::refDouble ( )
inline

在文件 utilities.hpp20 行定义.

double const& winux::Mixed::refDouble ( ) const
inline

在文件 utilities.hpp20 行定义.

float const& winux::Mixed::refFloat ( ) const
inline

在文件 utilities.hpp17 行定义.

float& winux::Mixed::refFloat ( )
inline

在文件 utilities.hpp17 行定义.

int& winux::Mixed::refInt ( )
inline

在文件 utilities.hpp13 行定义.

int const& winux::Mixed::refInt ( ) const
inline

在文件 utilities.hpp13 行定义.

int64& winux::Mixed::refInt64 ( )
inline

在文件 utilities.hpp18 行定义.

int64 const& winux::Mixed::refInt64 ( ) const
inline

在文件 utilities.hpp18 行定义.

long& winux::Mixed::refLong ( )
inline

在文件 utilities.hpp15 行定义.

long const& winux::Mixed::refLong ( ) const
inline

在文件 utilities.hpp15 行定义.

short const& winux::Mixed::refShort ( ) const
inline

在文件 utilities.hpp11 行定义.

short& winux::Mixed::refShort ( )
inline

在文件 utilities.hpp11 行定义.

template<>
XString<char>& winux::Mixed::refString ( )
inline

在文件 utilities.hpp1336 行定义.

template<typename _ChTy >
XString<_ChTy>& winux::Mixed::refString ( )
template<typename _ChTy >
XString<_ChTy> const& winux::Mixed::refString ( ) const
template<>
XString<wchar>& winux::Mixed::refString ( )
inline

在文件 utilities.hpp1348 行定义.

template<>
XString<char> const& winux::Mixed::refString ( ) const
inline

在文件 utilities.hpp1342 行定义.

template<>
XString<wchar> const& winux::Mixed::refString ( ) const
inline

在文件 utilities.hpp1354 行定义.

uint& winux::Mixed::refUInt ( )
inline

在文件 utilities.hpp14 行定义.

uint const& winux::Mixed::refUInt ( ) const
inline

在文件 utilities.hpp14 行定义.

uint64& winux::Mixed::refUInt64 ( )
inline

在文件 utilities.hpp19 行定义.

uint64 const& winux::Mixed::refUInt64 ( ) const
inline

在文件 utilities.hpp19 行定义.

ulong& winux::Mixed::refULong ( )
inline

在文件 utilities.hpp16 行定义.

ulong const& winux::Mixed::refULong ( ) const
inline

在文件 utilities.hpp16 行定义.

UnicodeString& winux::Mixed::refUnicode ( )
inline

在文件 utilities.hpp22 行定义.

UnicodeString const& winux::Mixed::refUnicode ( ) const
inline

在文件 utilities.hpp22 行定义.

ushort& winux::Mixed::refUShort ( )
inline

在文件 utilities.hpp12 行定义.

ushort const& winux::Mixed::refUShort ( ) const
inline

在文件 utilities.hpp12 行定义.

Mixed& winux::Mixed::reverse ( )

反转容器内元素顺序

非Array/Collection类型调用此函数会抛异常

AnsiString winux::Mixed::toAnsi ( ) const
inline

在文件 utilities.hpp965 行定义.

bool winux::Mixed::toBool ( ) const
inline

在文件 utilities.hpp968 行定义.

Buffer winux::Mixed::toBuffer ( ) const
inline

在文件 utilities.hpp967 行定义.

byte winux::Mixed::toByte ( ) const
inline

在文件 utilities.hpp969 行定义.

double winux::Mixed::toDouble ( ) const
inline

在文件 utilities.hpp979 行定义.

float winux::Mixed::toFloat ( ) const
inline

在文件 utilities.hpp976 行定义.

int winux::Mixed::toInt ( ) const
inline

在文件 utilities.hpp972 行定义.

int64 winux::Mixed::toInt64 ( ) const
inline

在文件 utilities.hpp977 行定义.

long winux::Mixed::toLong ( ) const
inline

在文件 utilities.hpp974 行定义.

short winux::Mixed::toShort ( ) const
inline

在文件 utilities.hpp970 行定义.

template<typename _ChTy >
XString<_ChTy> winux::Mixed::toString ( ) const
template<>
XString<wchar> winux::Mixed::toString ( ) const
inline

Mixed to UnicodeString.

在文件 utilities.hpp1368 行定义.

template<>
XString<char> winux::Mixed::toString ( ) const
inline

Mixed to AnsiString.

在文件 utilities.hpp1361 行定义.

uint winux::Mixed::toUInt ( ) const
inline

在文件 utilities.hpp973 行定义.

uint64 winux::Mixed::toUInt64 ( ) const
inline

在文件 utilities.hpp978 行定义.

ulong winux::Mixed::toULong ( ) const
inline

在文件 utilities.hpp975 行定义.

UnicodeString winux::Mixed::toUnicode ( ) const
inline

在文件 utilities.hpp966 行定义.

ushort winux::Mixed::toUShort ( ) const
inline

在文件 utilities.hpp971 行定义.

MixedType winux::Mixed::type ( ) const
inline

取得类型

在文件 utilities.hpp935 行定义.

static String const& winux::Mixed::TypeString ( MixedType  type)
static

输出指定类型的字符串表示

String const& winux::Mixed::typeString ( ) const
inline

取得类型串

在文件 utilities.hpp937 行定义.

类成员变量说明

union { ... }
bool winux::Mixed::_boolVal

在文件 utilities.hpp800 行定义.

byte winux::Mixed::_btVal

在文件 utilities.hpp799 行定义.

double winux::Mixed::_dblVal

在文件 utilities.hpp789 行定义.

float winux::Mixed::_fltVal

在文件 utilities.hpp792 行定义.

int64 winux::Mixed::_i64Val

在文件 utilities.hpp791 行定义.

int winux::Mixed::_iVal

在文件 utilities.hpp796 行定义.

long winux::Mixed::_lVal

在文件 utilities.hpp794 行定义.

MixedArray* winux::Mixed::_pArr

在文件 utilities.hpp811 行定义.

Buffer* winux::Mixed::_pBuf

在文件 utilities.hpp816 行定义.

MixedMixedMap* winux::Mixed::_pMap

在文件 utilities.hpp812 行定义.

AnsiString* winux::Mixed::_pStr

在文件 utilities.hpp805 行定义.

UnicodeString* winux::Mixed::_pWStr

在文件 utilities.hpp806 行定义.

short winux::Mixed::_shVal

在文件 utilities.hpp798 行定义.

MixedType winux::Mixed::_type

当前类型

在文件 utilities.hpp785 行定义.

uint64 winux::Mixed::_ui64Val

在文件 utilities.hpp790 行定义.

uint winux::Mixed::_uiVal

在文件 utilities.hpp795 行定义.

ulong winux::Mixed::_ulVal

在文件 utilities.hpp793 行定义.

ushort winux::Mixed::_ushVal

在文件 utilities.hpp797 行定义.


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