tudocomp
– The TU Dortmund Compression Framework
|
Base for data structures that use an integer array as a storage. More...
#include <ArrayDS.hpp>
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... | |
![]() | |
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) | |
ArrayDS & | operator= (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... | |
![]() | |
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) | |
IntVector & | operator= (const IntVector &other) |
IntVector & | operator= (IntVector &&other) |
IntVector & | operator= (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_type * | data () noexcept |
const internal_data_type * | data () 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 constexpr ElementStorageMode | element_storage_mode () |
Base for data structures that use an integer array as a storage.
Definition at line 9 of file ArrayDS.hpp.
using tdc::ArrayDS::data_type = iv_t |
The data structure's data type.
Definition at line 43 of file ArrayDS.hpp.
using tdc::ArrayDS::iv_t = DynamicIntVector |
The type of integer array to use as storage.
Definition at line 12 of file ArrayDS.hpp.
|
inline |
Definition at line 31 of file ArrayDS.hpp.
|
inlinedelete |
|
inline |
Definition at line 33 of file ArrayDS.hpp.
|
inline |
Creates a copy of the data structure's storage.
Definition at line 57 of file ArrayDS.hpp.
|
inlineprotected |
m_is_initialized | Debug check to ensure the vector has not been moved out. |
Definition at line 15 of file ArrayDS.hpp.
Definition at line 36 of file ArrayDS.hpp.
|
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.
|
inlineprotected |
Definition at line 26 of file ArrayDS.hpp.