#include <exception>
#include <initializer_list>
#include <new>
#include <type_traits>
#include <typeinfo>
#include <utility>
#include <string.h>
Go to the source code of this file.
|
using | Cyto::StorageBuffer = std::aligned_storage_t< StorageBufferSize, std::alignment_of_v< void * > > |
|
template<class T > |
using | Cyto::IsStorageBufferSized_ = std::bool_constant< sizeof(T)<=sizeof(StorageBuffer) &&std::alignment_of_v< StorageBuffer > % std::alignment_of_v< T >==0 > |
|
template<class V , class T = std::decay_t<V>> |
using | Cyto::IsAnyConstructible_ = std::bool_constant<!std::is_same_v< T, Any > &&!IsInPlaceType< V > &&std::is_copy_constructible_v< T > > |
|
template<class T , class U , class... Args> |
using | Cyto::IsAnyInitializerListConstructible_ = std::bool_constant< std::is_constructible_v< T, std::initializer_list< U > &, Args... > &&std::is_copy_constructible_v< T > > |
|
|
template<class T > |
ANY_ALWAYS_INLINE constexpr void const * | Cyto::fallback_typeid () |
|
ANY_ALWAYS_INLINE void | Cyto::swap (Any &lhs, Any &rhs) noexcept |
|
template<class T , class... Args> |
ANY_ALWAYS_INLINE Any | Cyto::make_any (Args &&... args) |
|
template<class T , class U , class... Args> |
ANY_ALWAYS_INLINE Any | Cyto::make_any (std::initializer_list< U > il, Args &&... args) |
|
template<class V , class T = std::remove_cv_t<std::remove_reference_t<V>>, std::enable_if_t< std::is_constructible< V, T const & >{}, int > = 0> |
V | Cyto::any_cast (Any const &a) |
|
template<class V , class T = std::remove_cv_t<std::remove_reference_t<V>>, std::enable_if_t< std::is_constructible< V, T const & >{}, int > = 0> |
V | Cyto::any_cast (Any &a) |
|
template<class V , class T = std::remove_cv_t<std::remove_reference_t<V>>, std::enable_if_t< std::is_constructible< V, T const & >{}, int > = 0> |
V | Cyto::any_cast (Any &&a) |
|
template<class V , class T = std::remove_cv_t<std::remove_reference_t<V>>> |
T const * | Cyto::any_cast (Any const *a) noexcept |
|
template<class V > |
std::remove_cv_t< std::remove_reference_t< V > > * | Cyto::any_cast (Any *a) noexcept |
|
◆ ANY_ALWAYS_INLINE
#define ANY_ALWAYS_INLINE inline |
◆ ANY_USE
#define ANY_USE |
( |
|
FEATURE | ) |
(defined ANY_USE_##FEATURE && ANY_USE_##FEATURE) |
◆ ANY_USE_EXCEPTIONS
#define ANY_USE_EXCEPTIONS 0 |
◆ ANY_USE_SMALL_MEMCPY_STRATEGY
#define ANY_USE_SMALL_MEMCPY_STRATEGY 1 |
◆ ANY_USE_TYPEINFO
#define ANY_USE_TYPEINFO 0 |