| 
    Evo C++ Library v0.5.1
    
   | 
 
Evo Metaprogramming. More...
#include "impl/sys.h"Go to the source code of this file.
Classes | |
| struct | AddConst< T > | 
| Add const to type.  More... | |
| struct | TypeId::ByteCopy | 
| Used to identify ByteCopy types.  More... | |
| struct | EvoContainer< T > | 
| Trait to identify Evo container types.  More... | |
| struct | TypeId::Get< T > | 
| Use to get type ID info for type T.  More... | |
| struct | TypeId::GetFill< T > | 
| Use to get type ID info for type T as for filling arrays/buffers.  More... | |
| struct | IsArray< T > | 
| Check if type is an array.  More... | |
| struct | IsBool< T > | 
| Check if type is a boolean (true/false) type.  More... | |
| struct | IsByteCopyType< T > | 
| Check if type is a ByteCopy type.  More... | |
| struct | IsConst< T > | 
| Check if type is const.  More... | |
| class | IsConvertible< T, U > | 
| Check if type T is convertible to type U.  More... | |
| class | IsEvoContainer< T > | 
| Check if type is an EvoContainer.  More... | |
| struct | IsFloat< T > | 
| Check if type is a floating point type.  More... | |
| struct | IsInt< T > | 
| Check if type is an integer (whole number) type.  More... | |
| struct | IsNormalType< T > | 
| Check if type is a normal type (not POD and not ByteCopy type).  More... | |
| class | IsNullable< T > | 
| Check if type is nullable.  More... | |
| struct | IsPodType< T > | 
| Check if type is a Plan Old Data type.  More... | |
| struct | IsPointer< T > | 
| Check if type is a pointer.  More... | |
| struct | IsReference< T > | 
| Check if type is a reference.  More... | |
| struct | IsSame< T1, T2 > | 
| Check if types are exactly the same.  More... | |
| struct | IsSigned< T > | 
| Check if integer type is unsigned.  More... | |
| struct | TypeId::Normal | 
| Used to identify normal types (not POD, and not ByteCopy).  More... | |
| struct | TypeId::Pod | 
| Used to identify POD (Plain Old Data) types.  More... | |
| struct | RemoveConst< T > | 
| Remove const from type.  More... | |
| struct | RemoveConstVol< T > | 
| Remove const & volatile from type.  More... | |
| struct | RemoveExtents< T > | 
| Remove extents (pointer and array parts) from type.  More... | |
| struct | RemoveExtentsConstVol< T > | 
| Remove extents (pointer and array parts) and then const & volatile from type.  More... | |
| struct | RemoveVolatile< T > | 
| Remove volatile from type.  More... | |
| struct | StaticBool< val > | 
| Static bool value.  More... | |
| struct | StaticIf< b, T, F > | 
| Static conditional type.  More... | |
| struct | ToSigned< T > | 
| Translate integer type to signed.  More... | |
| struct | ToUnsigned< T > | 
| Translate integer type to unsigned.  More... | |
| struct | TypeId | 
| Type ID info (POD, ByteCopy, Normal).  More... | |
Namespaces | |
| evo | |
| Evo C++ Library namespace.  | |
Macros | |
| #define | EVO_BCTYPE(Type) namespace evo { template<> struct ByteCopyType<Type> : public StaticBoolT { }; } | 
| Identify the given type as a Byte-Copy type.  More... | |
| #define | EVO_CONTAINER(Type) EVO_TRAIT_NSET(evo,EvoContainer,Type) | 
| Identify given type as an EvoContainer.  More... | |
| #define | EVO_CONTAINER_TYPE typedef void EvoContainerType | 
| Identify current class/struct as an EvoContainer.  More... | |
| #define | EVO_CREATE_HAS_METHOD(TypeName, ReturnType, Func, ...) | 
| Create template to check if type has a member function matching given signature.  More... | |
| #define | EVO_CREATE_HAS_METHOD_CONST(TypeName, ReturnType, Func, ...) | 
| Create template to check if type has a const member function matching given signature.  More... | |
| #define | EVO_CREATE_HAS_VAR(TypeName, VarType, VarName) | 
| Create template to check if type has a member variable matching given signature.  More... | |
| #define | EVO_PODTYPE(Type) namespace evo { template<> struct PodType<Type> : public StaticBoolT { }; } | 
| Identify given type as a Plain Old Data Type.  More... | |
| #define | EVO_STATIC_JOIN(A, B) IMPL_EVO_STATIC_JOIN1(A,B) | 
| Join (concatenate) compile-time symbols after resolving macros.  More... | |
| #define | EVO_TRAIT_CREATE(Name) template<class T> struct Name : StaticBoolF { }; | 
| Helper for creating a boolean trait type.  More... | |
| #define | EVO_TRAIT_NSET(Namespace, Name, Type) namespace Namespace { template<> struct Name< Type > : public StaticBoolT { }; } | 
| Helper for setting a boolean trait for given type.  More... | |
| #define | EVO_TRAIT_SET(Name, Type) template<> struct Name< Type > : public StaticBoolT { }; | 
| Helper for setting a boolean trait for given type.  More... | |
| #define | EVO_TYPE_SELECT(T, Pod, Bc, Normal) typename StaticIf<IsPodType<T>::value,Pod,typename StaticIf<IsByteCopyType<T>::value,Bc,Normal>::Type>::Type | 
| Select a type depending on whether Type is POD, ByteCopy, or Normal type.  More... | |
| #define | INCL_evo_meta_h | 
| #define | STATIC_ASSERT(EXP, TOKEN) static_assert(EXP,#TOKEN) | 
| Assert compile-time expression is true or trigger compiler error.  More... | |
| #define | STATIC_ASSERT_FUNC_UNUSED =delete; | 
| Assert a function is unused at compile-time.  More... | |
| #define | STATIC_ASSERT_FUNC_UNUSED_RET(RET) =delete; | 
| Assert a function is unused at compile-time (with return value).  More... | |
Typedefs | |
| typedef StaticBool< false > | StaticBoolF | 
| Static bool value (false).  More... | |
| typedef StaticBool< true > | StaticBoolT | 
| Static bool value (true).  More... | |
Functions | |
| template<class T > | |
| bool | is_null (const T &val) | 
| Check whether object or value is null.  More... | |
Evo Metaprogramming.
| #define INCL_evo_meta_h | 
 1.8.13