fastdo  0.6.16
utilities.hpp 文件参考
#include "system_detection.inl"
#include <string>
#include <sstream>
#include <vector>
#include <map>
#include <tuple>
#include <queue>
#include <functional>
#include <algorithm>
#include <assert.h>
#include <stdlib.h>
#include <string.h>
#include "literal_str.inl"
#include "func_traits.inl"
#include "func_runable.inl"
#include "func_invoker.inl"
utilities.hpp 的引用(Include)关系图:
此图展示该文件直接或间接的被哪些文件引用了:

浏览源代码.

struct  winux::Literal< _ChTy >
 
struct  winux::Literal< char >
 
struct  winux::Literal< wchar >
 
struct  winux::Literal< char16 >
 
struct  winux::Literal< char32 >
 
struct  winux::CharSpec< _ChTy >
 字符类型规范 更多...
 
struct  winux::CharSpec< char >
 
struct  winux::CharSpec< wchar >
 
struct  winux::CharSpec< char16 >
 
struct  winux::CharSpec< char32 >
 
struct  winux::Bin0< n >
 二进制数。编译时计算,0开头(基于8进制) 更多...
 
struct  winux::Bin0< 0 >
 
class  winux::RefParam< _Ty >
 
struct  winux::IndexSequence< _Index >
 Tuple参数序列 更多...
 
struct  winux::MakeIndexSequence< _Num, _IdxSeq >
 
struct  winux::MakeIndexSequence< _Num, IndexSequence< _Index... > >
 
struct  winux::MakeIndexSequence< 0, IndexSequence< _Index... > >
 
struct  winux::FuncTraits< _Callable >
 函数特征 更多...
 
struct  winux::FuncTraits< _RetType __cdecl(_ArgTypes...) >
 
struct  winux::FuncTraits< _RetType __cdecl(_ArgTypes...) >::Argument< _Idx >
 
struct  winux::FuncTraits< _RetType(__cdecl *)(_ArgTypes...) >
 
struct  winux::FuncTraits< std::function< _RetType __cdecl(_ArgTypes...) > >
 
struct  winux::FuncTraits< _RetType __stdcall(_ArgTypes...) >
 
struct  winux::FuncTraits< _RetType __stdcall(_ArgTypes...) >::Argument< _Idx >
 
struct  winux::FuncTraits< _RetType(__stdcall *)(_ArgTypes...) >
 
struct  winux::FuncTraits< std::function< _RetType __stdcall(_ArgTypes...) > >
 
struct  winux::FuncTraits< _RetType __fastcall(_ArgTypes...) >
 
struct  winux::FuncTraits< _RetType __fastcall(_ArgTypes...) >::Argument< _Idx >
 
struct  winux::FuncTraits< _RetType(__fastcall *)(_ArgTypes...) >
 
struct  winux::FuncTraits< std::function< _RetType __fastcall(_ArgTypes...) > >
 
struct  winux::FuncTraits< _RetType(_Cls::*)(_ArgTypes...) >
 
struct  winux::FuncTraits< _RetType(_Cls::*)(_ArgTypes...) const >
 
struct  winux::FuncTraits< _RetType(_Cls::*)(_ArgTypes...) volatile >
 
struct  winux::FuncTraits< _RetType(_Cls::*)(_ArgTypes...) const volatile >
 
struct  winux::FuncTraits< _Callable >
 函数特征 更多...
 
class  winux::Runable
 Runable模板 更多...
 
class  winux::RunableInvoker< _RetType >
 
class  winux::RunableT< _Fx, _TargetTuple, typename >
 
class  winux::RunableT< _Fx, _TargetTuple, void >
 
class  winux::Invoker< _Fx, typename, typename >
 Invoker模板 更多...
 
class  winux::Invoker< _Fx, typename std::enable_if< !std::is_same< typename winux::FuncTraits< _Fx >::ClassType, void >::value, typename winux::FuncTraits< _Fx >::ClassType >::type, void >
 
class  winux::Invoker< _Fx, void, typename std::enable_if< !std::is_same< typename winux::FuncTraits< _Fx >::ReturnType, void >::value, typename winux::FuncTraits< _Fx >::ReturnType >::type >
 
