switch (type) { \
return func_name<T, float, narrow>(__VA_ARGS__); \
return func_name<T, double, narrow>(__VA_ARGS__); \
return func_name<T, int8_t, narrow>(__VA_ARGS__); \
return func_name<T, uint8_t, narrow>(__VA_ARGS__); \
return func_name<T, int16_t, narrow>(__VA_ARGS__); \
return func_name<T, uint16_t, narrow>(__VA_ARGS__); \
return func_name<T, int32_t, narrow>(__VA_ARGS__); \
return func_name<T, uint32_t, narrow>(__VA_ARGS__); \
return func_name<T, int64_t, narrow>(__VA_ARGS__); \
return func_name<T, uint64_t, narrow>(__VA_ARGS__); \
default: \
std::string msg =
"NexusIOHelper: Unknown type " +
std::to_string((
int)type) +
" in Nexus file"; \
throw std::runtime_error(msg); \
}
static unsigned short constexpr UINT16
static unsigned short constexpr UINT64
static unsigned short constexpr INT8
static unsigned short constexpr INT64
static unsigned short constexpr INT16
static unsigned short constexpr UINT32
static unsigned short constexpr UINT8
static unsigned short constexpr INT32
static unsigned short constexpr FLOAT32
static unsigned short constexpr FLOAT64
std::string to_string(const wide_integer< Bits, Signed > &n)
Macro to run a function depending on the type of data in the Nexus file.