MayaFlux 0.1.0
Digital-First Multimedia Processing Framework
Loading...
Searching...
No Matches

◆ string_to_enum_case_insensitive()

template<typename EnumType >
std::optional< EnumType > MayaFlux::Utils::string_to_enum_case_insensitive ( std::string_view  str)
noexcept

Universal case-insensitive string to enum converter using magic_enum.

Template Parameters
EnumTypeAny enum type
Parameters
strString to convert (case-insensitive)
Returns
Optional enum value if valid, nullopt otherwise

Definition at line 63 of file EnumUtils.hpp.

64{
65 // Try direct match first (most efficient)
66 auto direct_result = magic_enum::enum_cast<EnumType>(str);
67 if (direct_result.has_value()) {
68 return direct_result;
69 }
70
71 // Convert input to uppercase for comparison with enum names
72 std::string upper_str = to_uppercase(str);
73 auto upper_result = magic_enum::enum_cast<EnumType>(upper_str);
74 if (upper_result.has_value()) {
75 return upper_result;
76 }
77
78 return std::nullopt;
79}

References to_uppercase().

+ Here is the call graph for this function: