Lumiera  0.pre.03
»edit your freedom«
ReplaceableItem< X, COND > Class Template Reference

#include "lib/replaceable-item.hpp"

Description

template<typename X, typename COND = void>
class lib::wrapper::ReplaceableItem< X, COND >

Adapter container to take snapshots from non-assignable values.

Implemented by placing the subject into an inline buffer.

Note
uses lib::NullValue to retrieve an empty payload.

Definition at line 79 of file replaceable-item.hpp.

Public Member Functions

template<typename Z >
 ReplaceableItem (Z &&otherValue)
 
ReplaceableItemclear () noexcept
 
X & get ()
 
X const & get () const
 
 operator X & ()
 
 operator X const & () const
 
template<typename Z >
ReplaceableItemoperator= (Z &&otherValue)
 

Private Member Functions

X & access ()
 
void destroy ()
 
template<typename Z >
void emplace (Z &&otherValue)
 
template<typename Z >
void reAssign (Z &&otherValue)
 

Private Attributes

std::byte content_ [sizeof(X)]
 
+ Inheritance diagram for ReplaceableItem< X, COND >:
+ Collaboration diagram for ReplaceableItem< X, COND >:

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