88 using CleanType = std::remove_const_t<T>;
89 constexpr auto resolvedType{[](){
90 if constexpr (std::is_integral_v<CleanType>) {
91 if constexpr (std::is_signed_v<CleanType>) {
92 if constexpr (
sizeof(CleanType) == 1) {
return S08; }
93 else if constexpr (
sizeof(CleanType) == 2) {
return S16; }
94 else if constexpr (
sizeof(CleanType) == 4) {
return S32; }
95 else if constexpr (
sizeof(CleanType) == 8) {
return S64; }
97 if constexpr (
sizeof(CleanType) == 1) {
return U08; }
98 else if constexpr (
sizeof(CleanType) == 2) {
return U16; }
99 else if constexpr (
sizeof(CleanType) == 4) {
return U32; }
102 else if constexpr (std::same_as<CleanType, float>) {
return F32; }
106 static_assert(resolvedType !=
unsupported,
"Scalar type was not recognized as supported built in numeric type");