MayaFlux 0.5.0
Digital-First Multimedia Processing Framework
Loading...
Searching...
No Matches
MayaFlux::Reflect Namespace Reference

Namespaces

namespace  detail
 

Classes

struct  is_optional
 
struct  is_optional< std::optional< T > >
 
struct  is_string_map
 
struct  is_string_map< std::map< std::string, V > >
 
struct  is_string_map< std::unordered_map< std::string, V > >
 
struct  is_vector
 
struct  is_vector< std::vector< T > >
 
struct  OptionalProperty
 Binds a string key to a std::optional<T> member pointer. More...
 
struct  Property
 Binds a string key to a required member pointer. More...
 

Concepts

concept  GlmSerializable
 
concept  Reflectable
 

Functions

template<typename T >
std::string dynamic_type_name (const T &obj) noexcept
 Returns the demangled fully qualified dynamic type name of obj.
 
template<typename EnumType >
constexpr size_t enum_count () noexcept
 Get enum count.
 
template<typename EnumType >
std::string enum_to_lowercase_string (EnumType value) noexcept
 Universal enum to lowercase string converter using magic_enum.
 
template<typename EnumType >
constexpr std::string_view enum_to_string (EnumType value) noexcept
 Universal enum to string converter using magic_enum (original case)
 
template<typename EnumType >
constexpr auto get_enum_names () noexcept
 Get all enum values as strings (original case)
 
template<typename EnumType >
std::vector< std::string > get_enum_names_lowercase () noexcept
 Get all enum values as lowercase strings.
 
template<typename EnumType >
constexpr auto get_enum_values () noexcept
 Get all enum values.
 
template<typename EnumType >
bool is_valid_enum_string_case_insensitive (std::string_view str) noexcept
 Validate if string is a valid enum value (case-insensitive)
 
template<typename Class , typename T >
constexpr auto member (std::string_view key, T Class::*ptr)
 
template<typename Class , typename T >
constexpr auto opt_member (std::string_view key, std::optional< T > Class::*ptr)
 
template<typename T >
std::string short_dynamic_type_name (const std::shared_ptr< T > &ptr) noexcept
 Overload for shared_ptr: dereferences before querying dynamic type.
 
template<typename T >
std::string short_dynamic_type_name (const T &obj) noexcept
 Returns the unqualified dynamic type name of obj.
 
template<typename T >
constexpr std::string_view short_type_name () noexcept
 Returns the unqualified compile-time type name of T.
 
template<typename EnumType >
constexpr std::optional< EnumType > string_to_enum (std::string_view str) noexcept
 Universal string to enum converter using magic_enum (exact case match)
 
template<typename EnumType >
std::optional< EnumType > string_to_enum_case_insensitive (std::string_view str) noexcept
 Universal case-insensitive string to enum converter using magic_enum.
 
template<typename EnumType >
EnumType string_to_enum_or_throw_case_insensitive (std::string_view str, std::string_view context="")
 Convert string to enum with exception on failure (case-insensitive)
 
std::string to_lowercase (std::string_view str)
 Convert string to lowercase.
 
std::string to_uppercase (std::string_view str)
 Convert string to uppercase.
 
template<typename T >
constexpr std::string_view type_name () noexcept
 Returns the fully qualified compile-time type name of T.
 

Variables

template<typename T >
constexpr bool is_optional_v = is_optional<T>::value
 
template<typename T >
constexpr bool is_string_map_v = is_string_map<T>::value
 
template<typename T >
constexpr bool is_vector_v = is_vector<T>::value