tudocomp
– The TU Dortmund Compression Framework
|
A vector over arbitrary unsigned integer types. More...
#include <IntVector.hpp>
Public Types | |
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 | |
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) |
Static Public Member Functions | |
static constexpr ElementStorageMode | element_storage_mode () |
Friends | |
template<class U > | |
bool | operator== (const IntVector< U > &lhs, const IntVector< U > &rhs) |
template<class U > | |
bool | operator!= (const IntVector< U > &lhs, const IntVector< U > &rhs) |
template<class U > | |
bool | operator< (const IntVector< U > &lhs, const IntVector< U > &rhs) |
template<class U > | |
bool | operator<= (const IntVector< U > &lhs, const IntVector< U > &rhs) |
template<class U > | |
bool | operator> (const IntVector< U > &lhs, const IntVector< U > &rhs) |
template<class U > | |
bool | operator>= (const IntVector< U > &lhs, const IntVector< U > &rhs) |
template<class U > | |
void | swap (IntVector< U > &lhs, IntVector< U > &rhs) |
A vector over arbitrary unsigned integer types.
The API behaves mostly identical to std::vector<T>
.
Only divergences are the following specializations:
In both cases, the bits of each integer will be packed efficiently next to each other, as opposed to the padding introduced if stored in a std::vector
.
In the dynamic_t
case, the bit with of an integer can be changed at runtime, in all other cases the corresponding methods will throw.
Definition at line 175 of file IntVector.hpp.
typedef IntVectorTrait<T>::const_iterator tdc::int_vector::IntVector< T >::const_iterator |
Definition at line 184 of file IntVector.hpp.
typedef IntVectorTrait<T>::const_pointer tdc::int_vector::IntVector< T >::const_pointer |
Definition at line 182 of file IntVector.hpp.
typedef IntVectorTrait<T>::const_reference tdc::int_vector::IntVector< T >::const_reference |
Definition at line 180 of file IntVector.hpp.
typedef IntVectorTrait<T>::const_reverse_iterator tdc::int_vector::IntVector< T >::const_reverse_iterator |
Definition at line 186 of file IntVector.hpp.
typedef IntVectorTrait<T>::difference_type tdc::int_vector::IntVector< T >::difference_type |
Definition at line 187 of file IntVector.hpp.
typedef IntVectorTrait<T>::internal_data_type tdc::int_vector::IntVector< T >::internal_data_type |
The element type of the internal data buffer accessed with data()
Definition at line 191 of file IntVector.hpp.
typedef IntVectorTrait<T>::iterator tdc::int_vector::IntVector< T >::iterator |
Definition at line 183 of file IntVector.hpp.
typedef IntVectorTrait<T>::pointer tdc::int_vector::IntVector< T >::pointer |
Definition at line 181 of file IntVector.hpp.
typedef IntVectorTrait<T>::reference tdc::int_vector::IntVector< T >::reference |
Definition at line 179 of file IntVector.hpp.
typedef IntVectorTrait<T>::reverse_iterator tdc::int_vector::IntVector< T >::reverse_iterator |
Definition at line 185 of file IntVector.hpp.
typedef IntVectorTrait<T>::size_type tdc::int_vector::IntVector< T >::size_type |
Definition at line 188 of file IntVector.hpp.
typedef IntVectorTrait<T>::value_type tdc::int_vector::IntVector< T >::value_type |
Definition at line 178 of file IntVector.hpp.
|
inlineexplicit |
Definition at line 200 of file IntVector.hpp.
|
inlineexplicit |
Definition at line 203 of file IntVector.hpp.
|
inline |
Definition at line 204 of file IntVector.hpp.
|
inline |
Definition at line 205 of file IntVector.hpp.
|
inline |
Definition at line 210 of file IntVector.hpp.
|
inline |
Definition at line 213 of file IntVector.hpp.
|
inline |
Definition at line 216 of file IntVector.hpp.
|
inline |
Definition at line 219 of file IntVector.hpp.
|
inline |
Definition at line 414 of file IntVector.hpp.
|
inline |
Definition at line 418 of file IntVector.hpp.
|
inline |
Definition at line 422 of file IntVector.hpp.
|
inline |
Definition at line 381 of file IntVector.hpp.
|
inline |
Definition at line 385 of file IntVector.hpp.
|
inline |
Definition at line 397 of file IntVector.hpp.
|
inline |
Definition at line 401 of file IntVector.hpp.
|
inline |
Definition at line 236 of file IntVector.hpp.
|
inline |
Definition at line 252 of file IntVector.hpp.
|
inline |
Definition at line 349 of file IntVector.hpp.
|
inline |
Definition at line 365 of file IntVector.hpp.
|
inline |
Definition at line 288 of file IntVector.hpp.
|
inline |
Definition at line 345 of file IntVector.hpp.
|
inline |
Definition at line 268 of file IntVector.hpp.
|
inline |
Definition at line 272 of file IntVector.hpp.
|
inline |
Definition at line 471 of file IntVector.hpp.
|
inline |
Definition at line 276 of file IntVector.hpp.
|
inline |
Definition at line 280 of file IntVector.hpp.
|
inlinenoexcept |
Definition at line 405 of file IntVector.hpp.
|
inlinenoexcept |
Definition at line 409 of file IntVector.hpp.
|
inlinestatic |
Definition at line 193 of file IntVector.hpp.
|
inline |
Definition at line 476 of file IntVector.hpp.
|
inline |
Definition at line 481 of file IntVector.hpp.
|
inline |
Definition at line 353 of file IntVector.hpp.
|
inline |
Definition at line 240 of file IntVector.hpp.
|
inline |
Definition at line 256 of file IntVector.hpp.
|
inline |
Definition at line 459 of file IntVector.hpp.
|
inline |
Definition at line 463 of file IntVector.hpp.
|
inline |
Definition at line 389 of file IntVector.hpp.
|
inline |
Definition at line 393 of file IntVector.hpp.
|
inline |
Definition at line 438 of file IntVector.hpp.
|
inline |
Definition at line 442 of file IntVector.hpp.
|
inline |
Definition at line 447 of file IntVector.hpp.
|
inline |
Definition at line 451 of file IntVector.hpp.
|
inline |
Definition at line 455 of file IntVector.hpp.
|
inline |
Definition at line 292 of file IntVector.hpp.
|
inline |
Definition at line 221 of file IntVector.hpp.
|
inline |
Definition at line 226 of file IntVector.hpp.
|
inline |
Definition at line 231 of file IntVector.hpp.
|
inline |
Definition at line 373 of file IntVector.hpp.
|
inline |
Definition at line 377 of file IntVector.hpp.
|
inline |
Definition at line 434 of file IntVector.hpp.
|
inline |
Definition at line 426 of file IntVector.hpp.
|
inline |
Definition at line 430 of file IntVector.hpp.
|
inline |
Definition at line 244 of file IntVector.hpp.
|
inline |
Definition at line 260 of file IntVector.hpp.
|
inline |
Definition at line 248 of file IntVector.hpp.
|
inline |
Definition at line 264 of file IntVector.hpp.
|
inline |
Definition at line 357 of file IntVector.hpp.
|
inline |
Definition at line 361 of file IntVector.hpp.
|
inline |
Definition at line 327 of file IntVector.hpp.
|
inline |
Definition at line 333 of file IntVector.hpp.
|
inline |
Definition at line 339 of file IntVector.hpp.
|
inline |
Definition at line 369 of file IntVector.hpp.
|
inline |
Definition at line 284 of file IntVector.hpp.
|
inline |
Definition at line 467 of file IntVector.hpp.
|
inline |
Definition at line 296 of file IntVector.hpp.
|
inline |
Definition at line 300 of file IntVector.hpp.
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |