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::VectorsVector< VectorsT, VectorT, SIZE, GROW, SPLIT > Class Template Reference

#include <swcdb/core/VectorsVector.h>

+ Inheritance diagram for SWC::Core::VectorsVector< VectorsT, VectorT, SIZE, GROW, SPLIT >:
+ Collaboration diagram for SWC::Core::VectorsVector< VectorsT, VectorT, SIZE, GROW, SPLIT >:

Classes

class  ConstIterator
 
class  Iterator
 

Public Types

using value_type = typename VectorT::value_type
 

Public Member Functions

constexpr SWC_CAN_INLINE VectorsVector () noexcept
 
SWC_CAN_INLINE VectorsVector (const VectorsVector &other)
 
constexpr SWC_CAN_INLINE VectorsVector (VectorsVector &&other) noexcept
 
 ~VectorsVector () noexcept
 
SWC_CAN_INLINE VectorsVectoroperator= (const VectorsVector &other)
 
SWC_CAN_INLINE VectorsVectoroperator= (VectorsVector &&other) noexcept
 
constexpr SWC_CAN_INLINE bool operator== (const VectorsVector &other) const noexcept
 
constexpr SWC_CAN_INLINE bool operator!= (const VectorsVector &other) const noexcept
 
template<typename T >
constexpr SWC_CAN_INLINEget () noexcept
 
template<typename T >
constexpr SWC_CAN_INLINEget () const noexcept
 
template<typename T >
constexpr SWC_CAN_INLINEget (size_t offset) noexcept
 
template<typename T >
constexpr SWC_CAN_INLINEget (size_t offset) const noexcept
 
constexpr SWC_CAN_INLINE Iterator GetIterator () noexcept
 
constexpr SWC_CAN_INLINE Iterator GetIterator (size_t offset) noexcept
 
constexpr SWC_CAN_INLINE ConstIterator GetConstIterator () const noexcept
 
constexpr SWC_CAN_INLINE ConstIterator GetConstIterator (size_t offset) const noexcept
 
constexpr SWC_CAN_INLINE size_t size_of_internal () const noexcept
 
constexpr SWC_CAN_INLINE size_t count () const noexcept
 
constexpr SWC_CAN_INLINE value_typefront () noexcept
 
constexpr SWC_CAN_INLINE value_typeback () noexcept
 
constexpr SWC_CAN_INLINE const value_typefront () const noexcept
 
constexpr SWC_CAN_INLINE const value_typeback () const noexcept
 
constexpr SWC_CAN_INLINE value_typeoperator[] (size_t pos) noexcept
 
SWC_CAN_INLINE void ensure ()
 
SWC_CAN_INLINE void push_back (const value_type &value)
 
SWC_CAN_INLINE void push_back (value_type &&value)
 
SWC_CAN_INLINE void add (VectorsVector &&other)
 
SWC_CAN_INLINE void split (size_t split_at, VectorsVector &to)
 
void print (std::ostream &out) const
 

Static Public Member Functions

constexpr static SWC_CAN_INLINE size_t need_reserve (VectorT &vec)
 

Detailed Description

template<typename VectorsT, typename VectorT, typename VectorT::size_type SIZE, typename VectorT::size_type GROW = SIZE/4, typename VectorT::size_type SPLIT = SIZE/2>
class SWC::Core::VectorsVector< VectorsT, VectorT, SIZE, GROW, SPLIT >

Definition at line 20 of file VectorsVector.h.

Member Typedef Documentation

◆ value_type

template<typename VectorsT , typename VectorT , typename VectorT::size_type SIZE, typename VectorT::size_type GROW = SIZE/4, typename VectorT::size_type SPLIT = SIZE/2>
using SWC::Core::VectorsVector< VectorsT, VectorT, SIZE, GROW, SPLIT >::value_type = typename VectorT::value_type

Definition at line 24 of file VectorsVector.h.

Constructor & Destructor Documentation

◆ VectorsVector() [1/3]

