cartobase  5.0.5
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, 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)   DATA_TYPE_TRAITS_DECLARE_SPECIALIZATION_##IS_MULTICHANNEL(T, IS_SCALAR, 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 
)    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)

◆ 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; \
Properties of data types.

Definition at line 81 of file datatypetraits.h.