cartobase  4.5.0
datatypetraits.h File Reference
Include dependency graph for datatypetraits.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  carto::DataTypeTraits< DataType >
 Properties of data types. More...
 

Namespaces

 carto
 

Macros

#define DATA_TYPE_TRAITS_DECLARE_SPECIALIZATION_SINGLE_CHANNEL(T, IS_SCALAR)
 
#define DATA_TYPE_TRAITS_DECLARE_SPECIALIZATION_MULTI_CHANNEL(T, IS_SCALAR)
 
#define DATA_TYPE_TRAITS_DECLARE_SPECIALIZATION(T, IS_SCALAR, IS_MULTICHANNEL)   DATA_TYPE_TRAITS_DECLARE_SPECIALIZATION_##IS_MULTICHANNEL(T, IS_SCALAR) \
 
#define DATA_TYPE_TRAITS_INSTANCIATE_SPECIALIZATION(T)
 

Macro Definition Documentation

#define DATA_TYPE_TRAITS_DECLARE_SPECIALIZATION (   T,
  IS_SCALAR,
  IS_MULTICHANNEL 
)    DATA_TYPE_TRAITS_DECLARE_SPECIALIZATION_##IS_MULTICHANNEL(T, IS_SCALAR) \

Definition at line 68 of file datatypetraits.h.

#define DATA_TYPE_TRAITS_DECLARE_SPECIALIZATION_MULTI_CHANNEL (   T,
  IS_SCALAR 
)
Value:
template <> \
struct DataTypeTraits< T > \
{ \
public: \
typedef T::ChannelType ChannelType; \
\
static const bool is_scalar = false; \
static const bool is_multichannel = true; \
static const unsigned int channelcount = T::channelcount; \
}; \

Definition at line 56 of file datatypetraits.h.

#define DATA_TYPE_TRAITS_DECLARE_SPECIALIZATION_SINGLE_CHANNEL (   T,
  IS_SCALAR 
)
Value:
template <> \
struct DataTypeTraits< T > \
{ \
public: \
typedef T ChannelType; \
\
static const bool is_scalar = IS_SCALAR; \
static const bool is_multichannel = false; \
static const unsigned int channelcount = 1; \
}; \

Definition at line 44 of file datatypetraits.h.

#define DATA_TYPE_TRAITS_INSTANCIATE_SPECIALIZATION (   T)
Value:

Definition at line 71 of file datatypetraits.h.