Classes | Namespaces | Macros | Typedefs | Enumerations | Functions
datatype.h File Reference
#include <cstdint>
#include <cstddef>
#include <limits>
#include <array>
#include <vector>
#include "datatype_tuples.inc.h"
#include "datatype_existing_tuples.inc.h"
#include "datatype_existing_tuples_signed.inc.h"

Go to the source code of this file.

Classes

struct  ecvl::TypeInfo< DataType >
 
struct  ecvl::TypeInfo< ecvl::DataType::int8 >
 
struct  ecvl::TypeInfo< ecvl::DataType::int16 >
 
struct  ecvl::TypeInfo< ecvl::DataType::int32 >
 
struct  ecvl::TypeInfo< ecvl::DataType::int64 >
 
struct  ecvl::TypeInfo< ecvl::DataType::float32 >
 
struct  ecvl::TypeInfo< ecvl::DataType::float64 >
 
struct  ecvl::TypeInfo< ecvl::DataType::uint8 >
 
struct  ecvl::TypeInfo< ecvl::DataType::uint16 >
 
struct  ecvl::TypeInfo< ecvl::DataType::none >
 

Namespaces

 ecvl
 

Macros

#define ECVL_TUPLE(name, ...)   name,
 
#define ECVL_TUPLE(name, size, type, ...)   template<> struct TypeInfo<ecvl::DataType::name> { using basetype = type; };
 
#define ECVL_TUPLE(name, ...)   + 1
 
#define ECVL_TUPLE(name, ...)   + 1
 

Typedefs

typedef std::array< int, 2 > ecvl::Point2i
 
typedef std::array< double, 2 > ecvl::Point2d
 
typedef std::array< int, 2 > ecvl::Size2i
 
typedef std::array< double, 2 > ecvl::Size2d
 
typedef std::vector< double > ecvl::Scalar
 
template<ecvl::DataType DT>
using ecvl::TypeInfo_t = typename TypeInfo< DT >::basetype
 

Enumerations

enum  ecvl::DataType {
  ecvl::DataType::ECVL_TUPLE, ecvl::DataType::int8, ecvl::DataType::int16, ecvl::DataType::int32,
  ecvl::DataType::int64, ecvl::DataType::float32, ecvl::DataType::float64, ecvl::DataType::uint8,
  ecvl::DataType::uint16, ecvl::DataType::none
}
 DataType is an enum class which defines data types allowed for images. More...
 

Functions

double ecvl::SqDist (const Point2i &a, const Point2i &b)
 Calculate the distance squared between two ecvl::Point2i. More...
 
uint8_t ecvl::DataTypeSize (DataType dt)
 Provides the size in bytes of a given DataType. More...
 
constexpr size_t ecvl::DataTypeSize ()
 Function to get the number of existing DataType at compile time. More...
 
constexpr size_t ecvl::DataTypeSignedSize ()
 Function to get the number of existing signed DataType at compile time. More...
 
constexpr std::array< DataType, DataTypeSize()> ecvl::DataTypeArray ()
 Function to get a std::array with all the DataType values at compile time. More...
 
constexpr std::array< DataType, DataTypeSignedSize()> ecvl::DataTypeSignedArray ()
 Function to get a std::array with all the signed DataType values at compile time. More...
 

Macro Definition Documentation

◆ ECVL_TUPLE [1/4]

#define ECVL_TUPLE (   name,
  ... 
)    name,

Definition at line 62 of file datatype.h.

◆ ECVL_TUPLE [2/4]

#define ECVL_TUPLE (   name,
  size,
  type,
  ... 
)    template<> struct TypeInfo<ecvl::DataType::name> { using basetype = type; };

Definition at line 62 of file datatype.h.

◆ ECVL_TUPLE [3/4]

#define ECVL_TUPLE (   name,
  ... 
)    + 1

Definition at line 62 of file datatype.h.

◆ ECVL_TUPLE [4/4]

#define ECVL_TUPLE (   name,
  ... 
)    + 1

Definition at line 62 of file datatype.h.