CeresEngine 0.2.0
A game development framework
Loading...
Searching...
No Matches
CeresEngine::internal Namespace Reference

Classes

struct  ConvertFunctionBase
 
struct  ConvertFunctor
 
struct  ConvertFunctorOk
 
struct  ConvertMethod
 
struct  ConvertMethodOk
 
struct  function_traits_helper
 
struct  function_traits_helper< R(*)(Args...) noexcept >
 
struct  function_traits_helper< R(*)(Args...)>
 
struct  function_traits_helper< R(C::*)(Args...) && >
 
struct  function_traits_helper< R(C::*)(Args...) const & >
 
struct  function_traits_helper< R(C::*)(Args...) const && >
 
struct  function_traits_helper< R(C::*)(Args...) const >
 
struct  function_traits_helper< R(C::*)(Args...) const noexcept >
 
struct  function_traits_helper< R(C::*)(Args...) const volatile & >
 
struct  function_traits_helper< R(C::*)(Args...) const volatile && >
 
struct  function_traits_helper< R(C::*)(Args...) const volatile >
 
struct  function_traits_helper< R(C::*)(Args...) noexcept >
 
struct  function_traits_helper< R(C::*)(Args...) volatile & >
 
struct  function_traits_helper< R(C::*)(Args...) volatile && >
 
struct  function_traits_helper< R(C::*)(Args...) volatile >
 
struct  function_traits_helper< R(C::*)(Args...)& >
 
struct  function_traits_helper< R(C::*)(Args...)>
 
struct  function_traits_helper< std::function< F > >
 
struct  MemberPointerTag
 
struct  MetaPropertyAccessorInternal
 
struct  MetaPropertyAccessorInternal< P, MemberPointerTag >
 
struct  MetaPropertyAccessorInternal< P, StaticPointerTag >
 
struct  MethodInvokerInternal
 
struct  MethodInvokerInternal< F, ReturnMemberFunctionTag >
 
struct  MethodInvokerInternal< F, ReturnStaticFunctionTag >
 
struct  MethodInvokerInternal< F, VoidMemberFunctionTag >
 
struct  MethodInvokerInternal< F, VoidStaticFunctionTag >
 
struct  PropertyClassTrait
 
struct  PropertyClassTrait< T C::* >
 
struct  PropertyTypeTrait
 
struct  PropertyTypeTrait< P * >
 
struct  PropertyTypeTrait< T C::* >
 
struct  ReturnMemberFunctionTag
 
struct  ReturnStaticFunctionTag
 
struct  StaticPointerTag
 
struct  TypeTag
 
struct  VoidMemberFunctionTag
 
struct  VoidStaticFunctionTag
 

Typedefs

template<typename T >
using is_class_ptr = std::conditional_t< std::is_pointer_v< std::remove_reference_t< T > > &&std::is_class_v< std::remove_pointer_t< std::remove_reference_t< T > > >, std::true_type, std::false_type >
 
template<typename T >
using is_class_ptr_t = typename is_class_ptr< T >::type
 
template<typename F >
using MethodInvokerTag = std::conditional_t< std::is_void_v< typename function_traits< F >::result_type >, std::conditional_t< std::is_void_v< typename function_traits< F >::class_type >, VoidStaticFunctionTag, VoidMemberFunctionTag >, std::conditional_t< std::is_void_v< typename function_traits< F >::class_type >, ReturnStaticFunctionTag, ReturnMemberFunctionTag > >
 
template<typename P >
using PropertyType = typename PropertyTypeTrait< P >::type
 
template<typename P >
using PropertyClass = typename PropertyClassTrait< P >::type
 
template<typename P >
using MetaPropertyAccessorTag = std::conditional_t< std::is_member_pointer_v< P >, MemberPointerTag, StaticPointerTag >
 

Functions

String memoryViewHexdump (const MemoryView< Byte > &memoryView)
 
void memoryViewHexdump (const MemoryView< Byte > &memoryView, std::ostream &stream)
 
String memoryViewToHex (const MemoryView< Byte > &memoryView)
 
