CeresEngine 0.2.0
A game development framework
Loading...
Searching...
No Matches
Box.hpp File Reference

Go to the source code of this file.

Classes

class  CeresEngine::Box
 A value type that can hold any alongside it's type information. More...
 
union  CeresEngine::Box::Storage
 A type that contains storage for the Box. More...
 
struct  CeresEngine::Box::TypeCastOperation< T >
 Implementation for type casting in Box. More...
 
struct  CeresEngine::Box::TypeConversionOperation< T >
 Implementation for type conversion in Box. More...
 
class  CeresEngine::Box::Pointer
 

Namespaces

namespace  CeresEngine
 
namespace  CeresEngine::internal
 
namespace  CeresEngine::impl
 Helper functions for comparing iterators.
 

Typedefs

template<typename T >
using CeresEngine::internal::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 CeresEngine::internal::is_class_ptr_t = typename is_class_ptr< T >::type
 

Functions

void CeresEngine::swap (Box &lhs, Box &rhs) noexcept
 
const voidCeresEngine::impl::castInternal (const Box &self, const Type &type)
 
template<typename T >
Box CeresEngine::box (T &value)
 Creates a new Box object by wraping the value as a reference type.
 
template<typename T >
Box CeresEngine::box (const T &value)
 Creates a new Box object by wraping the value as a const-reference type.
 
template<typename T >
Box CeresEngine::box (T &&value)
 Creates a new Box object by wraping the value as a value type.
 
Box CeresEngine::dereference (Box &&value)
 
Box CeresEngine::dereference (const Box &value)
 
template<typename T >
Box CeresEngine::dereference (Box &&value)
 
template<typename T >
Box CeresEngine::dereference (const Box &value)
 

Variables

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