template<typename VectorsT , typename VectorT , typename VectorT::size_type SIZE, typename VectorT::size_type GROW = SIZE/4, typename VectorT::size_type SPLIT = SIZE/2>
constexpr SWC_CAN_INLINE SWC::Core::VectorsVector< VectorsT, VectorT, SIZE, GROW, SPLIT >::VectorsVector ( )
inlineconstexprnoexcept

Definition at line 27 of file VectorsVector.h.

◆ VectorsVector() [2/3]

template<typename VectorsT , typename VectorT , typename VectorT::size_type SIZE, typename VectorT::size_type GROW = SIZE/4, typename VectorT::size_type SPLIT = SIZE/2>
SWC_CAN_INLINE SWC::Core::VectorsVector< VectorsT, VectorT, SIZE, GROW, SPLIT >::VectorsVector ( const VectorsVector< VectorsT, VectorT, SIZE, GROW, SPLIT > &  other)
inline

Definition at line 30 of file VectorsVector.h.

◆ VectorsVector() [3/3]

template<typename VectorsT , typename VectorT , typename VectorT::size_type SIZE, typename VectorT::size_type GROW = SIZE/4, typename VectorT::size_type SPLIT = SIZE/2>
constexpr SWC_CAN_INLINE SWC::Core::VectorsVector< VectorsT, VectorT, SIZE, GROW, SPLIT >::VectorsVector ( VectorsVector< VectorsT, VectorT, SIZE, GROW, SPLIT > &&  other)
inlineconstexprnoexcept

Definition at line 35 of file VectorsVector.h.

◆ ~VectorsVector()

template<typename VectorsT , typename VectorT , typename VectorT::size_type SIZE, typename VectorT::size_type GROW = SIZE/4, typename VectorT::size_type SPLIT = SIZE/2>
SWC::Core::VectorsVector< VectorsT, VectorT, SIZE, GROW, SPLIT >::~VectorsVector ( )
inlinenoexcept

Definition at line 39 of file VectorsVector.h.

Member Function Documentation

◆ add()

template<typename VectorsT , typename VectorT , typename VectorT::size_type SIZE, typename VectorT::size_type GROW = SIZE/4, typename VectorT::size_type SPLIT = SIZE/2>
SWC_CAN_INLINE void SWC::Core::VectorsVector< VectorsT, VectorT, SIZE, GROW, SPLIT >::add ( VectorsVector< VectorsT, VectorT, SIZE, GROW, SPLIT > &&  other)
inline

Definition at line 659 of file VectorsVector.h.

Referenced by SWC::DB::Cells::Mutable::take_sorted().

+ Here is the caller graph for this function:

◆ back() [1/2]

template<typename VectorsT , typename VectorT , typename VectorT::size_type SIZE, typename VectorT::size_type GROW = SIZE/4, typename VectorT::size_type SPLIT = SIZE/2>
constexpr SWC_CAN_INLINE const value_type& SWC::Core::VectorsVector< VectorsT, VectorT, SIZE, GROW, SPLIT >::back ( ) const
inlineconstexprnoexcept

Definition at line 624 of file VectorsVector.h.

◆ back() [2/2]

template<typename VectorsT , typename VectorT , typename VectorT::size_type SIZE, typename VectorT::size_type GROW = SIZE/4, typename VectorT::size_type SPLIT = SIZE/2>
constexpr SWC_CAN_INLINE value_type& SWC::Core::VectorsVector< VectorsT, VectorT, SIZE, GROW, SPLIT >::back ( )
inlineconstexprnoexcept

Definition at line 614 of file VectorsVector.h.

Referenced by SWC::DB::Cells::Mutable::back().

+ Here is the caller graph for this function:

◆ count()

template<typename VectorsT , typename VectorT , typename VectorT::size_type SIZE, typename VectorT::size_type GROW = SIZE/4, typename VectorT::size_type SPLIT = SIZE/2>
constexpr SWC_CAN_INLINE size_t SWC::Core::VectorsVector< VectorsT, VectorT, SIZE, GROW, SPLIT >::count ( ) const
inlineconstexprnoexcept

Definition at line 600 of file VectorsVector.h.