class  winux::Invoker< _Fx, void, void >
 
struct  winux::FuncWrapper< _PfnType, pfn >
 函数包装,用来将不同调用约定的函数统一包装成默认约定 更多...
 
class  winux::MapAssigner< _KTy, _VTy, _Pr, _Alloc >
 MAP赋值器 更多...
 
class  winux::ArrayAssigner< _Ty, _Alloc >
 Array赋值器 更多...
 
class  winux::Members< _TargetCls >
 成员隐藏(By pointer) 更多...
 
class  winux::PlainMembers< _TargetCls, _MembersSize >
 Plain成员隐藏(By plain block) 更多...
 
class  winux::Error
 错误类 更多...
 
class  winux::Buffer
 缓冲区,表示内存中一块二进制数据(利用malloc/realloc进行内存分配) 更多...
 
class  winux::Packet< _PodType >
 数据包,用来表示一些POD结构体用于网络通信。通常这类结构体实际大小 > sizeof(这类结构体) 更多...
 
class  winux::GrowBuffer
 高效的可增长缓冲区,1.33倍冗余量 更多...
 
class  winux::MixedError
 混合体错误 更多...
 
struct  winux::$a
 Mixed构造数组辅助类 更多...
 
struct  winux::$c
 Mixed构造集合辅助类 更多...
 
class  winux::MixedLess
 Mixed集合类型的less谓词 更多...
 
class  winux::MixedLessI
 Mixed集合类型的less谓词,大小写无关 更多...
 
class  winux::Collection
 集合类 更多...
 
class  winux::Mixed
 混合体,能表示多种类型的值 更多...
 
class  winux::Mixed::CollectionAssigner
 
class  winux::Mixed::ArrayAssigner
 

命名空间

 winux
 跨平台基础功能库
 

宏定义

#define WINUX_DLL
 
#define WINUX_API
 
#define WINUX_FUNC_DECL(ret)   WINUX_DLL ret WINUX_API
 
#define WINUX_FUNC_IMPL(ret)   ret WINUX_API
 
#define countof(arr)   ( sizeof(arr) / sizeof(arr[0]) )
 
#define T(__x)   __x
 
#define DISABLE_OBJECT_COPY(clsname)
 
#define IF_PTR(ptr)   if ( (ptr) != NULL ) (ptr)
 
#define ASSIGN_PTR(ptr)   if ( (ptr) != NULL ) (*(ptr))
 
#define UNUSED(s)
 
#define DEFINE_ATTR_MEMBER(ty, name, memname)
 
#define DEFINE_ATTR_MEMBER_READONLY(ty, name, memname)
 
#define DEFINE_ATTR_MEMBER_VAL(ty, name, memname)
 
#define DEFINE_ATTR_MEMBER_VAL_READONLY(ty, name, memname)
 
#define DEFINE_ATTR_METHOD(ty, name, memname)
 
#define DEFINE_ATTR_METHOD_READONLY(ty, name, memname)
 
#define DEFINE_ATTR_METHOD_VAL(ty, name, memname)
 
#define DEFINE_ATTR_METHOD_VAL_READONLY(ty, name, memname)
 
#define DEFINE_ATTR(ty, name, getcode, setcode)
 
#define DEFINE_ATTR_READONLY(ty, name, getcode)
 
#define DEFINE_ATTR_VAL(ty, name, getcode, setcode)
 
#define DEFINE_ATTR_VAL_READONLY(ty, name, getcode)
 
#define DEFINE_FUNC_NEWINSTANCE(cls, ret, paramtypes, params)
 
#define DEFINE_CUSTOM_EVENT(evtname, paramtypes, calledparams)
 
#define DEFINE_CUSTOM_EVENT_RETURN_EX(ret, evtname, paramtypes)
 
#define GCC_VERSION_GREAT_THAN(Major, Minor, Patchlevel)   ( __GNUC__ > Major || ( __GNUC__ == Major && ( __GNUC_MINOR__ > Minor || ( __GNUC_MINOR__ == Minor && __GNUC_PATCHLEVEL__ > Patchlevel ) ) ) )
 
#define BinVal(x)   winux::Bin0<0##x>::val
 
#define MIXED_REF_TYPE_METHOD(mt, ty, memb, funcname)
 
