libGimbal 0.1.0
C17-Based Extended Standard Library and Cross-Language Runtime Framework
Loading...
Searching...
No Matches
gimbal::FlexibleVector< ExtraStackSize, T > Class Template Referencefinal
Inheritance diagram for gimbal::FlexibleVector< ExtraStackSize, T >:
gimbal::Vector< T > GblArrayList gimbal::VectorViewBase< Vector< T >, T > gimbal::tags::VectorBase gimbal::ReadWriteContiguousIndexable< CRTP, Index, Value > gimbal::RandomAccessIterable< CRTP, Index, Value > gimbal::ReadWriteIndexable< CRTP, Index, Value, true >

Public Types

using FlexibleVectorType = FlexibleVector< ExtraStackSize, T >
 
- Public Types inherited from gimbal::Vector< T >
using VectorType = Vector< T >
 
using VectorViewBaseType = VectorViewBase< Vector< T >, T >
 
using ViewType = VectorViewBaseType
 
using MoveValues = std::tuple< void *, Size, Size >
 
using iterator = typename VectorViewBaseType::iterator
 
using const_iterator = typename VectorViewBaseType::const_iterator
 
using difference_type = typename VectorViewBaseType::difference_type
 
- Public Types inherited from gimbal::VectorViewBase< Vector< T >, T >
using VectorViewBaseType = VectorViewBase< Vector< T >, T >
 
using DerivedType = Vector< T >
 
using IterableType = RandomAccessIterable< Vector< T >, Size, T >
 
using IndexableType = ReadWriteContiguousIndexable< Vector< T >, Size, T >
 
using value_type = T
 
using allocator_type = Context *
 
using size_type = Size
 
using difference_type = std::ptrdiff_t
 
using reference = value_type &
 
using const_reference = const value_type &
 
using pointer = T *
 
using const_pointer = const T *
 
using iterator = typename IterableType::iterator
 
using const_iterator = typename IterableType::const_iterator
 
using reverse_iterator = typename IterableType::reverse_iterator
 
using reverse_const_iterator = typename IterableType::reverse_const_iterator
 
- Public Types inherited from gimbal::RandomAccessIterable< CRTP, Index, Value >
using iterator = RandomAccessIterator< CRTP, Index, Value, false >
 
using reverse_iterator = RandomAccessIterator< CRTP, Index, Value, true >
 
using const_iterator = RandomAccessIterator< std::add_const_t< CRTP >, Index, Value, false >
 
using reverse_const_iterator = RandomAccessIterator< std::add_const_t< CRTP >, Index, Value, true >
 

Static Public Attributes

static constexpr const Size ExtraStackBufferSize
 

Additional Inherited Members

- Public Member Functions inherited from gimbal::Vector< T >
const GblArrayListgetVector_ (void) const
 
GblArrayListgetVector_ (void)
 
 Vector (std::nullptr_t, Size allocSize=sizeof(VectorType))
 
 Vector (Context *pCtx=nullptr, Size allocSize=sizeof(VectorType))
 
 Vector (const T *pInitialData, Size elementCount, Context *pCtx=nullptr, Size allocSize=sizeof(VectorType), Size elementSize=sizeof(T))
 
 Vector (Size count, const T &value=T(), Context *pCtx=nullptr, Size allocSize=sizeof(VectorType))
 
 Vector (std::initializer_list< T > c, Context *pCtx=nullptr, Size allocSize=sizeof(VectorType))
 
 Vector (type_compatible_container_readable< T > auto &&c, Context *pCtx=nullptr, Size allocSize=sizeof(VectorType))
 
 Vector (const type_compatible_iterator_readable< T > auto &first, const type_compatible_iterator_readable< T > auto &last, Context *pCtx=nullptr, Size allocSize=sizeof(VectorType))
 
 Vector (const VectorType &other, Context *pCtx=nullptr, Size allocSize=sizeof(VectorType))
 
 Vector (VectorView< T > other, Context *pCtx=nullptr, Size allocSize=sizeof(VectorType))
 
 Vector (VectorType &&rhs, Context *pCtx=nullptr, Size allocSize=sizeof(VectorType))
 
 Vector (GblArrayList &&rhs, Context *pCtx=nullptr, Size allocSize=sizeof(VectorType))
 
auto take (void)
 
void give (MoveValues moveValues)
 
void reserve (Size count)
 
void resize (Size newSize)
 
void shrink_to_fit (void)
 
void pushBack (T value)
 
void push_back (T value)
 
template<typename... Args>
T & emplace_back (Args &&... args)
 
void pushFront (T value)
 
void push_front (T value)
 
iterator insert (const_iterator position, const T *pValue, Size count)
 
iterator insert (const_iterator position, const T &val)
 
iterator insert (const_iterator position, gimbal::Size size, const T &val)
 
iterator insert (const_iterator position, const type_compatible_iterator_readable< T > auto &first, const type_compatible_iterator_readable< T > auto &last)
 
template<type_compatible_iterator_readable< T > It>
requires contiguous_iterator<It>
iterator insert (const_iterator position, const It &first, const It &last)
 
iterator insert (const_iterator position, const type_compatible_container_readable< T > auto &c)
 
iterator insert (const_iterator position, const type_compatible_contiguous_container_readable< T > auto &c)
 
template<typename... Args>
iterator emplace (const_iterator position, Args &&... args)
 
void popBack (void)
 
void pop_back (void)
 
iterator erase (const_iterator pos)
 
iterator erase (const_iterator first, const_iterator last)
 
void clear (void)
 
void assign (const T *pData, Size elementCount)
 
void assign (gimbal::Size size, const T &value)
 
void assign (const type_compatible_contiguous_container_readable< T > auto &c)
 
void assign (const type_compatible_container_readable< T > auto &c)
 
void assign (const type_compatible_iterator_readable< T > auto &first, const type_compatible_iterator_readable< T > auto &last)
 
template<type_compatible_iterator_readable< T > It>
requires contiguous_iterator<It>
void assign (const It &first, const It &last)
 
const VectorTypeoperator= (VectorView< T > rhs)
 
const VectorTypeoperator= (const VectorType &rhs)
 
const VectorTypeoperator= (VectorType &&rhs)
 
const VectorTypeoperator= (GblArrayList &&rhs)
 
const VectorTypeoperator= (const type_compatible_container< T > auto &&c)
 
const VectorTypeoperator+= (const type_compatible_container_readable< T > auto &view)
 
const VectorTypeoperator+= (const type_compatible_iterator_readable< T > auto &it)
 
const VectorTypeoperator+= (const T &value)
 
const VectorTypeoperator+= (VectorView< T > view)
 
- Public Member Functions inherited from gimbal::VectorViewBase< Vector< T >, T >
 operator const GblArrayList * () const
 
const_reference getElement_ (size_type index) const
 
reference getElement_ (size_type index)
 
void setElement_ (size_type index, value_type value)
 
size_t getElementCount_ (void) const
 
bool isEmpty (void) const
 
bool isStack (void) const
 
bool isHeap (void) const
 
std::vector< value_type > toStdVector (void) const
 
Size getStackBytes (void) const
 
ContextgetContext (void) const
 
allocator_type get_allocator (void) const
 
Size getSize (void) const
 
Size getSizeBytes (void) const
 
Size size_bytes (void) const
 
Size getCapacity (void) const
 
Size capacity (void) const
 
Size getElementSize (void) const
 
size_type element_size (void) const
 
size_type max_size (void) const
 
const void * getData (void) const
 
constexpr pointer data (void)
 
constexpr const_pointer data (void) const
 
T & front (void) const
 
T & back (void) const
 
- Public Member Functions inherited from gimbal::ReadWriteContiguousIndexable< CRTP, Index, Value >
void checkBounds (Index index) const
 
Index size (void) const
 
Index length (void) const
 
Index empty (void) const
 
Value at (Index index) const
 
IndexableProxy at (Index index)
 
Value front (Index index) const
 
IndexableProxy front (void)
 
Value back (void) const
 
IndexableProxy back (void)
 
- Public Member Functions inherited from gimbal::ReadWriteIndexable< CRTP, Index, Value, true >
Value operator[] (Index key) const
 
- Public Member Functions inherited from gimbal::RandomAccessIterable< CRTP, Index, Value >
iterator begin (void)
 
auto begin (void) const
 
auto rbegin (void)
 
auto rbegin (void) const
 
iterator end (void)
 
auto end (void) const
 
auto rend (void)
 
auto rend (void) const
 
const_iterator cbegin (void) const
 
auto crbegin (void) const
 
const_iterator cend (void) const
 
auto crend (void) const
 
- Static Public Member Functions inherited from gimbal::Vector< T >
static MoveValues take (GblArrayList *pVec)
 
- Data Fields inherited from GblArrayList
struct { 
 
   GblContext *   pCtx 
 
   uint8_t *   pData 
 
   size_t   size 
 
   size_t   capacity 
 
   uint16_t   elementSize 
 
   uint16_t   zeroTerminated: 1 
 
   uint16_t   stackCapacity: 15 
 
private_ 
 
- Protected Member Functions inherited from gimbal::Vector< T >
void destruct_ (Size startPos, Size count=1)
 
- Protected Member Functions inherited from gimbal::VectorViewBase< Vector< T >, T >
decltype(auto) vec_ (void) const
 
decltype(auto) vec_ (void)
 
void * at_ (Size index) const
 

Detailed Description

template<Size ExtraStackSize, typename T = void*>
class gimbal::FlexibleVector< ExtraStackSize, T >

Definition at line 613 of file gimbal_vector.hpp.

Member Typedef Documentation

◆ FlexibleVectorType

template<Size ExtraStackSize, typename T = void*>
using gimbal::FlexibleVector< ExtraStackSize, T >::FlexibleVectorType = FlexibleVector<ExtraStackSize, T>

Definition at line 615 of file gimbal_vector.hpp.

Field Documentation

◆ ExtraStackBufferSize

template<Size ExtraStackSize, typename T = void*>
constexpr const Size gimbal::FlexibleVector< ExtraStackSize, T >::ExtraStackBufferSize
inlinestaticconstexpr

Definition at line 616 of file gimbal_vector.hpp.


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