MayaFlux 0.2.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 69 of file EnumUtils.hpp.

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

References to_uppercase().

+ Here is the call graph for this function: