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::ArraysArray< ArrayT, SizeT, SIZE, SPLIT > Class Template Reference

#include <swcdb/core/ArraysArray.h>

+ Collaboration diagram for SWC::Core::ArraysArray< ArrayT, SizeT, SIZE, SPLIT >:

Classes

class  ConstIterator
 
class  Iterator
 

Public Types

using value_type = ArrayT::value_type
 
using size_type = SizeT
 

Public Member Functions

 ArraysArray (const ArraysArray &other)=delete
 
 ArraysArray (ArraysArray &&other)=delete
 
ArraysArrayoperator= (ArraysArray &&other)=delete
 
ArraysArrayoperator= (const ArraysArray &other)=delete
 
SWC_CAN_INLINE ArraysArray () noexcept
 
SWC_CAN_INLINE ~ArraysArray () noexcept
 
SWC_CAN_INLINE void clear () noexcept
 
template<typename T >
SWC_CAN_INLINEget () noexcept
 
template<typename T >
SWC_CAN_INLINEget () const noexcept
 
template<typename T >
SWC_CAN_INLINEget (size_t offset) noexcept
 
template<typename T >
SWC_CAN_INLINEget (size_t offset) const noexcept
 
SWC_CAN_INLINE Iterator GetIterator () noexcept
 
SWC_CAN_INLINE Iterator GetIterator (size_t offset) noexcept
 
SWC_CAN_INLINE ConstIterator GetConstIterator () const noexcept
 
SWC_CAN_INLINE ConstIterator GetConstIterator (size_t offset) const noexcept
 
SWC_CAN_INLINE size_type size () const noexcept
 
SWC_CAN_INLINE size_t count () const noexcept
 
SWC_CAN_INLINE size_t size_of_internal () const noexcept
 
SWC_CAN_INLINE bool full () const noexcept
 
SWC_CAN_INLINE bool full_back () const noexcept
 
SWC_CAN_INLINE bool empty () const noexcept
 
SWC_CAN_INLINE value_typefront () noexcept
 
SWC_CAN_INLINE value_typeback () noexcept
 
SWC_CAN_INLINE const value_typefront () const noexcept
 
SWC_CAN_INLINE const value_typeback () const noexcept
 
SWC_CAN_INLINE value_typeoperator[] (size_t pos) noexcept
 
SWC_CAN_INLINE void add_array ()
 
SWC_CAN_INLINE void push_back (const value_type &value)
 
SWC_CAN_INLINE void push_back (value_type &&value)
 
void print (std::ostream &out) const
 

Private Types

using Arrays = Core::Array< ArrayT *, SizeT, SIZE >
 

Private Attributes

Arrays _arrays
 

Detailed Description

template<typename ArrayT, typename SizeT, SizeT SIZE, SizeT SPLIT = SIZE/2>
class SWC::Core::ArraysArray< ArrayT, SizeT, SIZE, SPLIT >

Definition at line 20 of file ArraysArray.h.

Member Typedef Documentation

◆ Arrays

template<typename ArrayT , typename SizeT , SizeT SIZE, SizeT SPLIT = SIZE/2>
using SWC::Core::ArraysArray< ArrayT, SizeT, SIZE, SPLIT >::Arrays = Core::Array<ArrayT*, SizeT, SIZE>
private

Definition at line 22 of file ArraysArray.h.

◆ size_type

template<typename ArrayT , typename SizeT , SizeT SIZE, SizeT SPLIT = SIZE/2>
using SWC::Core::ArraysArray< ArrayT, SizeT, SIZE, SPLIT >::size_type = SizeT

Definition at line 30 of file ArraysArray.h.

◆ value_type

template<typename ArrayT , typename SizeT , SizeT SIZE, SizeT SPLIT = SIZE/2>
using SWC::Core::ArraysArray< ArrayT, SizeT, SIZE, SPLIT >::value_type = ArrayT::value_type

Definition at line 29 of file ArraysArray.h.

Constructor & Destructor Documentation

◆ ArraysArray() [1/3]

template<typename ArrayT , typename SizeT , SizeT SIZE, SizeT SPLIT = SIZE/2>
SWC::Core::ArraysArray< ArrayT, SizeT, SIZE, SPLIT >::ArraysArray ( const ArraysArray< ArrayT, SizeT, SIZE, SPLIT > &  other)
delete

◆ ArraysArray() [2/3]

template<typename ArrayT , typename SizeT , SizeT SIZE, SizeT SPLIT = SIZE/2>
SWC::Core::ArraysArray< ArrayT, SizeT, SIZE, SPLIT >::ArraysArray ( ArraysArray< ArrayT, SizeT, SIZE, SPLIT > &&  other)
delete

◆ ArraysArray() [3/3]

template<typename ArrayT , typename SizeT , SizeT SIZE, SizeT SPLIT = SIZE/2>
SWC_CAN_INLINE SWC::Core::ArraysArray< ArrayT, SizeT, SIZE, SPLIT >::ArraysArray ( )
inlinenoexcept

Definition at line 228 of file ArraysArray.h.

◆ ~ArraysArray()

template<typename ArrayT , typename SizeT , SizeT SIZE, SizeT SPLIT = SIZE/2>
SWC_CAN_INLINE SWC::Core::ArraysArray< ArrayT, SizeT, SIZE, SPLIT >::~ArraysArray ( )
inlinenoexcept

Definition at line 231 of file ArraysArray.h.

References SWC::Core::ArraysArray< ArrayT, SizeT, SIZE, SPLIT >::clear().

+ Here is the call graph for this function:

Member Function Documentation

◆ add_array()

template<typename ArrayT , typename SizeT , SizeT SIZE, SizeT SPLIT = SIZE/2>
SWC_CAN_INLINE void SWC::Core::ArraysArray< ArrayT, SizeT, SIZE, SPLIT >::add_array ( )
inline

Definition at line 348 of file ArraysArray.h.

References SWC::Core::ArraysArray< ArrayT, SizeT, SIZE, SPLIT >::_arrays, and SWC::Core::Array< ValueT, SizeT, SIZE >::push_back().

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

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ back() [1/2]

template<typename ArrayT , typename SizeT , SizeT SIZE, SizeT SPLIT = SIZE/2>
SWC_CAN_INLINE const value_type& SWC::Core::ArraysArray< ArrayT, SizeT, SIZE, SPLIT >::back ( ) const
inlinenoexcept

Definition at line 337 of file ArraysArray.h.

References SWC::Core::ArraysArray< ArrayT, SizeT, SIZE, SPLIT >::_arrays, and SWC::Core::Array< ValueT, SizeT, SIZE >::back().

+ Here is the call graph for this function:

◆ back() [2/2]

template<typename ArrayT , typename SizeT , SizeT SIZE, SizeT SPLIT = SIZE/2>
SWC_CAN_INLINE value_type& SWC::Core::ArraysArray< ArrayT, SizeT, SIZE, SPLIT >::back ( )
inlinenoexcept

Definition at line 327 of file ArraysArray.h.

References SWC::Core::ArraysArray< ArrayT, SizeT, SIZE, SPLIT >::_arrays, and SWC::Core::Array< ValueT, SizeT, SIZE >::back().

+ Here is the call graph for this function:

◆ clear()

template<typename ArrayT , typename SizeT , SizeT SIZE, SizeT SPLIT = SIZE/2>
SWC_CAN_INLINE void SWC::Core::ArraysArray< ArrayT, SizeT, SIZE, SPLIT >::clear ( )
inlinenoexcept

Definition at line 236 of file ArraysArray.h.

References SWC::Core::ArraysArray< ArrayT, SizeT, SIZE, SPLIT >::_arrays.

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

+ Here is the caller graph for this function:

◆ count()

template<typename ArrayT , typename SizeT , SizeT SIZE, SizeT SPLIT = SIZE/2>
SWC_CAN_INLINE size_t SWC::Core::ArraysArray< ArrayT, SizeT, SIZE, SPLIT >::count ( ) const
inlinenoexcept

◆ empty()

template<typename ArrayT , typename SizeT , SizeT SIZE, SizeT SPLIT = SIZE/2>
SWC_CAN_INLINE bool SWC::Core::ArraysArray< ArrayT, SizeT, SIZE, SPLIT >::empty ( ) const
inlinenoexcept

Definition at line 317 of file ArraysArray.h.

References SWC::Core::ArraysArray< ArrayT, SizeT, SIZE, SPLIT >::_arrays, and SWC::Core::Array< ValueT, SizeT, SIZE >::empty().

+ Here is the call graph for this function:

◆ front() [1/2]

template<typename ArrayT , typename SizeT , SizeT SIZE, SizeT SPLIT = SIZE/2>
SWC_CAN_INLINE const value_type& SWC::Core::ArraysArray< ArrayT, SizeT, SIZE, SPLIT >::front ( ) const
inlinenoexcept