#define MIXED_REF_TYPE_METHOD_OUTER(mt, ty, memb, funcname)
 
#define MIXED_TYPE_ENUM_ITEM(item, nouse1, nouse2, nouse3)   item,
 
#define MIXED_TYPE_ENUM_ITEMSTRINGA(item, nouse1, nouse2, nouse3)   #item,
 
#define MIXED_TYPE_ENUM_ITEMSTRINGW(item, nouse1, nouse2, nouse3)   L ## #item,
 
#define MIXED_TYPE_LIST(funcmacro)
 

类型定义

typedef int winux::int32
 
typedef unsigned int winux::uint
 
typedef unsigned int winux::uint32
 
typedef unsigned long winux::ulong
 
typedef short winux::int16
 
typedef unsigned short winux::ushort
 
typedef unsigned short winux::uint16
 
typedef char winux::int8
 
typedef unsigned char winux::uint8
 
typedef char16_t winux::char16
 
typedef char32_t winux::char32
 
typedef intptr_t winux::offset_t
 
typedef intptr_t winux::ssize_t
 
typedef size_t winux::usize_t
 
typedef wchar_t winux::wchar
 
typedef unsigned __int64 winux::uint64
 
typedef unsigned __int64 winux::ulonglong
 
typedef __int64 winux::int64
 
typedef __int64 winux::longlong
 
typedef char winux::tchar
 
typedef unsigned char winux::byte
 
template<typename _ChTy >
using winux::XString = std::basic_string< _ChTy, std::char_traits< _ChTy >, std::allocator< _ChTy > >
 
typedef XString< char > winux::AnsiString
 
typedef XString< char > winux::Utf8String
 
typedef XString< wchar > winux::UnicodeString
 
typedef XString< char16 > winux::UnicodeString16
 
typedef XString< char16 > winux::Utf16String
 
typedef XString< char32 > winux::UnicodeString32
 
typedef XString< char32 > winux::Utf32String
 
typedef XString< tchar > winux::String
 
template<typename _ChTy >
using winux::XStringArray = std::vector< XString< _ChTy > >
 
typedef XStringArray< char > winux::AnsiStringArray
 
typedef XStringArray< char > winux::Utf8StringArray
 
typedef XStringArray< wchar > winux::UnicodeStringArray
 
typedef XStringArray< char16 > winux::UnicodeString16Array
 
typedef XStringArray< char32 > winux::UnicodeString32Array
 
typedef XStringArray< char16 > winux::Utf16StringArray
 
typedef XStringArray< char32 > winux::Utf32StringArray
 
typedef XStringArray< tchar > winux::StringArray
 
typedef std::map< String, String > winux::StringStringMap
 
typedef std::pair< String, String > winux::StringStringPair
 
typedef std::vector< Mixed > winux::MixedArray
 
typedef std::map< String, Mixed > winux::StringMixedMap
 
typedef std::pair< String, Mixed > winux::StringMixedPair
 
template<typename _ChTy >
using winux::CharTypeConstrain = typename CharSpec< typename std::decay< _ChTy >::type >::Type
 字符类型约束 更多...
 
typedef std::map< Mixed, Mixed, MixedLess > winux::MixedMixedMap
 
typedef std::map< Mixed, Mixed, MixedLessI > winux::MixedMixedMapI
 
typedef std::pair< Mixed const, Mixed > winux::MixedMixedPair
 

函数

template<typename _Ty >
RefParam< _Ty > winux::Ref (_Ty &r)
 向模板参数传递引用型参数 更多...
 
template<typename _Fx , typename... _ArgType>
RunableT< _Fx, std::tuple< typename std::decay< _ArgType >::type... > > * winux::NewRunable (_Fx fn, _ArgType &&...arg)
 创建一个Runable对象 更多...
 
template<typename _Fx , typename... _ArgType>
Invoker< _Fx > * winux::NewInvoker (_Fx fn, _ArgType &&...arg)
 
template<typename _KTy , typename _VTy , typename _Pr , typename _Alloc >
MapAssigner< _KTy, _VTy, _Pr, _Alloc > winux::Assign (std::map< _KTy, _VTy, _Pr, _Alloc > *m)
 给容器赋值 更多...
 
