25#ifndef __BITPIT_PIERCED_VECTOR_STORAGE_HPP__
26#define __BITPIT_PIERCED_VECTOR_STORAGE_HPP__
30#include "piercedStorage.hpp"
31#include "piercedVectorKernel.hpp"
33#define __PVS_REFERENCE__ typename PiercedVectorStorage<value_t, id_t>::reference
34#define __PVS_CONST_REFERENCE__ typename PiercedVectorStorage<value_t, id_t>::const_reference
35#define __PVS_POINTER__ typename PiercedVectorStorage<value_t, id_t>::pointer
36#define __PVS_CONST_POINTER__ typename PiercedVectorStorage<value_t, id_t>::const_pointer
55template<
typename value_t,
typename id_t =
long>
66 __PVS_REFERENCE__
back();
67 __PVS_CONST_REFERENCE__
back()
const;
69 __PVS_REFERENCE__
front();
70 __PVS_CONST_REFERENCE__
front()
const;
72 __PVS_REFERENCE__
at(id_t
id);
73 __PVS_CONST_REFERENCE__
at(id_t
id)
const;
75 __PVS_REFERENCE__
rawAt(std::size_t pos);
76 __PVS_CONST_REFERENCE__
rawAt(std::size_t pos)
const;
78 __PVS_CONST_REFERENCE__
operator[](id_t
id)
const;
112#include "piercedVectorStorage.tpp"
Base class for pierced vector kernels.
void unsetKernel(bool release=true)
Metafunction for generating a pierced storage.
raw_iterator rawBegin() noexcept
raw_iterator rawEnd() noexcept
void restore(std::istream &stream)
const_iterator cend() const noexcept
iterator rawFind(std::size_t pos) noexcept
iterator find(const id_t &id) noexcept
iterator begin() noexcept
raw_const_iterator rawCbegin() const noexcept
void dump(std::ostream &stream) const
const_iterator cbegin() const noexcept
raw_const_iterator rawCend() const noexcept
Kernel of the pierced vector.
Kernel of the pierced vector.
void setStaticKernel(const PiercedVectorKernel< id_t > *kernel)
__PVS_REFERENCE__ at(id_t id)
const PiercedVectorKernel< id_t > * getKernel() const
__PVS_REFERENCE__ rawAt(std::size_t pos)
void setDynamicKernel(const PiercedVectorKernel< id_t > *kernel, PiercedSyncMaster::SyncMode syncMode)
__PVS_REFERENCE__ front()
__PVS_CONST_REFERENCE__ operator[](id_t id) const