Main Page | Modules | Namespace List | Class Hierarchy | Data Structures | Directories | File List | Namespace Members | Data Fields | Globals

TypeFuncs.h File Reference

#include <memory.h>
#include <new>
#include <stdint.h>

Go to the source code of this file.

Namespaces

namespace  alp

Defines

#define ALP_IMPLEMENT_SIMPLE_TYPE_FUNCS(TYPE)
#define ALP_IMPLEMENT_BASIC_TYPE_FUNCS(TYPE)


Define Documentation

#define ALP_IMPLEMENT_BASIC_TYPE_FUNCS TYPE   ) 
 

Value:

static inline void Construct(TYPE* base, size_t count)                                                                  \
        { (void)base; (void)count; }                                                                                                            \
static inline void Destroy(TYPE* base, size_t count)                                                                    \
        { (void)base; (void)count; }                                                                                                            \
static inline void Copy(TYPE* to, const TYPE* from, size_t count = 1)                                   \
        { if (count == 1) *to = *from; else memcpy(to, from, (sizeof(TYPE[2])/2)*count); }      \
static inline void MoveBefore(TYPE* to, TYPE* from, size_t count = 1)                                   \
        { if (count == 1) *to = *from; else memcpy(to, from, (sizeof(TYPE[2])/2)*count); }      \
static inline void MoveAfter(TYPE* to, TYPE* from, size_t count = 1)                                    \
        { if (count == 1) *to = *from; else memmove(to, from, (sizeof(TYPE[2])/2)*count); }     \
static inline void Assign(TYPE* to, const TYPE* from, size_t count = 1)                         \
        { if (count == 1) *to = *from; else memcpy(to, from, (sizeof(TYPE[2])/2)*count); }      \

#define ALP_IMPLEMENT_SIMPLE_TYPE_FUNCS TYPE   ) 
 

Value:

static inline void MoveBefore(TYPE* to, TYPE* from, size_t count = 1)                                   \
        { memcpy(to, from, (sizeof(TYPE[2])/2)*count); }                                                                        \
static inline void MoveAfter(TYPE* to, TYPE* from, size_t count = 1)                                    \
        { memmove(to, from, (sizeof(TYPE[2])/2)*count); }                                                                       \


Generated on Sat Dec 16 20:29:48 2006 for hiker-0.9 by  doxygen 1.4.4