◆ ensure()

template<typename VectorsT , typename VectorT , typename VectorT::size_type SIZE, typename VectorT::size_type GROW = SIZE/4, typename VectorT::size_type SPLIT = SIZE/2>
SWC_CAN_INLINE void SWC::Core::VectorsVector< VectorsT, VectorT, SIZE, GROW, SPLIT >::ensure ( )
inline

Definition at line 636 of file VectorsVector.h.

Referenced by SWC::Core::VectorsVector< Core::Vector< VectorT, uint32_t, 1 >, VectorT, 8192 >::push_back().

+ Here is the caller graph for this function:

◆ front() [1/2]

template<typename VectorsT , typename VectorT , typename VectorT::size_type SIZE, typename VectorT::size_type GROW = SIZE/4, typename VectorT::size_type SPLIT = SIZE/2>
constexpr SWC_CAN_INLINE const value_type& SWC::Core::VectorsVector< VectorsT, VectorT, SIZE, GROW, SPLIT >::front ( ) const
inlineconstexprnoexcept

Definition at line 619 of file VectorsVector.h.

◆ front() [2/2]

template<typename VectorsT , typename VectorT , typename VectorT::size_type SIZE, typename VectorT::size_type GROW = SIZE/4, typename VectorT::size_type SPLIT = SIZE/2>
constexpr SWC_CAN_INLINE value_type& SWC::Core::VectorsVector< VectorsT, VectorT, SIZE, GROW, SPLIT >::front ( )
inlineconstexprnoexcept

Definition at line 609 of file VectorsVector.h.

Referenced by SWC::DB::Cells::Mutable::front().

+ Here is the caller graph for this function:

◆ get() [1/4]

template<typename VectorsT , typename VectorT , typename VectorT::size_type SIZE, typename VectorT::size_type GROW = SIZE/4, typename VectorT::size_type SPLIT = SIZE/2>
template<typename T >
constexpr SWC_CAN_INLINE T SWC::Core::VectorsVector< VectorsT, VectorT, SIZE, GROW, SPLIT >::get ( ) const
inlineconstexprnoexcept

Definition at line 553 of file VectorsVector.h.

◆ get() [2/4]

template<typename VectorsT , typename VectorT , typename VectorT::size_type SIZE, typename VectorT::size_type GROW = SIZE/4, typename VectorT::size_type SPLIT = SIZE/2>
template<typename T >
constexpr SWC_CAN_INLINE T SWC::Core::VectorsVector< VectorsT, VectorT, SIZE, GROW, SPLIT >::get ( )
inlineconstexprnoexcept

Definition at line 547 of file VectorsVector.h.

Referenced by SWC::DB::Cells::Mutable::get().

+ Here is the caller graph for this function:

◆ get() [3/4]

template<typename VectorsT , typename VectorT , typename VectorT::size_type SIZE, typename VectorT::size_type GROW = SIZE/4, typename VectorT::size_type SPLIT = SIZE/2>
template<typename T >
constexpr SWC_CAN_INLINE T SWC::Core::VectorsVector< VectorsT, VectorT, SIZE, GROW, SPLIT >::get ( size_t  offset) const
inlineconstexprnoexcept

Definition at line 565 of file VectorsVector.h.

◆ get() [4/4]

template<typename VectorsT , typename VectorT , typename VectorT::size_type SIZE, typename VectorT::size_type GROW = SIZE/4, typename VectorT::size_type SPLIT = SIZE/2>
template<typename T >
constexpr SWC_CAN_INLINE T SWC::Core::VectorsVector< VectorsT, VectorT, SIZE, GROW, SPLIT >::get ( size_t  offset)
inlineconstexprnoexcept

Definition at line 559 of file VectorsVector.h.

◆ GetConstIterator() [1/2]

template<typename VectorsT , typename VectorT , typename VectorT::size_type SIZE, typename VectorT::size_type GROW = SIZE/4, typename VectorT::size_type SPLIT = SIZE/2>
constexpr SWC_CAN_INLINE ConstIterator SWC::Core::VectorsVector< VectorsT, VectorT, SIZE, GROW, SPLIT >::GetConstIterator ( ) const
inlineconstexprnoexcept