◆ front() [2/2]

template<typename ArrayT , typename SizeT , SizeT SIZE, SizeT SPLIT = SIZE/2>
SWC_CAN_INLINE value_type& SWC::Core::ArraysArray< ArrayT, SizeT, SIZE, SPLIT >::front ( )
inlinenoexcept

◆ full()

template<typename ArrayT , typename SizeT , SizeT SIZE, SizeT SPLIT = SIZE/2>
SWC_CAN_INLINE bool SWC::Core::ArraysArray< ArrayT, SizeT, SIZE, SPLIT >::full ( ) const
inlinenoexcept

Definition at line 307 of file ArraysArray.h.

References SWC::Core::ArraysArray< ArrayT, SizeT, SIZE, SPLIT >::_arrays, and SWC::Core::Array< ValueT, SizeT, SIZE >::full().

+ Here is the call graph for this function:

◆ full_back()

template<typename ArrayT , typename SizeT , SizeT SIZE, SizeT SPLIT = SIZE/2>
SWC_CAN_INLINE bool SWC::Core::ArraysArray< ArrayT, SizeT, SIZE, SPLIT >::full_back ( ) const
inlinenoexcept

Definition at line 312 of file ArraysArray.h.

References SWC::Core::ArraysArray< ArrayT, SizeT, SIZE, SPLIT >::_arrays, SWC::Core::Array< ValueT, SizeT, SIZE >::back(), and SWC::Core::Array< ValueT, SizeT, SIZE >::full().

+ Here is the call graph for this function:

◆ get() [1/4]

template<typename ArrayT , typename SizeT , SizeT SIZE, SizeT SPLIT = SIZE/2>
template<typename T >
SWC_CAN_INLINE T SWC::Core::ArraysArray< ArrayT, SizeT, SIZE, SPLIT >::get ( ) const
inlinenoexcept

◆ get() [2/4]

template<typename ArrayT , typename SizeT , SizeT SIZE, SizeT SPLIT = SIZE/2>
template<typename T >
SWC_CAN_INLINE T SWC::Core::ArraysArray< ArrayT, SizeT, SIZE, SPLIT >::get ( )
inlinenoexcept

◆ get() [3/4]

template<typename ArrayT , typename SizeT , SizeT SIZE, SizeT SPLIT = SIZE/2>
template<typename T >
SWC_CAN_INLINE T SWC::Core::ArraysArray< ArrayT, SizeT, SIZE, SPLIT >::get ( size_t  offset) const
inlinenoexcept

◆ get() [4/4]

template<typename ArrayT , typename SizeT , SizeT SIZE, SizeT SPLIT = SIZE/2>
template<typename T >
SWC_CAN_INLINE T SWC::Core::ArraysArray< ArrayT, SizeT, SIZE, SPLIT >::get ( size_t  offset)
inlinenoexcept

◆ GetConstIterator() [1/2]

template<typename ArrayT , typename SizeT , SizeT SIZE, SizeT SPLIT = SIZE/2>
SWC_CAN_INLINE ConstIterator SWC::Core::ArraysArray< ArrayT, SizeT, SIZE, SPLIT >::GetConstIterator ( ) const
inlinenoexcept

Definition at line 278 of file ArraysArray.h.

◆ GetConstIterator() [2/2]

template<typename ArrayT , typename SizeT , SizeT SIZE, SizeT SPLIT = SIZE/2>
SWC_CAN_INLINE ConstIterator SWC::Core::ArraysArray< ArrayT, SizeT, SIZE, SPLIT >::GetConstIterator ( size_t  offset) const
inlinenoexcept

Definition at line 283 of file ArraysArray.h.

◆ GetIterator() [1/2]

template<typename ArrayT , typename SizeT , SizeT SIZE, SizeT SPLIT = SIZE/2>
SWC_CAN_INLINE Iterator SWC::Core::ArraysArray< ArrayT, SizeT, SIZE, SPLIT >::GetIterator ( )
inlinenoexcept

Definition at line 268 of file ArraysArray.h.

◆ GetIterator() [2/2]

template<typename ArrayT , typename SizeT , SizeT SIZE, SizeT SPLIT = SIZE/2>
SWC_CAN_INLINE Iterator SWC::Core::ArraysArray< ArrayT, SizeT, SIZE, SPLIT >::GetIterator ( size_t  offset)
inlinenoexcept

