ZFFramework
 
Loading...
Searching...
No Matches
ZFCoreUtilTemplate.h File Reference

template utils More...

#include "ZFIdentityUtil.h"

Go to the source code of this file.

Classes

class  zftValue< T_Type >
 util wrapper class to hold a type More...
 
class  zftTraits< T_Type >
 type traits similar to STL's traits More...
 
class  zftEnableIf< cond, T_Fix >
 std::enable_if wrapper More...
 
class  zftEnableIf< 1 >
 std::enable_if wrapper More...
 
class  zftIsSame< T0, T1 >
 std::is_same wrapper More...
 
class  zftIsSame< T, T >
 std::is_same wrapper More...
 
class  zftIsClass< T >
 std::is_class wrapper More...
 
class  zftIsTypeOf< TChild, TBase, _IsClass >
 std::is_base_of wrapper More...
 
class  zftIsTypeOf< TChild, TBase, false >
 std::is_base_of wrapper More...
 
class  zftIsTypeOf< T, T, true >
 std::is_base_of wrapper More...
 
class  zftIsPOD< T_Type >
 std::is_pod wrapper More...
 
class  zftHash< T_Type >
 std::hash wrapper More...
 

Macros

#define zftType(...)
 util macro to expand type
 
#define zftTraitsModifierName_N
 see zftTraits::ModifierName
 
#define zftTraitsModifierName_R
 see zftTraits::ModifierName
 
#define zftTraitsModifierName_CR
 see zftTraits::ModifierName
 
#define zftTraitsModifierName_P
 see zftTraits::ModifierName
 
#define zftTraitsModifierName_PR
 see zftTraits::ModifierName
 
#define zftTraitsModifierName_PCR
 see zftTraits::ModifierName
 
#define zftTraitsModifierName_CP
 see zftTraits::ModifierName
 
#define zftTraitsModifierName_CPR
 see zftTraits::ModifierName
 
#define zftTraitsModifierName_CPCR
 see zftTraits::ModifierName
 
#define ZFHASH_DECLARE(Type, action)
 see zftHash
 
#define ZFHASH_DECLARE_TEMPLATE(T_Type, Type, action)
 see zftHash
 
#define ZFCORE_POD_DECLARE(Type)
 explicitly declare as POD
 
#define ZFCORE_POD_DECLARE_TEMPLATE(T_Type, Type)
 explicitly declare as POD
 
#define ZFCORE_POD_DECLARE_NO_COMPARER(Type)
 explicitly declare as POD
 
#define ZFCORE_POD_DECLARE_TEMPLATE_NO_COMPARER(T_Type, Type)
 explicitly declare as POD
 

Enumerations

enum  zftTraitsModifier {
  zftTraitsModifier_N , zftTraitsModifier_R , zftTraitsModifier_CR , zftTraitsModifier_P ,
  zftTraitsModifier_PR , zftTraitsModifier_PCR , zftTraitsModifier_CP , zftTraitsModifier_CPR ,
  zftTraitsModifier_CPCR
}
 see zftTraits::ModifierName More...
 

Functions

template<typename T_Type>
zfidentity zfhash (const T_Type &v)
 std::hash wrapper
 
template<typename T_Element>
zfint zfcmpPOD (T_Element const &v0, T_Element const &v1)
 util method to compare two POD type
 

Detailed Description

template utils

Macro Definition Documentation

◆ zftType

#define zftType ( ...)

util macro to expand type

#define MY_MACRO(P0, P1) xxx
MY_MACRO(int, int) // OK
MY_MACRO(zfstlmap<int, int>, int) // not work
MY_MACRO(zftType(zfstlmap<int, int>), int) // OK
#define zftType(...)
util macro to expand type
Definition ZFCoreUtilTemplate.h:49
#define zfstlmap
stl wrapper
Definition zfstlmap.h:15

Enumeration Type Documentation

◆ zftTraitsModifier

see zftTraits::ModifierName

Enumerator
zftTraitsModifier_N 

see zftTraits::ModifierName

zftTraitsModifier_R 

see zftTraits::ModifierName

zftTraitsModifier_CR 

see zftTraits::ModifierName

zftTraitsModifier_P 

see zftTraits::ModifierName

zftTraitsModifier_PR 

see zftTraits::ModifierName

zftTraitsModifier_PCR 

see zftTraits::ModifierName

zftTraitsModifier_CP 

see zftTraits::ModifierName

zftTraitsModifier_CPR 

see zftTraits::ModifierName

zftTraitsModifier_CPCR 

see zftTraits::ModifierName