14 #ifndef DATATYPE_MATRIX_H_ 15 #define DATATYPE_MATRIX_H_ 22 template<
DataType DT,
typename ...>
class _StructFun,
26 using fun_type = decltype(&_StructFun<static_cast<DataType>(0), Args...>::_);
34 data[i] = _StructFun<arr[i], Args...>::_;
45 return data[static_cast<int>(dt)];
53 template<
DataType,
typename ...>
class _StructFun,
57 using fun_type = decltype(&_StructFun<static_cast<DataType>(0), Args...>::_);
65 data[i] = _StructFun<arr[i], Args...>::_;
76 return data[static_cast<int>(dt)];
88 using fun_type = decltype(&_StructFun<static_cast<DataType>(0), static_cast<DataType>(0), Args...>::_);
98 data[i] = _StructFun<arr[src], arr[dst], Args...>::_;
109 int row = static_cast<int>(src);
110 int col = static_cast<int>(dst);
123 using fun_type = decltype(&_StructFun<static_cast<DataType>(0), static_cast<DataType>(0), Args...>::_);
133 data[i] = _StructFun<arr[src], arr[dst], Args...>::_;
144 int row = static_cast<int>(src);
145 int col = static_cast<int>(dst);
153 #endif // !DATATYPE_MATRIX_H_
decltype(&_StructFun< static_cast< DataType >(0), static_cast< DataType >(0), Args... >::_) fun_type
constexpr void FillData(integer< i >)
fun_type operator()(DataType src, DataType dst) const
constexpr void FillData(integer< i >)
constexpr void FillData(integer< DataTypeSignedSize() *DataTypeSignedSize() >)
fun_type operator()(DataType dt) const
constexpr void FillData(integer< DataTypeSize()>)
DataType
DataType is an enum class which defines data types allowed for images.
fun_type data[DataTypeSize() *DataTypeSize()]
constexpr SignedTable2D()
decltype(&_StructFun< static_cast< DataType >(0), static_cast< DataType >(0), Args... >::_) fun_type
constexpr std::array< DataType, DataTypeSignedSize()> DataTypeSignedArray()
Function to get a std::array with all the signed DataType values at compile time.
constexpr void FillData(integer< DataTypeSize() *DataTypeSize() >)
constexpr void FillData(integer< DataTypeSignedSize()>)
constexpr std::array< DataType, DataTypeSize()> DataTypeArray()
Function to get a std::array with all the DataType values at compile time.
fun_type operator()(DataType src, DataType dst) const
constexpr SignedTable1D()
decltype(&_StructFun< static_cast< DataType >(0), Args... >::_) fun_type
fun_type operator()(DataType dt) const
decltype(&_StructFun< static_cast< DataType >(0), Args... >::_) fun_type
fun_type data[DataTypeSignedSize() *DataTypeSignedSize()]
constexpr size_t DataTypeSignedSize()
Function to get the number of existing signed DataType at compile time.
uint8_t DataTypeSize(DataType dt)
Provides the size in bytes of a given DataType.
constexpr void FillData(integer< i >)
fun_type data[DataTypeSize()]
constexpr void FillData(integer< i >)
fun_type data[DataTypeSignedSize()]