Project Alice
Loading...
Searching...
No Matches
Cyto::AnyTraits< T > Struct Template Reference

#include <cyto_any.hpp>

Collaboration diagram for Cyto::AnyTraits< T >:

Static Public Member Functions

template<class X = T, class... Args, std::enable_if_t< IsStorageBufferSized< X > &&std::is_trivially_copyable_v< X >, int > = 0>
static ANY_ALWAYS_INLINE Xmake (Storage *s, std::in_place_type_t< X > vtype, Args &&... args)
 
template<class X = T, class... Args, std::enable_if_t< IsStorageBufferSized< X > &&!std::is_trivially_copyable_v< X > &&std::is_nothrow_move_constructible_v< X >, int > = 0>
static ANY_ALWAYS_INLINE Xmake (Storage *s, std::in_place_type_t< X > vtype, Args &&... args)
 

Static Public Attributes

static constexpr AnyActions actions
 

Detailed Description

template<class T>
struct Cyto::AnyTraits< T >

Definition at line 176 of file cyto_any.hpp.

Member Function Documentation

◆ make() [1/2]

template<class T >
template<class X = T, class... Args, std::enable_if_t< IsStorageBufferSized< X > &&std::is_trivially_copyable_v< X >, int > = 0>
static ANY_ALWAYS_INLINE X & Cyto::AnyTraits< T >::make ( Storage s,
std::in_place_type_t< X vtype,
Args &&...  args 
)
inlinestatic

Definition at line 179 of file cyto_any.hpp.

◆ make() [2/2]

template<class T >
template<class X = T, class... Args, std::enable_if_t< IsStorageBufferSized< X > &&!std::is_trivially_copyable_v< X > &&std::is_nothrow_move_constructible_v< X >, int > = 0>
static ANY_ALWAYS_INLINE X & Cyto::AnyTraits< T >::make ( Storage s,
std::in_place_type_t< X vtype,
Args &&...  args 
)
inlinestatic

Definition at line 188 of file cyto_any.hpp.

Member Data Documentation

◆ actions

template<class T >
constexpr AnyActions Cyto::AnyTraits< T >::actions
staticconstexpr
Initial value:
= AnyActions(get<T>, copy<T>, move<T>, drop<T>,
fallback_typeid<T>()
)

Definition at line 289 of file cyto_any.hpp.


The documentation for this struct was generated from the following file: