SWC-DB  v0.5.12 C++ documentations
SWC-DB© (Super Wide Column Database) - High Performance Scalable Database (https://github.com/kashirin-alex/swc-db)
SWC::Core::Array< ValueT, SizeT, SIZE > Class Template Reference

#include <swcdb/core/Array.h>

+ Inheritance diagram for SWC::Core::Array< ValueT, SizeT, SIZE >:
+ Collaboration diagram for SWC::Core::Array< ValueT, SizeT, SIZE >:

Public Types

using value_type = _Array::value_type
 
using size_type = SizeT
 

Public Member Functions

 Array (const Array &other)=delete
 
 Array (Array &&other)=delete
 
Arrayoperator= (Array &&other)=delete
 
Arrayoperator= (const Array &other)=delete
 
SWC_CAN_INLINE Array () noexcept(is_SimpleType)
 
SWC_CAN_INLINE Array (size_type sz, const ValueT &value) noexcept(is_SimpleType)
 
SWC_CAN_INLINE Array (Array &&other, iterator it_b) noexcept(is_SimpleType)
 
 ~Array () noexcept
 
SWC_CAN_INLINE size_type size () const noexcept
 
SWC_CAN_INLINE bool empty () const noexcept
 
SWC_CAN_INLINE bool full () const noexcept
 
SWC_CAN_INLINE ValueT & back () noexcept
 
SWC_CAN_INLINE const ValueT & back () const noexcept
 
SWC_CAN_INLINE iterator end () noexcept
 
SWC_CAN_INLINE const_iterator end () const noexcept
 
SWC_CAN_INLINE const_iterator cend () const noexcept
 
SWC_CAN_INLINE size_t at (size_t pos, iterator &it) noexcept
 
SWC_CAN_INLINE size_t at (size_t pos, const_iterator &it) const noexcept
 
SWC_CAN_INLINE void insert (iterator it, ValueT &&value) noexcept
 
SWC_CAN_INLINE void insert (iterator it, const ValueT &value) noexcept(is_SimpleType)
 
SWC_CAN_INLINE void insert (iterator it, const_iterator first, const_iterator last) noexcept(is_SimpleType)
 
SWC_CAN_INLINE void push_back (ValueT &&value) noexcept
 
SWC_CAN_INLINE void push_back (const ValueT &value) noexcept(is_SimpleType)
 
SWC_CAN_INLINE void erase (iterator it, size_type amt=1) noexcept
 
SWC_CAN_INLINE void erase (iterator first, iterator last) noexcept
 

Private Types

using _Array = std::array< ValueT, SIZE >
 

Static Private Member Functions

static SWC_CAN_INLINE void _alter (iterator it, size_type remain, size_type amt) noexcept
 

Private Attributes

SizeT _size
 

Static Private Attributes

constexpr static bool is_SimpleType
 

Detailed Description

template<typename ValueT, typename SizeT, SizeT SIZE>
class SWC::Core::Array< ValueT, SizeT, SIZE >

Definition at line 18 of file Array.h.

Member Typedef Documentation

◆ _Array

template<typename ValueT , typename SizeT , SizeT SIZE>
using SWC::Core::Array< ValueT, SizeT, SIZE >::_Array = std::array<ValueT, SIZE>
private

Definition at line 24 of file Array.h.

◆ size_type

template<typename ValueT , typename SizeT , SizeT SIZE>
using SWC::Core::Array< ValueT, SizeT, SIZE >::size_type = SizeT

Definition at line 30 of file Array.h.

◆ value_type

template<typename ValueT , typename SizeT , SizeT SIZE>
using SWC::Core::Array< ValueT, SizeT, SIZE >::value_type = _Array::value_type

Definition at line 29 of file Array.h.

Constructor & Destructor Documentation

◆ Array() [1/5]

template<typename ValueT , typename SizeT , SizeT SIZE>
SWC::Core::Array< ValueT, SizeT, SIZE >::Array ( const Array< ValueT, SizeT, SIZE > &  other)
delete

◆ Array() [2/5]

template<typename ValueT , typename SizeT , SizeT SIZE>
SWC::Core::Array< ValueT, SizeT, SIZE >::Array ( Array< ValueT, SizeT, SIZE > &&  other)
delete

◆ Array() [3/5]

template<typename ValueT , typename SizeT , SizeT SIZE>
SWC_CAN_INLINE SWC::Core::Array< ValueT, SizeT, SIZE >::Array ( )
inlinenoexcept

Definition at line 47 of file Array.h.

◆ Array() [4/5]

template<typename ValueT , typename SizeT , SizeT SIZE>
SWC_CAN_INLINE SWC::Core::Array< ValueT, SizeT, SIZE >::Array ( size_type  sz,
const ValueT &  value 
)
inlinenoexcept

Definition at line 50 of file Array.h.

◆ Array() [5/5]

template<typename ValueT , typename SizeT , SizeT SIZE>
SWC_CAN_INLINE SWC::Core::Array< ValueT, SizeT, SIZE >::Array ( Array< ValueT, SizeT, SIZE > &&  other,
iterator  it_b 
)
inlinenoexcept

Definition at line 57 of file Array.h.

◆ ~Array()

template<typename ValueT , typename SizeT , SizeT SIZE>
SWC::Core::Array< ValueT, SizeT, SIZE >::~Array ( )
inlinenoexcept

Definition at line 65 of file Array.h.

Member Function Documentation

◆ _alter()

template<typename ValueT , typename SizeT , SizeT SIZE>
static SWC_CAN_INLINE void SWC::Core::Array< ValueT, SizeT, SIZE >::_alter ( iterator  it,
size_type  remain,
size_type  amt 
)
inlinestaticprivatenoexcept

Definition at line 184 of file Array.h.

Referenced by SWC::Core::Array< ArrayT *, SizeT, SIZE >::insert().

+ Here is the caller graph for this function:

◆ at() [1/2]

template<typename ValueT , typename SizeT , SizeT SIZE>
SWC_CAN_INLINE size_t SWC::Core::Array< ValueT, SizeT, SIZE >::at ( size_t  pos,
const_iterator &  it 
) const
inlinenoexcept

Definition at line 117 of file Array.h.

◆ at() [2/2]

template<typename ValueT , typename SizeT , SizeT SIZE>
SWC_CAN_INLINE size_t SWC::Core::Array< ValueT, SizeT, SIZE >::at ( size_t  pos,
iterator &  it 
)
inlinenoexcept

Definition at line 109 of file Array.h.

◆ back() [1/2]

template<typename ValueT , typename SizeT , SizeT SIZE>
SWC_CAN_INLINE const ValueT& SWC::Core::Array< ValueT, SizeT, SIZE >::back ( ) const
inlinenoexcept

Definition at line 88 of file Array.h.

◆ back() [2/2]

template<typename ValueT , typename SizeT , SizeT SIZE>
SWC_CAN_INLINE ValueT& SWC::Core::Array< ValueT, SizeT, SIZE >::back ( )
inlinenoexcept

Definition at line 83 of file Array.h.

Referenced by SWC::Core::ArraysArray< ArrayT, SizeT, SIZE, SPLIT >::back(), SWC::Core::ArraysArray< ArrayT, SizeT, SIZE, SPLIT >::full_back(), and SWC::Core::ArraysArray< ArrayT, SizeT, SIZE, SPLIT >::push_back().

+ Here is the caller graph for this function:

◆ cend()

◆ empty()

template<typename ValueT , typename SizeT , SizeT SIZE>
SWC_CAN_INLINE bool SWC::Core::Array< ValueT, SizeT, SIZE >::empty ( ) const
inlinenoexcept

Definition at line 73 of file Array.h.

Referenced by SWC::Core::ArraysArray< ArrayT, SizeT, SIZE, SPLIT >::empty(), and SWC::Core::ArraysArray< ArrayT, SizeT, SIZE, SPLIT >::push_back().

+ Here is the caller graph for this function:

◆ end() [1/2]

template<typename ValueT , typename SizeT , SizeT SIZE>
SWC_CAN_INLINE const_iterator SWC::Core::Array< ValueT, SizeT, SIZE >::end ( ) const
inlinenoexcept

Definition at line 98 of file Array.h.

◆ end() [2/2]

template<typename ValueT , typename SizeT , SizeT SIZE>
SWC_CAN_INLINE iterator SWC::Core::Array< ValueT, SizeT, SIZE >::end ( )
inlinenoexcept

Definition at line 93 of file Array.h.

◆ erase() [1/2]

template<typename ValueT , typename SizeT , SizeT SIZE>
SWC_CAN_INLINE void SWC::Core::Array< ValueT, SizeT, SIZE >::erase ( iterator  first,
iterator  last 
)
inlinenoexcept

Definition at line 177 of file Array.h.

◆ erase() [2/2]

template<typename ValueT , typename SizeT , SizeT SIZE>
SWC_CAN_INLINE void SWC::Core::Array< ValueT, SizeT, SIZE >::erase ( iterator  it,
size_type  amt = 1 
)
inlinenoexcept

Definition at line 170 of file Array.h.

Referenced by SWC::Core::Array< ArrayT *, SizeT, SIZE >::erase(), and SWC::Core::ArraysArray< ArrayT, SizeT, SIZE, SPLIT >::Iterator::remove().

+ Here is the caller graph for this function:

◆ full()

template<typename ValueT , typename SizeT , SizeT SIZE>
SWC_CAN_INLINE bool SWC::Core::Array< ValueT, SizeT, SIZE >::full ( ) const
inlinenoexcept

Definition at line 78 of file Array.h.

Referenced by SWC::Core::ArraysArray< ArrayT, SizeT, SIZE, SPLIT >::full(), and SWC::Core::ArraysArray< ArrayT, SizeT, SIZE, SPLIT >::full_back().

+ Here is the caller graph for this function:

◆ insert() [1/3]

template<typename ValueT , typename SizeT , SizeT SIZE>
SWC_CAN_INLINE void SWC::Core::Array< ValueT, SizeT, SIZE >::insert ( iterator  it,
const ValueT &  value 
)
inlinenoexcept

Definition at line 135 of file Array.h.

◆ insert() [2/3]

template<typename ValueT , typename SizeT , SizeT SIZE>
SWC_CAN_INLINE void SWC::Core::Array< ValueT, SizeT, SIZE >::insert ( iterator  it,
const_iterator  first,
const_iterator  last 
)
inlinenoexcept

Definition at line 144 of file Array.h.

◆ insert() [3/3]

template<typename ValueT , typename SizeT , SizeT SIZE>
SWC_CAN_INLINE void SWC::Core::Array< ValueT, SizeT, SIZE >::insert ( iterator  it,
ValueT &&  value 
)
inlinenoexcept

Definition at line 126 of file Array.h.

Referenced by SWC::Core::ArraysArray< ArrayT, SizeT, SIZE, SPLIT >::Iterator::reserve().

+ Here is the caller graph for this function:

◆ operator=() [1/2]

template<typename ValueT , typename SizeT , SizeT SIZE>
Array& SWC::Core::Array< ValueT, SizeT, SIZE >::operator= ( Array< ValueT, SizeT, SIZE > &&  other)
delete

◆ operator=() [2/2]

template<typename ValueT , typename SizeT , SizeT SIZE>
Array& SWC::Core::Array< ValueT, SizeT, SIZE >::operator= ( const Array< ValueT, SizeT, SIZE > &  other)
delete

◆ push_back() [1/2]

template<typename ValueT , typename SizeT , SizeT SIZE>
SWC_CAN_INLINE void SWC::Core::Array< ValueT, SizeT, SIZE >::push_back ( const ValueT &  value)
inlinenoexcept

Definition at line 164 of file Array.h.

◆ push_back() [2/2]

template<typename ValueT , typename SizeT , SizeT SIZE>
SWC_CAN_INLINE void SWC::Core::Array< ValueT, SizeT, SIZE >::push_back ( ValueT &&  value)
inlinenoexcept

Definition at line 159 of file Array.h.

Referenced by SWC::Core::ArraysArray< ArrayT, SizeT, SIZE, SPLIT >::add_array().

+ Here is the caller graph for this function:

◆ size()

template<typename ValueT , typename SizeT , SizeT SIZE>
SWC_CAN_INLINE size_type SWC::Core::Array< ValueT, SizeT, SIZE >::size ( ) const
inlinenoexcept

Definition at line 68 of file Array.h.

Referenced by SWC::Core::ArraysArray< ArrayT, SizeT, SIZE, SPLIT >::print(), SWC::Core::ArraysArray< ArrayT, SizeT, SIZE, SPLIT >::size(), and SWC::Core::ArraysArray< ArrayT, SizeT, SIZE, SPLIT >::size_of_internal().

+ Here is the caller graph for this function:

Member Data Documentation

◆ _size

◆ is_SimpleType

template<typename ValueT , typename SizeT , SizeT SIZE>
constexpr static bool SWC::Core::Array< ValueT, SizeT, SIZE >::is_SimpleType
staticconstexprprivate
Initial value:
= std::is_pointer_v<ValueT> ||
std::is_integral_v<ValueT> ||
std::is_reference_v<ValueT>

Definition at line 20 of file Array.h.


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