Definition at line 581 of file VectorsVector.h.

◆ GetConstIterator() [2/2]

template<typename VectorsT , typename VectorT , typename VectorT::size_type SIZE, typename VectorT::size_type GROW = SIZE/4, typename VectorT::size_type SPLIT = SIZE/2>
constexpr SWC_CAN_INLINE ConstIterator SWC::Core::VectorsVector< VectorsT, VectorT, SIZE, GROW, SPLIT >::GetConstIterator ( size_t  offset) const
inlineconstexprnoexcept

Definition at line 586 of file VectorsVector.h.

◆ GetIterator() [1/2]

template<typename VectorsT , typename VectorT , typename VectorT::size_type SIZE, typename VectorT::size_type GROW = SIZE/4, typename VectorT::size_type SPLIT = SIZE/2>
constexpr SWC_CAN_INLINE Iterator SWC::Core::VectorsVector< VectorsT, VectorT, SIZE, GROW, SPLIT >::GetIterator ( )
inlineconstexprnoexcept

Definition at line 571 of file VectorsVector.h.

◆ GetIterator() [2/2]

template<typename VectorsT , typename VectorT , typename VectorT::size_type SIZE, typename VectorT::size_type GROW = SIZE/4, typename VectorT::size_type SPLIT = SIZE/2>
constexpr SWC_CAN_INLINE Iterator SWC::Core::VectorsVector< VectorsT, VectorT, SIZE, GROW, SPLIT >::GetIterator ( size_t  offset)
inlineconstexprnoexcept

Definition at line 576 of file VectorsVector.h.

◆ need_reserve()

template<typename VectorsT , typename VectorT , typename VectorT::size_type SIZE, typename VectorT::size_type GROW = SIZE/4, typename VectorT::size_type SPLIT = SIZE/2>
constexpr static SWC_CAN_INLINE size_t SWC::Core::VectorsVector< VectorsT, VectorT, SIZE, GROW, SPLIT >::need_reserve ( VectorT &  vec)
inlinestaticconstexpr

Definition at line 65 of file VectorsVector.h.

Referenced by SWC::Core::VectorsVector< VectorsT, VectorT, SIZE, GROW, SPLIT >::Iterator::ensure(), and SWC::Core::VectorsVector< Core::Vector< VectorT, uint32_t, 1 >, VectorT, 8192 >::ensure().

+ Here is the caller graph for this function:

◆ operator!=()

template<typename VectorsT , typename VectorT , typename VectorT::size_type SIZE, typename VectorT::size_type GROW = SIZE/4, typename VectorT::size_type SPLIT = SIZE/2>
constexpr SWC_CAN_INLINE bool SWC::Core::VectorsVector< VectorsT, VectorT, SIZE, GROW, SPLIT >::operator!= ( const VectorsVector< VectorsT, VectorT, SIZE, GROW, SPLIT > &  other) const
inlineconstexprnoexcept

Definition at line 59 of file VectorsVector.h.

◆ operator=() [1/2]

template<typename VectorsT , typename VectorT , typename VectorT::size_type SIZE, typename VectorT::size_type GROW = SIZE/4, typename VectorT::size_type SPLIT = SIZE/2>
SWC_CAN_INLINE VectorsVector& SWC::Core::VectorsVector< VectorsT, VectorT, SIZE, GROW, SPLIT >::operator= ( const VectorsVector< VectorsT, VectorT, SIZE, GROW, SPLIT > &  other)
inline

Definition at line 42 of file VectorsVector.h.

◆ operator=() [2/2]

template<typename VectorsT , typename VectorT , typename VectorT::size_type SIZE, typename VectorT::size_type GROW = SIZE/4, typename VectorT::size_type SPLIT = SIZE/2>
SWC_CAN_INLINE VectorsVector& SWC::Core::VectorsVector< VectorsT, VectorT, SIZE, GROW, SPLIT >::operator= ( VectorsVector< VectorsT, VectorT, SIZE, GROW, SPLIT > &&  other)
inlinenoexcept