template<typename _Ty , typename _Alloc >
ArrayAssigner< _Ty, _Alloc > winux::Assign (std::vector< _Ty, _Alloc > *a)
 给容器赋值 更多...
 
template<typename _ChTy , typename = CharTypeConstrain<_ChTy>>
static size_t winux::StrLen (_ChTy const *str)
 计算字符串长度 更多...
 
template<typename _Ty >
static _Ty winux::InvertByteOrder (_Ty v)
 反转字节序。_Ty必须是基本数字类型 更多...
 
template<typename _Ty >
static void winux::InvertByteOrderArray (_Ty *p, size_t count)
 反转字节序。_Ty必须是基本数字类型 更多...
 
void winux::InvertByteOrder (void *buf, size_t size)
 反转字节序 更多...
 
static bool winux::IsLittleEndian ()
 判断编译环境是否为小端序 更多...
 
static bool winux::IsBigEndian ()
 判断编译环境是否为大端序 更多...
 
int winux::MemoryCompare (void const *buf1, size_t n1, void const *buf2, size_t n2)
 内存比较 更多...
 
int winux::MemoryCompareI (void const *buf1, size_t n1, void const *buf2, size_t n2)
 内存比较(不区分大小写) 更多...
 
template<typename _ChTy >
static int winux::StringCompare (XString< _ChTy > const &str1, XString< _ChTy > const &str2)
 字符串比较 更多...
 
template<typename _ChTy >
static int winux::StringCompareI (XString< _ChTy > const &str1, XString< _ChTy > const &str2)
 字符串(大小写无关)比较 更多...
 
template<typename _Ty >
static bool winux::ArrayLess (_Ty const *arr1, size_t count1, _Ty const *arr2, size_t count2)
 array less 更多...
 
template<typename _Ty >
static bool winux::ArrayGreater (_Ty const *arr1, size_t count1, _Ty const *arr2, size_t count2)
 array greater 更多...
 
template<typename _Ty >
static bool winux::ArrayEqual (_Ty const *arr1, size_t count1, _Ty const *arr2, size_t count2)
 array equal 更多...
 
template<typename _Ty >
static bool winux::ArrayLess (std::vector< _Ty > const &arr1, std::vector< _Ty > const &arr2)
 array less 更多...
 
template<typename _Ty >
static bool winux::ArrayGreater (std::vector< _Ty > const &arr1, std::vector< _Ty > const &arr2)
 array less 更多...
 
template<typename _Ty >
static bool winux::ArrayEqual (std::vector< _Ty > const &arr1, std::vector< _Ty > const &arr2)
 array equal 更多...
 
bool winux::CollectionLess (Collection const &coll1, Collection const &coll2)
 collection less 更多...
 
bool winux::CollectionGreater (Collection const &coll1, Collection const &coll2)
 collection greater 更多...
 
bool winux::CollectionEqual (Collection const &coll1, Collection const &coll2)
 collection equal 更多...
 
template<typename _MAP , typename _KEY >
bool winux::isset (_MAP const &m, _KEY const &k)
 检测map中是否有该键的值 更多...
 
template<typename _Ty >
std::vector< _Ty > winux::ToArray (_Ty *arr, uint count)
 将C数组转换成vector 更多...
 
template<typename _Ty , uint _Count>
std::vector< _Ty > winux::ToArray (_Ty(&arr)[_Count])
 
template<typename _Fx , typename... _ArgType>
int winux::VoidReturnInt (_Fx fn, _ArgType &&...arg)
 调用一个返回void的函数或函数对象,返回一个数字 更多...
 
bool winux::ValueIsInArray (StringArray const &arr, String const &val, bool caseInsensitive=false)
 判断一个字符串值是否在一个字符串数组里,默认大小写敏感 更多...
 
int winux::Random (int n1, int n2)
 随机数,随机产生n1~n2的数字. 包括n1,n2本身 更多...
 
bool winux::ParseBool (AnsiString const &str, bool *boolVal)
 parse bool 更多...
 
bool winux::ParseBool (UnicodeString const &str, bool *boolVal)
 parse bool 更多...
 
bool winux::ParseInt (AnsiString const &str, int *iVal)
 parse int 更多...
 
