|
template<class Dest , class Source > |
constexpr std::enable_if_t< sizeof(Dest)==sizeof(Source) &&std::is_trivially_copyable_v< Dest > &&std::is_trivially_copyable_v< Source >, Dest > | jau::bit_cast (const Source &src) noexcept |
| C++20 bit_cast<>(arg) implementation for C++17. More...
|
|
template<typename T > |
constexpr const char * | jau::ctti_name () noexcept |
| Returns the type name of given type T using template Compile Time Type Information (CTTI) only with static constant storage duration. More...
|
|
template<typename R , typename L , typename... A> |
constexpr const char * | jau::ctti_name () noexcept |
| Returns the type name of given function types R(*L)(A...) using template Compile Time Type Information (CTTI) only with static constant storage duration. More...
|
|
std::string | jau::demangle_name (const char *mangled_name) noexcept |
| Returns the demangled given mangled_name if successful, otherwise the mangled_name. More...
|
|
template<class Dummy_type > |
consteval_cxx20 bool | jau::impl::has_builtin_bit_cast_impl (std::enable_if_t< !has_builtin_bit_cast_v< Dummy_type >, bool >=true) noexcept |
|
template<class Dummy_type > |
consteval_cxx20 bool | jau::impl::has_builtin_bit_cast_impl (std::enable_if_t< has_builtin_bit_cast_v< Dummy_type >, bool >=true) noexcept |
|
consteval_cxx20 bool | jau::is_builtin_bit_cast_available () noexcept |
| Query whether __builtin_bit_cast(Dest_type, arg) is available, using jau::has_builtin_bit_cast. More...
|
|
consteval_cxx20 bool | jau::is_builtin_int128_available () noexcept |
|
consteval_cxx20 bool | jau::is_cxx17 () noexcept |
| Returns true if compiled with >= C++17. More...
|
|
consteval_cxx20 bool | jau::is_cxx20 () noexcept |
| Returns true if compiled with >= C++20. More...
|
|
consteval_cxx20 bool | jau::is_cxx23 () noexcept |
| Returns true if compiled with >= C++23. More...
|
|
consteval_cxx20 bool | jau::is_cxx26 () noexcept |
| Returns true if compiled with >= C++26. More...
|
|
consteval_cxx20 bool | jau::is_debug_enabled () noexcept |
| Returns true if compiled with debug information and w/o optimization, i.e. More...
|
|
consteval_cxx20 bool | jau::is_rtti_available () noexcept |
| Returns true if compiled with RTTI available. More...
|
|
template<typename T > |
jau::type_info | jau::make_ctti () noexcept |
| Constructs a jau::type_info instance based on given type T using template Compile Time Type Information (CTTI) only. More...
|
|
template<typename R , typename L , typename... A> |
jau::type_info | jau::make_ctti () noexcept |
| Constructs a jau::type_info instance based on given function types R(*L)(A...) using template Compile Time Type Information (CTTI) only via RTTI's `typeid(L) if available or jau::ctti_name<R, L, A...>() otherwise. More...
|
|
template<class Dest , class Source > |
constexpr std::enable_if_t< sizeof(Dest)==sizeof(Source) &&std::is_pointer_v< Source > &&std::is_pointer_v< Dest >, Dest > | jau::pointer_cast (const Source &src) noexcept |
| A constexpr pointer cast implementation for C++17, inspired by C++20 bit_cast<>(arg) . More...
|
|
template<typename T > |
const char * | jau::type_name () noexcept |
| Returns the type name of given type T using template Compile Time Type Information (CTTI) only via RTTI's typeid(T).name() if available or jau::ctti_name<T>() otherwise. More...
|
|
template<typename R , typename L , typename... A> |
const char * | jau::type_name () noexcept |
| Returns the type name of given function types R(*L)(A...) using template Compile Time Type Information (CTTI) only via RTTI's typeid(L).name() if available or jau::ctti_name<R, L, A...>() otherwise. More...
|
|