16#ifndef RANS_INTERNAL_CONTAINER_SHIFTABLEVECTOR_H_
17#define RANS_INTERNAL_CONTAINER_SHIFTABLEVECTOR_H_
26#include <fairlogger/Logger.h>
33template <
class source_T,
class value_T>
86 assert(index < this->
size());
118 assert(newSize <=
utils::pow2(utils::toBits<source_type>()));
143 template <
class... Args>
146 mContainer.emplace_back(std::forward<Args>(args)...);
179 swap(
a.mContainer,
b.mContainer);
180 swap(
a.mOffset,
b.mOffset);
181 swap(
a.mShiftedBegin,
b.mShiftedBegin);
common helper classes and functions
const_iterator end() const noexcept
const_pointer data() const noexcept
reference operator[](source_type sourceSymbol)
void push_back(value_type value)
friend void swap(ShiftableVector &a, ShiftableVector &b) noexcept
iterator begin() noexcept
const_pointer getAddressAt(source_type sourceSymbol) const
~ShiftableVector()=default
const_reverse_iterator crbegin() const noexcept
void resize(size_type newSize)
ShiftableVector(size_type size, source_type offset=0)
reverse_iterator rbegin() noexcept
const_reference operator[](source_type sourceSymbol) const
const_reverse_iterator rend() const noexcept
reference operator()(size_type index)
void resize(size_type newSize, const value_type &value)
void resize(size_type newSize, source_type offset)
const_pointer const_iterator
const value_type & const_reference
const_reverse_iterator crend() const noexcept
void resize(size_type newSize, source_type offset, const value_type &value)
pointer getAddressAt(source_type sourceSymbol)
reverse_iterator rend() noexcept
std::reverse_iterator< iterator > reverse_iterator
const_iterator cend() const noexcept
ShiftableVector & operator=(ShiftableVector &&)=default
const_iterator begin() const noexcept
void emplace_back(Args &&... args)
ShiftableVector & operator=(const ShiftableVector &vec)
void setOffset(source_type offset) noexcept
container_type release() &&noexcept
ShiftableVector(ShiftableVector &&)=default
std::vector< value_type > container_type
ShiftableVector()=default
ShiftableVector(container_type container, source_type offset=0)
const_reverse_iterator rbegin() const noexcept
void reserve(size_type newSize)
std::reverse_iterator< const_iterator > const_reverse_iterator
const_iterator cbegin() const noexcept
ShiftableVector(const ShiftableVector &vec)
source_type getOffset() const noexcept
container_type mContainer
std::ptrdiff_t difference_type
size_type size() const noexcept
bool empty() const noexcept
const_reference operator()(size_type index) const
const value_type * const_pointer
GLboolean GLboolean GLboolean b
GLsizei const GLfloat * value
GLboolean GLboolean GLboolean GLboolean a
constexpr size_t pow2(size_t n) noexcept
std::vector< o2::ctf::BufferType > vec