cartobase 6.0.6
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

namespace  carto
 

Macros

#define DATA_TYPE_TRAITS_DECLARE_SPECIALIZATION_SINGLE_CHANNEL(T, IS_SCALAR, LONG, HAS_BOOL_CONVERSION)
 
#define DATA_TYPE_TRAITS_DECLARE_SPECIALIZATION_MULTI_CHANNEL(T, IS_SCALAR, LONG, HAS_BOOL_CONVERSION)
 
#define DATA_TYPE_TRAITS_DECLARE_SPECIALIZATION(T, IS_SCALAR, IS_MULTICHANNEL, LONG, HAS_BOOL_CONVERSION)
 
#define DATA_TYPE_TRAITS_INSTANCIATE_SPECIALIZATION(T)
 
#define DATA_TYPE_TRAITS_INSTANCIATE_TEMPLATE_SPECIALIZATION(T)
 

Macro Definition Documentation

◆ DATA_TYPE_TRAITS_DECLARE_SPECIALIZATION

#define DATA_TYPE_TRAITS_DECLARE_SPECIALIZATION ( T,
IS_SCALAR,
IS_MULTICHANNEL,
LONG,
HAS_BOOL_CONVERSION )
Value:
DATA_TYPE_TRAITS_DECLARE_SPECIALIZATION_##IS_MULTICHANNEL(T, IS_SCALAR, LONG, HAS_BOOL_CONVERSION) \

Definition at line 72 of file datatypetraits.h.

◆ DATA_TYPE_TRAITS_DECLARE_SPECIALIZATION_MULTI_CHANNEL

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

Definition at line 58 of file datatypetraits.h.

◆ DATA_TYPE_TRAITS_DECLARE_SPECIALIZATION_SINGLE_CHANNEL

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

Definition at line 44 of file datatypetraits.h.

◆ DATA_TYPE_TRAITS_INSTANCIATE_SPECIALIZATION

#define DATA_TYPE_TRAITS_INSTANCIATE_SPECIALIZATION ( T)
Value:

Definition at line 75 of file datatypetraits.h.

◆ DATA_TYPE_TRAITS_INSTANCIATE_TEMPLATE_SPECIALIZATION

#define DATA_TYPE_TRAITS_INSTANCIATE_TEMPLATE_SPECIALIZATION ( T)
Value:
template<> const bool carto::DataTypeTraits< T >::is_scalar; \
template<> const unsigned int carto::DataTypeTraits< T >::channelcount; \

Definition at line 81 of file datatypetraits.h.