41#ifndef UFO_UTILITY_SCALAR_TYPE_HPP
42#define UFO_UTILITY_SCALAR_TYPE_HPP
85 case INT8:
return "INT8";
86 case UINT8:
return "UINT8";
87 case INT16:
return "INT16";
88 case UINT16:
return "UINT16";
89 case INT32:
return "INT32";
90 case UINT32:
return "UINT32";
91 case INT64:
return "INT64";
92 case UINT64:
return "UINT64";
103inline std::ostream& operator<<(std::ostream& os,
ScalarType type)
120 if constexpr (std::same_as<T, std::int8_t>) {
122 }
else if constexpr (std::same_as<T, std::uint8_t>) {
124 }
else if constexpr (std::same_as<T, std::int16_t>) {
126 }
else if constexpr (std::same_as<T, std::uint16_t>) {
128 }
else if constexpr (std::same_as<T, std::int32_t>) {
130 }
else if constexpr (std::same_as<T, std::uint32_t>) {
132 }
else if constexpr (std::same_as<T, std::int64_t>) {
134 }
else if constexpr (std::same_as<T, std::uint64_t>) {
136 }
else if constexpr (std::same_as<T, float>) {
138 }
else if constexpr (std::same_as<T, double>) {
156struct std::formatter<
ufo::ScalarType> : std::formatter<std::string_view> {
159 return std::formatter<std::string_view>::format(
ufo::toString(type), ctx);
All vision-related classes and functions.
constexpr std::string_view toString(ScalarType type) noexcept
Returns a human-readable string for a ScalarType value.
ScalarType
Tag identifying the primitive scalar type of a data channel.
@ FLOAT64
64-bit IEEE 754 floating-point (double).
@ UINT32
Unsigned 32-bit integer (std::uint32_t).
@ UINT16
Unsigned 16-bit integer (std::uint16_t).
@ INT64
Signed 64-bit integer (std::int64_t).
@ INT16
Signed 16-bit integer (std::int16_t).
@ INT32
Signed 32-bit integer (std::int32_t).
@ UINT64
Unsigned 64-bit integer (std::uint64_t).
@ FLOAT32
32-bit IEEE 754 floating-point (float).
@ UINT8
Unsigned 8-bit integer (std::uint8_t).
@ INT8
Signed 8-bit integer (std::int8_t).
@ UNKNOWN
Unrecognised or missing file extension.
constexpr ScalarType scalar_type_v
The ScalarType enumerator for T, or ScalarType::UNKNOWN if T is not a recognised scalar type.