Loading [MathJax]/extensions/tex2jax.js
 |
ATLAS Offline Software
|
Go to the documentation of this file.
15 #ifndef CXXUTILS_PACKEDARRAY_H
16 #define CXXUTILS_PACKEDARRAY_H
311 #endif // not CXXUTILS_PACKEDARRAY_H
value_type operator[](size_type n) const
Access an element, as an rvalue.
basetype m_vec
Underlying vector holding the data.
void assign(size_type n, value_type u)
Set the container to multiple copies of the same value.
void push_back(value_type x)
Add an element to the end of the collection.
value_type back() const
Access the last element in the collection as an rvalue.
size_t nbase(size_type n) const
Calculate the number of entries in the base vector needed to hold entries with the current bitsize.
void swap(PackedArray &other)
Swap this collection with another.
void reserve(size_type n)
Attempt to preallocate enough memory for a specified number of elements.
size_type m_size
The current number of entries in the container.
proxy(PackedArray &arr, size_type n)
Constructor, from a PackedArray and index n.
size_type size() const
Returns the number of elements in the collection.
size_type m_n
Index of the element referenced by the proxy.
std::vector< unsigned int > basetype
int tooff(size_type n) const
Find the bit offset of entry within its entry in the base vector.
int bitsize() const
Return the bitsize of the container.
@ u
Enums for curvilinear frames.
value_type at(size_type n) const
Access an element, as an rvalue.
bool empty() const
Returns true if the collection is empty.
An array of unsigned values of some bit size, packed tightly.
value_type doget(size_type ndx, int off) const
Return the entry at base index ndx/offset off.
allocator_type get_allocator() const
Returns the allocator of the underlying vector.
PackedArray(int bitsize=8, const allocator_type &allocator=allocator_type())
Constructor.
PackedArray & m_arr
Reference to the container referenced by the proxy.
void range_check(size_type n) const
Check that n is in range and throw out_of_range if not.
void resize(size_type sz, value_type c=0)
Resizes the collection to the specified number of elements.
value_type front() const
Access the first element in the collection as an rvalue.
basetype::allocator_type allocator_type
int m_bitsize
The current bitsize of the container.
value_type get(size_type n) const
Return the entry at index n.
value_type m_mask
Mask with m_bitsize bits set.
proxy class for representing an lvalue to an element of PackedArray.
size_t tondx(size_type n) const
Find the index in the base vector where entry starts.
void set_bitsize(int bitsize)
Change the bitsize of the container.
proxy & operator=(value_type v)
Set the element referenced by the proxy to v.
void set(size_type n, value_type val)
Set the entry at index n.
void pop_back()
Remove the last element from the collection.
void doset(size_type ndx, int off, value_type v)
Set the entry at base index ndx/offset off to v.
void clear()
Erase all the elements in the collection.
size_type capacity() const
Returns the total number of elements that the collection can hold before needing to allocate more mem...
size_type max_size() const
Returns the size() of the largest possible collection.