Lumiera  0.pre.03
»edit your freedom«
UninitialisedStorage< T, cnt > Class Template Reference

#include "lib/uninitialised-storage.hpp"

Description

template<typename T, size_t cnt>
class lib::UninitialisedStorage< T, cnt >

Block of raw uninitialised storage with array like access.

Template Parameters
Tthe nominal type assumed to sit in each »slot«
cntnumber of »slots« in the array

Definition at line 79 of file uninitialised-storage.hpp.

Public Member Functions

_Arr & array ()
 
_Arr const & array () const
 
template<typename... Args>
T & createAt (size_t idx, Args &&...args)
 
void destroyAt (size_t idx)
 
 operator _Arr & ()
 
 operator _Arr const & () const
 
T & operator[] (size_t idx)
 
T const & operator[] (size_t idx) const
 

Static Public Member Functions

static constexpr size_t size ()
 

Private Types

using _Arr = std::array< T, cnt >
 

Private Attributes

std::byte buffer_ [sizeof(_Arr)]
 
+ Inheritance diagram for UninitialisedStorage< T, cnt >:
+ Collaboration diagram for UninitialisedStorage< T, cnt >:

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