Definition at line 48 of file VectorsVector.h.

◆ operator==()

template<typename VectorsT , typename VectorT , typename VectorT::size_type SIZE, typename VectorT::size_type GROW = SIZE/4, typename VectorT::size_type SPLIT = SIZE/2>
constexpr SWC_CAN_INLINE bool SWC::Core::VectorsVector< VectorsT, VectorT, SIZE, GROW, SPLIT >::operator== ( const VectorsVector< VectorsT, VectorT, SIZE, GROW, SPLIT > &  other) const
inlineconstexprnoexcept

Definition at line 54 of file VectorsVector.h.

◆ operator[]()

template<typename VectorsT , typename VectorT , typename VectorT::size_type SIZE, typename VectorT::size_type GROW = SIZE/4, typename VectorT::size_type SPLIT = SIZE/2>
constexpr SWC_CAN_INLINE value_type* SWC::Core::VectorsVector< VectorsT, VectorT, SIZE, GROW, SPLIT >::operator[] ( size_t  pos)
inlineconstexprnoexcept

Definition at line 629 of file VectorsVector.h.

◆ print()

template<typename VectorsT , typename VectorT , typename VectorT::size_type SIZE, typename VectorT::size_type GROW = SIZE/4, typename VectorT::size_type SPLIT = SIZE/2>
void SWC::Core::VectorsVector< VectorsT, VectorT, SIZE, GROW, SPLIT >::print ( std::ostream &  out) const
inline

Definition at line 676 of file VectorsVector.h.

Referenced by SWC::DB::Cells::Mutable::print().

+ Here is the caller graph for this function:

◆ push_back() [1/2]

template<typename VectorsT , typename VectorT , typename VectorT::size_type SIZE, typename VectorT::size_type GROW = SIZE/4, typename VectorT::size_type SPLIT = SIZE/2>
SWC_CAN_INLINE void SWC::Core::VectorsVector< VectorsT, VectorT, SIZE, GROW, SPLIT >::push_back ( const value_type value)
inline

Definition at line 646 of file VectorsVector.h.

Referenced by SWC::DB::Cells::Mutable::_add_counter(), and SWC::DB::Cells::Mutable::add_sorted().

+ Here is the caller graph for this function:

◆ push_back() [2/2]

template<typename VectorsT , typename VectorT , typename VectorT::size_type SIZE, typename VectorT::size_type GROW = SIZE/4, typename VectorT::size_type SPLIT = SIZE/2>
SWC_CAN_INLINE void SWC::Core::VectorsVector< VectorsT, VectorT, SIZE, GROW, SPLIT >::push_back ( value_type &&  value)
inline

Definition at line 652 of file VectorsVector.h.

◆ size_of_internal()

template<typename VectorsT , typename VectorT , typename VectorT::size_type SIZE, typename VectorT::size_type GROW = SIZE/4, typename VectorT::size_type SPLIT = SIZE/2>
constexpr SWC_CAN_INLINE size_t SWC::Core::VectorsVector< VectorsT, VectorT, SIZE, GROW, SPLIT >::size_of_internal ( ) const
inlineconstexprnoexcept

Definition at line 592 of file VectorsVector.h.

Referenced by SWC::DB::Cells::Mutable::print(), and SWC::DB::Cells::Mutable::size_of_internal().

+ Here is the caller graph for this function:

◆ split()

template<typename VectorsT , typename VectorT , typename VectorT::size_type SIZE, typename VectorT::size_type GROW = SIZE/4, typename VectorT::size_type SPLIT = SIZE/2>
SWC_CAN_INLINE void SWC::Core::VectorsVector< VectorsT, VectorT, SIZE, GROW, SPLIT >::split ( size_t  split_at,
VectorsVector< VectorsT, VectorT, SIZE, GROW, SPLIT > &  to 
)
inline

Definition at line 669 of file VectorsVector.h.

Referenced by SWC::DB::Cells::Mutable::split().

+ Here is the caller graph for this function:

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