tudocomp
– The TU Dortmund Compression Framework
tdc::ArrayDS Class Reference

Base for data structures that use an integer array as a storage. More...

#include <ArrayDS.hpp>

Inheritance diagram for tdc::ArrayDS:
tdc::int_vector::IntVector< T > tdc::ISAFromSA tdc::LCPFromPLCP tdc::PhiFromSA tdc::PLCPFromPhi tdc::SADivSufSort

Public Types

using iv_t = DynamicIntVector
 The type of integer array to use as storage. More...
 
using data_type = iv_t
 The data structure's data type. More...
 
- Public Types inherited from tdc::int_vector::IntVector< T >
typedef IntVectorTrait< T >::value_type value_type
 
typedef IntVectorTrait< T >::reference reference
 
typedef IntVectorTrait< T >::const_reference const_reference
 
typedef IntVectorTrait< T >::pointer pointer
 
typedef IntVectorTrait< T >::const_pointer const_pointer
 
typedef IntVectorTrait< T >::iterator iterator
 
typedef IntVectorTrait< T >::const_iterator const_iterator
 
typedef IntVectorTrait< T >::reverse_iterator reverse_iterator
 
typedef IntVectorTrait< T >::const_reverse_iterator const_reverse_iterator
 
typedef IntVectorTrait< T >::difference_type difference_type
 
typedef IntVectorTrait< T >::size_type size_type
 
typedef IntVectorTrait< T >::internal_data_type internal_data_type
 The element type of the internal data buffer accessed with data() More...
 

Public Member Functions

 ArrayDS ()
 
 ArrayDS (const ArrayDS &other)=delete
 
 ArrayDS (ArrayDS &&other)
 
ArrayDSoperator= (ArrayDS &&other)
 
iv_t relinquish ()
 Forces the data structure to relinquish its data storage. More...
 
iv_t copy () const
 Creates a copy of the data structure's storage. More...
 
- Public Member Functions inherited from tdc::int_vector::IntVector< T >
 IntVector ()
 
 IntVector (size_type n)
 
 IntVector (size_type n, const value_type &val)
 
 IntVector (size_type n, const value_type &val, uint8_t width)
 
template<class InputIterator >
 IntVector (InputIterator first, InputIterator last)
 
 IntVector (const IntVector &other)
 
 IntVector (IntVector &&other)
 
 IntVector (std::initializer_list< value_type > il)
 
IntVectoroperator= (const IntVector &other)
 
IntVectoroperator= (IntVector &&other)
 
IntVectoroperator= (std::initializer_list< value_type > il)
 
iterator begin ()
 
iterator end ()
 
reverse_iterator rbegin ()
 
reverse_iterator rend ()
 
const_iterator begin () const
 
const_iterator end () const
 
const_reverse_iterator rbegin () const
 
const_reverse_iterator rend () const
 
const_iterator cbegin () const
 
const_iterator cend () const
 
const_reverse_iterator crbegin () const
 
const_reverse_iterator crend () const
 
size_type size () const
 
uint64_t bit_size () const
 
size_type max_size () const
 
uint8_t width () const
 
void width (uint8_t w)
 
void resize (size_type n)
 
void resize (size_type n, const value_type &val)
 
void resize (size_type n, const value_type &val, uint8_t w)
 
size_type capacity () const
 
uint64_t bit_capacity () const
 
bool empty () const
 
void reserve (size_type n)
 
void reserve (size_type n, uint8_t w)
 
void bit_reserve (uint64_t n)
 
void shrink_to_fit ()
 
reference operator[] (size_type n)
 
const_reference operator[] (size_type n) const
 
reference at (size_type n)
 
const_reference at (size_type n) const
 
reference front ()
 
const_reference front () const
 
reference back ()
 
const_reference back () const
 
internal_data_typedata () noexcept
 
const internal_data_typedata () const noexcept
 
template<class InputIterator >
void assign (InputIterator first, InputIterator last)
 
void assign (size_type n, const value_type &val)
 
void assign (std::initializer_list< value_type > il)
 
void push_back (const value_type &val)
 
void push_back (value_type &&val)
 
void pop_back ()
 
iterator insert (const_iterator position, const value_type &val)
 
iterator insert (const_iterator position, size_type n, const value_type &val)
 
template<class InputIterator >
iterator insert (const_iterator position, InputIterator first, InputIterator last)
 
iterator insert (const_iterator position, value_type &&val)
 
iterator insert (const_iterator position, std::initializer_list< value_type > il)
 
iterator erase (const_iterator position)
 
iterator erase (const_iterator first, const_iterator last)
 
void swap (IntVector &other)
 
void clear ()
 
template<class... Args>
iterator emplace (const_iterator position, Args &&... args)
 
template<class... Args>
void emplace_back (Args &&... args)
 

Protected Member Functions

 IF_DEBUG (bool m_is_initialized=false;) inline void debug_check_array_is_initialized() const
 
void set_array (iv_t &&iv)
 

Additional Inherited Members

- Static Public Member Functions inherited from tdc::int_vector::IntVector< T >
static constexpr ElementStorageMode element_storage_mode ()
 

Detailed Description

Base for data structures that use an integer array as a storage.

Definition at line 9 of file ArrayDS.hpp.

Member Typedef Documentation

◆ data_type

The data structure's data type.

Definition at line 43 of file ArrayDS.hpp.

◆ iv_t

The type of integer array to use as storage.

Definition at line 12 of file ArrayDS.hpp.

Constructor & Destructor Documentation

◆ ArrayDS() [1/3]

tdc::ArrayDS::ArrayDS ( )
inline

Definition at line 31 of file ArrayDS.hpp.

◆ ArrayDS() [2/3]

tdc::ArrayDS::ArrayDS ( const ArrayDS other)
inlinedelete

◆ ArrayDS() [3/3]

tdc::ArrayDS::ArrayDS ( ArrayDS &&  other)
inline

Definition at line 33 of file ArrayDS.hpp.

Member Function Documentation

◆ copy()

iv_t tdc::ArrayDS::copy ( ) const
inline

Creates a copy of the data structure's storage.

Definition at line 57 of file ArrayDS.hpp.

◆ IF_DEBUG()

tdc::ArrayDS::IF_DEBUG ( bool  m_is_initialized = false;) const
inlineprotected
Parameters
m_is_initializedDebug check to ensure the vector has not been moved out.

Definition at line 15 of file ArrayDS.hpp.

◆ operator=()

ArrayDS& tdc::ArrayDS::operator= ( ArrayDS &&  other)
inline

Definition at line 36 of file ArrayDS.hpp.

◆ relinquish()

iv_t tdc::ArrayDS::relinquish ( )
inline

Forces the data structure to relinquish its data storage.

This is done by moving the ownership of the storage to the caller. After this operation, the data structure will behave as if it was empty, and may throw debug assertions on access.

Definition at line 50 of file ArrayDS.hpp.

◆ set_array()

void tdc::ArrayDS::set_array ( iv_t &&  iv)
inlineprotected

Definition at line 26 of file ArrayDS.hpp.


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