23#ifndef VCL_BASE_BASE_H
24#define VCL_BASE_BASE_H
36using ushort = uint16_t;
48constexpr uint
UINT_NULL = std::numeric_limits<uint>::max();
60constexpr uint
USHORT_NULL = std::numeric_limits<ushort>::max();
99 case PrimitiveType::CHAR:
return sizeof(char);
100 case PrimitiveType::UCHAR:
return sizeof(
unsigned char);
101 case PrimitiveType::SHORT:
return sizeof(int16_t);
102 case PrimitiveType::USHORT:
return sizeof(uint16_t);
103 case PrimitiveType::INT:
return sizeof(int32_t);
104 case PrimitiveType::UINT:
return sizeof(uint32_t);
105 case PrimitiveType::FLOAT:
return sizeof(float);
106 case PrimitiveType::DOUBLE:
return sizeof(double);
118constexpr typename std::underlying_type<E>::type toUnderlying(E e)
noexcept
120 return static_cast<typename std::underlying_type<E>::type
>(e);
139 T* operator->() {
return std::addressof(mValue); }
A simple utility class to represent a pointer with a value.
Definition base.h:133
MatrixStorageType
A simple type that enumerates the main storage types for matrices (row or column major).
Definition base.h:88
PrimitiveType
A simple type that enumerates the main primitive types.
Definition base.h:70
constexpr uint UINT_NULL
The UINT_NULL value represent a null value of uint that is the maximum value that can be represented ...
Definition base.h:48
constexpr uint USHORT_NULL
The USHORT_NULL value represent a null value of ushort that is the maximum value that can be represen...
Definition base.h:60