Definition at line 273 of file ArraysArray.h.

◆ operator=() [1/2]

template<typename ArrayT , typename SizeT , SizeT SIZE, SizeT SPLIT = SIZE/2>
ArraysArray& SWC::Core::ArraysArray< ArrayT, SizeT, SIZE, SPLIT >::operator= ( ArraysArray< ArrayT, SizeT, SIZE, SPLIT > &&  other)
delete

◆ operator=() [2/2]

template<typename ArrayT , typename SizeT , SizeT SIZE, SizeT SPLIT = SIZE/2>
ArraysArray& SWC::Core::ArraysArray< ArrayT, SizeT, SIZE, SPLIT >::operator= ( const ArraysArray< ArrayT, SizeT, SIZE, SPLIT > &  other)
delete

◆ operator[]()

template<typename ArrayT , typename SizeT , SizeT SIZE, SizeT SPLIT = SIZE/2>
SWC_CAN_INLINE value_type* SWC::Core::ArraysArray< ArrayT, SizeT, SIZE, SPLIT >::operator[] ( size_t  pos)
inlinenoexcept

Definition at line 342 of file ArraysArray.h.

◆ print()

template<typename ArrayT , typename SizeT , SizeT SIZE, SizeT SPLIT = SIZE/2>
void SWC::Core::ArraysArray< ArrayT, SizeT, SIZE, SPLIT >::print ( std::ostream &  out) const
inline

Definition at line 367 of file ArraysArray.h.

References SWC::Core::ArraysArray< ArrayT, SizeT, SIZE, SPLIT >::_arrays, and SWC::Core::Array< ValueT, SizeT, SIZE >::size().

+ Here is the call graph for this function:

◆ push_back() [1/2]

template<typename ArrayT , typename SizeT , SizeT SIZE, SizeT SPLIT = SIZE/2>
SWC_CAN_INLINE void SWC::Core::ArraysArray< ArrayT, SizeT, SIZE, SPLIT >::push_back ( const value_type value)
inline

Definition at line 353 of file ArraysArray.h.

References SWC::Core::ArraysArray< ArrayT, SizeT, SIZE, SPLIT >::_arrays, SWC::Core::ArraysArray< ArrayT, SizeT, SIZE, SPLIT >::add_array(), SWC::Core::Array< ValueT, SizeT, SIZE >::back(), and SWC::Core::Array< ValueT, SizeT, SIZE >::empty().

+ Here is the call graph for this function:

◆ push_back() [2/2]

template<typename ArrayT , typename SizeT , SizeT SIZE, SizeT SPLIT = SIZE/2>
SWC_CAN_INLINE void SWC::Core::ArraysArray< ArrayT, SizeT, SIZE, SPLIT >::push_back ( value_type &&  value)
inline

Definition at line 360 of file ArraysArray.h.

References SWC::Core::ArraysArray< ArrayT, SizeT, SIZE, SPLIT >::_arrays, SWC::Core::ArraysArray< ArrayT, SizeT, SIZE, SPLIT >::add_array(), SWC::Core::Array< ValueT, SizeT, SIZE >::back(), and SWC::Core::Array< ValueT, SizeT, SIZE >::empty().

+ Here is the call graph for this function:

◆ size()

template<typename ArrayT , typename SizeT , SizeT SIZE, SizeT SPLIT = SIZE/2>
SWC_CAN_INLINE size_type SWC::Core::ArraysArray< ArrayT, SizeT, SIZE, SPLIT >::size ( ) const
inlinenoexcept

Definition at line 289 of file ArraysArray.h.

References SWC::Core::ArraysArray< ArrayT, SizeT, SIZE, SPLIT >::_arrays, and SWC::Core::Array< ValueT, SizeT, SIZE >::size().

+ Here is the call graph for this function:

◆ size_of_internal()

template<typename ArrayT , typename SizeT , SizeT SIZE, SizeT SPLIT = SIZE/2>
SWC_CAN_INLINE size_t SWC::Core::ArraysArray< ArrayT, SizeT, SIZE, SPLIT >::size_of_internal ( ) const
inlinenoexcept

Definition at line 302 of file ArraysArray.h.

References SWC::Core::ArraysArray< ArrayT, SizeT, SIZE, SPLIT >::_arrays, and SWC::Core::Array< ValueT, SizeT, SIZE >::size().

+ Here is the call graph for this function:

Member Data Documentation

◆ _arrays


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