bool winux::ParseInt (UnicodeString const &str, int *iVal)
 parse int 更多...
 
bool winux::ParseUInt (AnsiString const &str, uint *uiVal)
 parse uint 更多...
 
bool winux::ParseUInt (UnicodeString const &str, uint *uiVal)
 parse uint 更多...
 
bool winux::ParseLong (AnsiString const &str, long *lVal)
 parse long 更多...
 
bool winux::ParseLong (UnicodeString const &str, long *lVal)
 parse long 更多...
 
bool winux::ParseULong (AnsiString const &str, ulong *ulVal)
 parse ulong 更多...
 
bool winux::ParseULong (UnicodeString const &str, ulong *ulVal)
 parse ulong 更多...
 
bool winux::ParseInt64 (AnsiString const &str, int64 *i64Val)
 parse int64 更多...
 
bool winux::ParseInt64 (UnicodeString const &str, int64 *i64Val)
 parse int64 更多...
 
bool winux::ParseUInt64 (AnsiString const &str, uint64 *ui64Val)
 parse uint64 更多...
 
bool winux::ParseUInt64 (UnicodeString const &str, uint64 *ui64Val)
 parse uint64 更多...
 
bool winux::ParseFloat (AnsiString const &str, float *fltVal)
 parse float 更多...
 
bool winux::ParseFloat (UnicodeString const &str, float *fltVal)
 parse float 更多...
 
bool winux::ParseDouble (AnsiString const &str, double *dblVal)
 parse double 更多...
 
bool winux::ParseDouble (UnicodeString const &str, double *dblVal)
 parse double 更多...
 
static int winux::BufferCompare (Buffer const &buf1, Buffer const &buf2)
 memcmp() 更多...
 
static int winux::BufferCompareI (Buffer const &buf1, Buffer const &buf2)
 memicmp() 更多...
 
AnsiString const & winux::TypeStringA (Mixed const &v)
 输出Mixed类型的字符串表示 更多...
 
UnicodeString const & winux::TypeStringW (Mixed const &v)
 输出Mixed类型的字符串表示 更多...
 
std::ostream & winux::operator<< (std::ostream &o, Mixed const &m)
 扩展iostream的<< 更多...
 
std::wostream & winux::operator<< (std::wostream &o, Mixed const &m)
 

变量

static constexpr size_t const winux::npos = static_cast<size_t>(-1)
 非位置,值为-1。 更多...
 
Mixed const winux::mxNull
 Mixed(MT_NULL)常量对象 更多...
 

宏定义说明

#define WINUX_DLL

在文件 utilities.hpp60 行定义.

#define WINUX_API

在文件 utilities.hpp61 行定义.

#define WINUX_FUNC_DECL (   ret)    WINUX_DLL ret WINUX_API

在文件 utilities.hpp64 行定义.

#define WINUX_FUNC_IMPL (   ret)    ret WINUX_API

在文件 utilities.hpp65 行定义.

#define countof (   arr)    ( sizeof(arr) / sizeof(arr[0]) )

在文件 utilities.hpp68 行定义.

#define T (   __x)    __x

在文件 utilities.hpp75 行定义.

#define DISABLE_OBJECT_COPY (   clsname)
值:
private:\
clsname( clsname const & ) = delete;\
clsname & operator = ( clsname const & ) = delete;

在文件 utilities.hpp85 行定义.

#define IF_PTR (   ptr)    if ( (ptr) != NULL ) (ptr)

在文件 utilities.hpp91 行定义.

#define ASSIGN_PTR (   ptr)    if ( (ptr) != NULL ) (*(ptr))

在文件 utilities.hpp93 行定义.

#define UNUSED (   s)

在文件 utilities.hpp97 行定义.

#define DEFINE_ATTR_MEMBER (   ty,
  name,
  memname 
)
值:
public:\
ty const & get##name() const { return this->memname; }\
void set##name( ty const & v ) { this->memname = v; }\
private:\
ty memname;

在文件 utilities.hpp101 行定义.

#define DEFINE_ATTR_MEMBER_READONLY (   ty,
  name,
  memname 
)
值:
public:\
ty const & get##name() const { return this->memname; }\
private:\
ty memname;

