#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 "func_traits.inl"
#include "func_runable.inl"
#include "func_invoker.inl"
#include "mixed_ref_specified_type.inl"
浏览源代码.
 | 
| #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  | TEXT(__x)   __x | 
|   | 
| #define  | DISABLE_OBJECT_COPY(clsname) | 
|   | 
| #define  | CBufferToAnsiString(buf,  size)   winux::AnsiString( (char const *)(buf), (size_t)(size) ) | 
|   | 
| #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(ty,  name,  getcode,  setcode) | 
|   | 
| #define  | DEFINE_ATTR_READONLY(ty,  name,  getcode) | 
|   | 
| #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  | MixedType_ENUM_ITEM(item)   item, | 
|   | 
| #define  | MixedType_ENUM_ITEMSTRING(item)   #item, | 
|   | 
| #define  | MixedType_ENUM_ITEMLIST(_) | 
|   | 
 | 
| 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 _N>  | 
| std::vector< _Ty >  | winux::ToArray (_Ty(&arr)[_N]) | 
|   | 
| template<typename _Fx , typename... _ArgType>  | 
| int  | winux::VoidReturnInt (_Fx fn, _ArgType &&...arg) | 
|   | 调用一个返回void的函数或函数对象,返回一个数字  更多...
  | 
|   | 
| template<typename _Ty >  | 
| RefParam< _Ty >  | winux::Ref (_Ty &r) | 
|   | 向模板参数传递引用型参数  更多...
  | 
|   | 
| template<typename _KTy , typename _VTy >  | 
| MapAssigner< _KTy, _VTy >  | winux::Assign (std::map< _KTy, _VTy > *m) | 
|   | 给容器赋值  更多...
  | 
|   | 
| template<typename _Ty >  | 
| ArrayAssigner< _Ty >  | winux::Assign (std::vector< _Ty > *a) | 
|   | 给容器赋值  更多...
  | 
|   | 
| bool  | winux::ValueIsInArray (StringArray const &arr, String const &val, bool caseInsensitive=false) | 
|   | 判断一个字符串值是否在一个字符串数组里,默认大小写敏感  更多...
  | 
|   | 
| int  | winux::Random (int n1, int n2) | 
|   | 随机数,随机产生n1~n2的数字. 包括n1,n2本身  更多...
  | 
|   | 
| std::ostream &  | winux::operator<< (std::ostream &o, Mixed const &m) | 
|   | 扩展iostream的<<  更多...
  | 
|   | 
| std::wostream &  | winux::operator<< (std::wostream &o, Mixed const &m) | 
|   | 
      
        
          | #define ASSIGN_PTR | 
          ( | 
            | 
          ptr | ) | 
             if ( (ptr) != NULL ) (*(ptr)) | 
        
      
 
 
      
        
          | #define CBufferToAnsiString | 
          ( | 
            | 
          buf,  | 
        
        
           | 
           | 
            | 
          size  | 
        
        
           | 
          ) | 
           |    winux::AnsiString( (char const *)(buf), (size_t)(size) ) | 
        
      
 
 
      
        
          | #define countof | 
          ( | 
            | 
          arr | ) | 
             ( sizeof(arr) / sizeof(arr[0]) ) | 
        
      
 
 
      
        
          | #define DEFINE_ATTR | 
          ( | 
            | 
          ty,  | 
        
        
           | 
           | 
            | 
          name,  | 
        
        
           | 
           | 
            | 
          getcode,  | 
        
        
           | 
           | 
            | 
          setcode  | 
        
        
           | 
          ) | 
           |  | 
        
      
 
值:public:\
    ty get##name() const { getcode; }\
    void set##name( ty const & _VAL_ ) { setcode; }
 
在文件 utilities.hpp 第 111 行定义.
 
 
      
        
          | #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.hpp 第 96 行定义.
 
 
      
        
          | #define DEFINE_ATTR_MEMBER_READONLY | 
          ( | 
            | 
          ty,  | 
        
        
           | 
           | 
            | 
          name,  | 
        
        
           | 
           | 
            | 
          memname  | 
        
        
           | 
          ) | 
           |  | 
        
      
 
值:public:\
    ty const & get##name() const { return this->##memname; }\
private:\
    ty memname;
 
在文件 utilities.hpp 第 104 行定义.
 
 
      
        
          | #define DEFINE_ATTR_READONLY | 
          ( | 
            | 
          ty,  | 
        
        
           | 
           | 
            | 
          name,  | 
        
        
           | 
           | 
            | 
          getcode  | 
        
        
           | 
          ) | 
           |  | 
        
      
 
 
      
        
          | #define DISABLE_OBJECT_COPY | 
          ( | 
            | 
          clsname | ) | 
           | 
        
      
 
值:private:\
clsname & operator = ( clsname const & ) = delete;\
clsname( clsname const & ) = delete;
 
在文件 utilities.hpp 第 78 行定义.
 
 
      
        
          | #define GCC_VERSION_GREAT_THAN | 
          ( | 
            | 
          Major,  | 
        
        
           | 
           | 
            | 
          Minor,  | 
        
        
           | 
           | 
            | 
          Patchlevel  | 
        
        
           | 
          ) | 
           |    ( __GNUC__ > Major || ( __GNUC__ == Major && ( __GNUC_MINOR__ > Minor || ( __GNUC_MINOR__ == Minor && __GNUC_PATCHLEVEL__ > Patchlevel ) ) ) ) | 
        
      
 
 
      
        
          | #define IF_PTR | 
          ( | 
            | 
          ptr | ) | 
             if ( (ptr) != NULL ) (ptr) | 
        
      
 
 
      
        
          | #define MixedType_ENUM_ITEM | 
          ( | 
            | 
          item | ) | 
             item, | 
        
      
 
 
      
        
          | #define MixedType_ENUM_ITEMLIST | 
          ( | 
            | 
          _ | ) | 
           | 
        
      
 
值:_(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)
二进制数据类型,利用Buffer类对象存储的二进制数据 
在文件 utilities.hpp 第 593 行定义.
 
 
      
        
          | #define MixedType_ENUM_ITEMSTRING | 
          ( | 
            | 
          item | ) | 
             #item, |