A type-safe, ordered collection of elements allocated on the stack. More...
#include <StackAllocatedSequence.hpp>
Public Types | |
using | size_type = LoanableCollection::size_type |
using | element_type = LoanableCollection::element_type |
![]() | |
using | size_type = int32_t |
using | element_type = void* |
Public Member Functions | |
StackAllocatedSequence () | |
~StackAllocatedSequence ()=default | |
StackAllocatedSequence (const StackAllocatedSequence &)=delete | |
StackAllocatedSequence & | operator= (const StackAllocatedSequence &)=delete |
StackAllocatedSequence (StackAllocatedSequence &&)=delete | |
StackAllocatedSequence & | operator= (StackAllocatedSequence &&)=delete |
![]() | |
template<typename Enabler = _NonConstEnabler> | |
std::enable_if< Enabler::value, T >::type & | operator[] (size_type n) |
Set an element of the sequence. | |
const T & | operator[] (size_type n) const |
Get an element of the sequence. | |
![]() | |
const element_type * | buffer () const |
Get the pointer to the elements buffer. | |
bool | has_ownership () const |
Get the ownership flag. | |
size_type | maximum () const |
Get the maximum number of elements currently allocated. | |
size_type | length () const |
Get the number of elements currently accessible. | |
bool | length (size_type new_length) |
Set the number of elements currently accessible. | |
bool | loan (element_type *buffer, size_type new_maximum, size_type new_length) |
Loan a buffer to the collection. | |
element_type * | unloan (size_type &maximum, size_type &length) |
Remove the loan from the collection. | |
element_type * | unloan () |
Remove the loan from the collection. | |
Protected Member Functions | |
void | resize (LoanableCollection::size_type new_length) override |
![]() | |
LoanableCollection ()=default | |
Default constructor. | |
Protected Attributes | |
size_type | maximum_ |
size_type | length_ |
element_type * | elements_ |
bool | has_ownership_ |
![]() | |
size_type | maximum_ = 0 |
size_type | length_ = 0 |
element_type * | elements_ = nullptr |
bool | has_ownership_ = true |
A type-safe, ordered collection of elements allocated on the stack.
using element_type = LoanableCollection::element_type |
using size_type = LoanableCollection::size_type |
|
inline |
|
default |
|
delete |
|
delete |
|
delete |
|
delete |
|
inlineoverrideprotectedvirtual |
Implements LoanableCollection.
|
protected |
|
protected |
|
protected |
|
protected |