在文件 utilities.hpp109 行定义.

#define DEFINE_ATTR_MEMBER_VAL (   ty,
  name,
  memname 
)
值:
public:\
ty get##name() const { return this->memname; }\
void set##name( ty v ) { this->memname = v; }\
private:\
ty memname;

在文件 utilities.hpp116 行定义.

#define DEFINE_ATTR_MEMBER_VAL_READONLY (   ty,
  name,
  memname 
)
值:
public:\
ty get##name() const { return this->memname; }\
private:\
ty memname;

在文件 utilities.hpp124 行定义.

#define DEFINE_ATTR_METHOD (   ty,
  name,
  memname 
)
值:
public:\
ty const & get##name() const { return this->memname; }\
void set##name( ty const & v ) { this->memname = v; }

在文件 utilities.hpp131 行定义.

#define DEFINE_ATTR_METHOD_READONLY (   ty,
  name,
  memname 
)
值:
public:\
ty const & get##name() const { return this->memname; }

在文件 utilities.hpp137 行定义.

#define DEFINE_ATTR_METHOD_VAL (   ty,
  name,
  memname 
)
值:
public:\
ty get##name() const { return this->memname; }\
void set##name( ty v ) { this->memname = v; }

在文件 utilities.hpp142 行定义.

#define DEFINE_ATTR_METHOD_VAL_READONLY (   ty,
  name,
  memname 
)
值:
public:\
ty get##name() const { return this->memname; }

在文件 utilities.hpp148 行定义.

#define DEFINE_ATTR (   ty,
  name,
  getcode,
  setcode 
)
值:
public:\
ty const & get##name() const { getcode; }\
void set##name( ty const & _VAL_ ) { setcode; }

在文件 utilities.hpp153 行定义.

#define DEFINE_ATTR_READONLY (   ty,
  name,
  getcode 
)
值:
public:\
ty const & get##name() const { getcode; }

在文件 utilities.hpp159 行定义.

#define DEFINE_ATTR_VAL (   ty,
  name,
  getcode,
  setcode 
)
值:
public:\
ty get##name() const { getcode; }\
void set##name( ty _VAL_ ) { setcode; }

在文件 utilities.hpp164 行定义.

#define DEFINE_ATTR_VAL_READONLY (   ty,
  name,
  getcode 
)
值:
public:\
ty get##name() const { getcode; }

在文件 utilities.hpp170 行定义.

#define DEFINE_FUNC_NEWINSTANCE (   cls,
  ret,
  paramtypes,
  params 
)
值:
inline static ret * NewInstance##paramtypes \
{ \
return new cls##params;\
}

在文件 utilities.hpp175 行定义.

#define DEFINE_CUSTOM_EVENT (   evtname,
  paramtypes,
  calledparams 
)
值:
public: \
using evtname##HandlerFunction = std::function< void paramtypes >; \
void on##evtname##Handler( evtname##HandlerFunction handler ) \
{ \
this->_##evtname##Handler = handler; \
} \
protected: \
evtname##HandlerFunction _##evtname##Handler; \
virtual void on##evtname paramtypes \
{ \
if ( this->_##evtname##Handler ) this->_##evtname##Handler calledparams; \
}

在文件 utilities.hpp182 行定义.

#define DEFINE_CUSTOM_EVENT_RETURN_EX (   ret,
  evtname,
  paramtypes 
)
值:
public: \
using evtname##HandlerFunction = std::function< ret paramtypes >; \
void on##evtname##Handler( evtname##HandlerFunction handler ) \
{ \
this->_##evtname##Handler = handler; \
} \
protected: \
evtname##HandlerFunction _##evtname##Handler; \
virtual ret on##evtname paramtypes

在文件 utilities.hpp197 行定义.

#define GCC_VERSION_GREAT_THAN (   Major,
  Minor,
  Patchlevel 
)    ( __GNUC__ > Major || ( __GNUC__ == Major && ( __GNUC_MINOR__ > Minor || ( __GNUC_MINOR__ == Minor && __GNUC_PATCHLEVEL__ > Patchlevel ) ) ) )

在文件 utilities.hpp210 行定义.

#define BinVal (   x)    winux::Bin0<0##x>::val

