Lumiera
0.pre.03
»edit your freedom«
|
#include "lib/path-array.hpp"
Heap-allocated extension storage for an immutable sequence of literal strings.
The size of the allocation is determined and fixed once, at construction time, derived from the number of initialisers. The first slot within the allocation stores this length. Extension can be empty (default constructed), in which case no heap allocation is performed.
Definition at line 83 of file path-array.hpp.
Public Member Functions | |
template<typename... ELMS> | |
Extension (ELMS &&...elms) | |
Extension (Extension const &r) | |
Extension (Extension &&rr) noexcept | |
bool | empty () const |
size_t | indexOf (Literal const *pos) const |
bool | isValid (Literal const *pos) const |
operator bool () const | |
Extension & | operator= (Extension const &o) |
Extension & | operator= (Extension &&rr) noexcept |
Literal const & | operator[] (size_t idx) const |
void | resizeTo (size_t cnt) |
size_t | size () const |
Private Types | |
using | PStorage = Literal * |
Private Member Functions | |
PStorage | newCopy () const |
allocate a copy. More... | |
Static Private Member Functions | |
static size_t & | size (PStorage &p) |
Private Attributes | |
PStorage | storage_ |
|
inlineprivate |
allocate a copy.
Definition at line 102 of file path-array.hpp.
References Extension::newCopy().
Referenced by Extension::newCopy().