These methods use _storage as the container, on stack, for the type ''T<E>''. This only makes sense when storage_for is in_place_obj for ''T<E>''. In that case the content of _storage is reinterpreted as a ''T<E>''. For this trick to be possible, we must have that ''T<E>'' is trivial, therefore we return a copy to it on the const variant of stored_obj.
◆ storage_in_place() [1/2]
template<class Enum , template< Enum > class T, Enum Default>
void * mlab::any_of< Enum, T, Default >::storage_in_place |
( |
| ) |
|
|
nodiscardprivate |
◆ storage_in_place() [2/2]
template<class Enum , template< Enum > class T, Enum Default>
void const * mlab::any_of< Enum, T, Default >::storage_in_place |
( |
| ) |
const |
|
nodiscardprivate |