在文件 utilities.hpp314 行定义.

#define MIXED_REF_TYPE_METHOD (   mt,
  ty,
  memb,
  funcname 
)
值:
ty& ref##funcname() { if ( this->_type != mt ) throw MixedError( MixedError::meUnexpectedType, "ref"#funcname"(): " + TypeStringA(*this) + " can not be referenced as a "#mt ); return memb; }\
ty const& ref##funcname() const { if ( this->_type != mt ) throw MixedError( MixedError::meUnexpectedType, "ref"#funcname"(): " + TypeStringA(*this) + " can not be referenced as a "#mt ); return memb; }
AnsiString const & TypeStringA(Mixed const &v)
输出Mixed类型的字符串表示

在文件 utilities.hpp1451 行定义.

#define MIXED_REF_TYPE_METHOD_OUTER (   mt,
  ty,
  memb,
  funcname 
)
值:
template<> inline ty& Mixed::ref<ty>() { if ( this->_type != mt ) throw MixedError( MixedError::meUnexpectedType, "ref<"#ty">(): " + TypeStringA(*this) + " can not be referenced as a "#mt ); return memb; }\
template<> inline ty const& Mixed::ref<ty>() const { if ( this->_type != mt ) throw MixedError( MixedError::meUnexpectedType, "ref<"#ty">(): " + TypeStringA(*this) + " can not be referenced as a "#mt ); return memb; }
AnsiString const & TypeStringA(Mixed const &v)
输出Mixed类型的字符串表示

在文件 utilities.hpp1454 行定义.

#define MIXED_TYPE_ENUM_ITEM (   item,
  nouse1,
  nouse2,
  nouse3 
)    item,

在文件 utilities.hpp1459 行定义.

#define MIXED_TYPE_ENUM_ITEMSTRINGA (   item,
  nouse1,
  nouse2,
  nouse3 
)    #item,

在文件 utilities.hpp1460 行定义.

#define MIXED_TYPE_ENUM_ITEMSTRINGW (   item,
  nouse1,
  nouse2,
  nouse3 
)    L ## #item,

在文件 utilities.hpp1461 行定义.

#define MIXED_TYPE_LIST (   funcmacro)
值:
funcmacro( MT_BOOLEAN, bool, _boolVal, Bool ) \
funcmacro( MT_CHAR, char, _chVal, Char ) \
funcmacro( MT_BYTE, byte, _btVal, Byte ) \
funcmacro( MT_SHORT, short, _shVal, Short ) \
funcmacro( MT_USHORT, ushort, _ushVal, UShort ) \
funcmacro( MT_INT, int, _iVal, Int ) \
funcmacro( MT_UINT, uint, _uiVal, UInt ) \
funcmacro( MT_LONG, long, _lVal, Long ) \
funcmacro( MT_ULONG, ulong, _ulVal, ULong ) \
funcmacro( MT_INT64, int64, _i64Val, Int64 ) \
funcmacro( MT_UINT64, uint64, _ui64Val, UInt64 ) \
funcmacro( MT_FLOAT, float, _fltVal, Float ) \
funcmacro( MT_DOUBLE, double, _dblVal, Double ) \
funcmacro( MT_ANSI, AnsiString, *_pStr, Ansi ) \
funcmacro( MT_UNICODE, UnicodeString, *_pWStr, Unicode ) \
funcmacro( MT_BINARY, Buffer, *_pBuf, Buffer ) \
funcmacro( MT_ARRAY, MixedArray, *_pArr, Array ) \
funcmacro( MT_COLLECTION, Collection, *_pColl, Collection )
XString< char > AnsiString
Definition: utilities.hpp:257
__int64 int64
Definition: utilities.hpp:232
XString< wchar > UnicodeString
Definition: utilities.hpp:258
std::vector< Mixed > MixedArray
Definition: utilities.hpp:277
unsigned int uint
Definition: utilities.hpp:215
unsigned char byte
Definition: utilities.hpp:249
unsigned short ushort
Definition: utilities.hpp:218
unsigned long ulong
Definition: utilities.hpp:216
unsigned __int64 uint64
Definition: utilities.hpp:230

在文件 utilities.hpp1463 行定义.