void memoryViewToHex (const MemoryView< Byte > &memoryView, std::ostream &stream)
 
template<typename From , typename To >
To defaultConvert (const From &value)
 
template<std::size_t... Idxs>
consteval auto makeTypeNameArray (StringView str, std::index_sequence< Idxs... >)
 
template<typename T >
consteval auto getTypeNameArrayPrefix ()
 
template<typename T >
consteval auto getTypeNameArraySuffix ()
 
template<typename T >
consteval auto getTypeNameArray ()
 
template<class T >
constexpr StringView getTypeName ()
 
template<class T , class = decltype(std::declval<T>() == std::declval<T>())>
std::true_type HasOperatorEqualsTest (const T &)
 
std::false_type HasOperatorEqualsTest (...)
 

Variables

template<typename T >
constexpr auto is_class_ptr_v = is_class_ptr_t<T>::value
 

Typedef Documentation

◆ is_class_ptr

template<typename T >
using CeresEngine::internal::is_class_ptr = typedef std::conditional_t<std::is_pointer_v<std::remove_reference_t<T> > && std::is_class_v<std::remove_pointer_t<std::remove_reference_t<T> >>, std::true_type, std::false_type>

◆ is_class_ptr_t

◆ MetaPropertyAccessorTag

template<typename P >
using CeresEngine::internal::MetaPropertyAccessorTag = typedef std::conditional_t<std::is_member_pointer_v<P>, MemberPointerTag, StaticPointerTag>

◆ MethodInvokerTag

template<typename F >
using CeresEngine::internal::MethodInvokerTag = typedef std::conditional_t<std::is_void_v<typename function_traits<F>::result_type>, std::conditional_t<std::is_void_v<typename function_traits<F>::class_type>, VoidStaticFunctionTag, VoidMemberFunctionTag>, std::conditional_t<std::is_void_v<typename function_traits<F>::class_type>, ReturnStaticFunctionTag, ReturnMemberFunctionTag> >

◆ PropertyClass

◆ PropertyType

Function Documentation

◆ defaultConvert()

template<typename From , typename To >
To CeresEngine::internal::defaultConvert ( const From value)
private

◆ getTypeName()

template<class T >
constexpr StringView CeresEngine::internal::getTypeName ( )
constexpr

◆ getTypeNameArray()

template<typename T >
consteval auto CeresEngine::internal::getTypeNameArray ( )

◆ getTypeNameArrayPrefix()

template<typename T >
consteval auto CeresEngine::internal::getTypeNameArrayPrefix ( )

◆ getTypeNameArraySuffix()

template<typename T >
consteval auto CeresEngine::internal::getTypeNameArraySuffix ( )

◆ HasOperatorEqualsTest() [1/2]

std::false_type CeresEngine::internal::HasOperatorEqualsTest (   ...)

◆ HasOperatorEqualsTest() [2/2]

template<class T , class = decltype(std::declval<T>() == std::declval<T>())>
std::true_type CeresEngine::internal::HasOperatorEqualsTest ( const T )

◆ makeTypeNameArray()

template<std::size_t... Idxs>
consteval auto CeresEngine::internal::makeTypeNameArray ( StringView  str,
std::index_sequence< Idxs... >   
)

◆ memoryViewHexdump() [1/2]

String CeresEngine::internal::memoryViewHexdump ( const MemoryView< Byte > &  memoryView)

◆ memoryViewHexdump() [2/2]

void CeresEngine::internal::memoryViewHexdump ( const MemoryView< Byte > &  memoryView,
std::ostream &  stream 
)

◆ memoryViewToHex() [1/2]

String CeresEngine::internal::memoryViewToHex ( const MemoryView< Byte > &  memoryView)

◆ memoryViewToHex() [2/2]

void CeresEngine::internal::memoryViewToHex ( const MemoryView< Byte > &  memoryView,
std::ostream &  stream 
)

Variable Documentation

◆ is_class_ptr_v

template<typename T >
constexpr auto CeresEngine::internal::is_class_ptr_v = is_class_ptr_t<T>::value
constexpr