![]() |
Lumiera 0.pre.04
»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 74 of file path-array.hpp.
Public Member Functions | |
| ~Extension () | |
| Extension () noexcept | |
| template<typename... ELMS> | |
| Extension (ELMS &&...elms) | |
| Extension (Extension const &r) | |
| Extension (Extension &&rr) noexcept | |
| Extension & | operator= (Extension o) |
| operator bool () const | |
| bool | empty () const |
| size_t | size () const |
| Literal const & | operator[] (size_t idx) const |
| size_t | indexOf (Literal const *pos) const |
| bool | isValid (Literal const *pos) const |
| void | resizeTo (size_t cnt) |
Private Types | |
| using | PStorage = Literal * |
Private Member Functions | |
| PStorage | newCopy () const |
| allocate a copy. | |
Static Private Member Functions | |
| static size_t & | size (PStorage &p) |
Private Attributes | |
| PStorage | storage_ |
|
inline |
Definition at line 103 of file path-array.hpp.
References Extension::storage_.
|
inlinenoexcept |
Definition at line 109 of file path-array.hpp.
|
inlineexplicit |
Definition at line 115 of file path-array.hpp.
References Extension::size(), and Extension::storage_.
Here is the call graph for this function:Definition at line 122 of file path-array.hpp.
Definition at line 126 of file path-array.hpp.
Definition at line 76 of file path-array.hpp.
|
inlinestaticprivate |
Definition at line 82 of file path-array.hpp.
Referenced by PathArray< chunk_size >::expandPosition(), PathArray< chunk_size >::getPosition(), PathArray< chunk_size >::normalise(), PathArray< chunk_size >::size(), and PathArray< chunk_size >::truncateTo().
Here is the caller graph for this function:
|
inlineprivate |
allocate a copy.
Definition at line 93 of file path-array.hpp.
References Extension::size(), and Extension::storage_.
Here is the call graph for this function:Definition at line 133 of file path-array.hpp.
References Extension::storage_.
|
inline |
Definition at line 141 of file path-array.hpp.
References Extension::empty().
Here is the call graph for this function:
|
inline |
Definition at line 142 of file path-array.hpp.
References Extension::storage_.
Referenced by Extension::operator bool().
Here is the caller graph for this function:
|
inline |
Definition at line 145 of file path-array.hpp.
References Extension::size(), and Extension::storage_.
Referenced by Extension::Extension(), Extension::isValid(), Extension::newCopy(), Extension::operator[](), Extension::resizeTo(), and Extension::size().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inline |
Definition at line 152 of file path-array.hpp.
References Extension::size(), and Extension::storage_.
Here is the call graph for this function:
|
inline |
Definition at line 159 of file path-array.hpp.
References Extension::isValid(), and Extension::storage_.
Referenced by PathArray< chunk_size >::indexOf().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inline |
Definition at line 167 of file path-array.hpp.
References Extension::size(), and Extension::storage_.
Referenced by PathArray< chunk_size >::indexOf(), Extension::indexOf(), and PathArray< chunk_size >::isValid().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inline |
Definition at line 175 of file path-array.hpp.
References Extension::size(), and Extension::storage_.
Referenced by PathArray< chunk_size >::expandPosition(), PathArray< chunk_size >::normalise(), and PathArray< chunk_size >::truncateTo().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Definition at line 78 of file path-array.hpp.
Referenced by Extension::Extension(), Extension::~Extension(), Extension::empty(), Extension::indexOf(), Extension::isValid(), Extension::newCopy(), Extension::operator=(), Extension::operator[](), Extension::resizeTo(), and Extension::size().
Collaboration diagram for Extension: