Loading...
Searching...
No Matches
levelSetCache.hpp
173template<typename key_t, typename container_t, typename value_t = typename container_t::value_type, typename reference_t = value_t &, typename const_reference_t = const value_t &>
260class LevelSetContainerCache<key_t, std::unordered_map<key_t, value_t>> : public LevelSetContainerBaseCache<key_t,
308class LevelSetContainerCache<key_t, std::vector<value_t>> : public LevelSetContainerBaseCache<key_t,
362class LevelSetContainerCache<key_t, PiercedVector<value_t, key_t>> : public LevelSetContainerBaseCache<key_t,
413class LevelSetContainerCache<key_t, PiercedStorage<value_t, key_t>> : public LevelSetContainerBaseCache<key_t,
437 LevelSetContainerCache(const PiercedKernel<key_t> *m_kernel, PiercedSyncMaster::SyncMode syncMode);
508class LevelSetContainerBaseCacheFactory : public LevelSetValueCacheFactory<key_t, typename LevelSetContainerCache<key_t, container_t>::value_type>
523class LevelSetContainerCacheFactory : public LevelSetContainerBaseCacheFactory<key_t, container_t>
533class LevelSetContainerCacheFactory<key_t, std::unordered_map<key_t ,value_t>> : public LevelSetContainerBaseCacheFactory<key_t, std::unordered_map<key_t, value_t>>
543class LevelSetContainerCacheFactory<key_t, std::vector<value_t>> : public LevelSetContainerBaseCacheFactory<key_t, std::vector<value_t>>
553class LevelSetContainerCacheFactory<key_t, PiercedVector<value_t, key_t>> : public LevelSetContainerBaseCacheFactory<key_t, PiercedVector<value_t, key_t>>
563class LevelSetContainerCacheFactory<key_t, PiercedStorage<value_t, key_t>> : public LevelSetContainerBaseCacheFactory<key_t, PiercedStorage<value_t, key_t>>
568 LevelSetContainerCacheFactory(const PiercedKernel<key_t> *kernel, PiercedSyncMaster::SyncMode syncMode);
684 template<typename container_t, typename... Args, typename std::enable_if<std::is_same<bitpit::PiercedStorage<typename container_t::value_type>, container_t>::value>::type * = nullptr>
std::size_t insert(std::size_t index, Args &&... args)
Definition levelSetCache.tpp:1905
ElementCacheCollection(const PiercedKernel< key_type > *kernel)
Definition levelSetCache.cpp:95
Item(const std::shared_ptr< LevelSetCacheFactory< key_t > > &factory=nullptr)
Definition levelSetCache.tpp:1462
bool hasCache() const
Definition levelSetCache.tpp:1512
LevelSetCache< key_t > * getCache(bool allowCreation=true)
Definition levelSetCache.tpp:1577
LevelSetCache< key_t > * createCache()
Definition levelSetCache.tpp:1527
bool hasFactory() const
Definition levelSetCache.tpp:1501
void destroyCache()
Definition levelSetCache.tpp:1563
std::size_t insert(std::size_t index, Args &&... args)
Definition levelSetCache.tpp:1764
void erase(std::size_t index)
Definition levelSetCache.tpp:1809
virtual std::unique_ptr< LevelSetCacheCollection< key_t > > clone() const
Definition levelSetCache.tpp:1672
const Item & at(std::size_t index) const
Definition levelSetCache.tpp:1892
Item & operator[](std::size_t index)
Definition levelSetCache.tpp:1846
const Item & operator[](std::size_t index) const
Definition levelSetCache.tpp:1862
LevelSetCacheCollection(const LevelSetCacheCollection &other)
Definition levelSetCache.tpp:1658
const_iterator cbegin() const
Definition levelSetCache.tpp:1727
The class LevelSetCacheFactory provides basic functionalities for cache factories.
Definition levelSetCache.hpp:475
The class LevelSetCache is the base class for defining caches.
Definition levelSetCache.hpp:53
const_reference at(const key_t &key) const
Definition levelSetCache.tpp:284
const_reference operator[](const key_t &key) const
Definition levelSetCache.tpp:312
Entry findEntry(const key_t &key) const override
Definition levelSetCache.tpp:215
LevelSetContainerBaseCache(Args &&... args)
Definition levelSetCache.tpp:121
void writeBuffer(const std::vector< key_t > &ids, SendBuffer &buffer) const override
Definition levelSetCache.tpp:336
const_iterator cbegin() const
Definition levelSetCache.tpp:176
const_iterator begin() const
Definition levelSetCache.tpp:154
Entry insertEntry(const key_t &key, const value_t &value) override
Definition levelSetCache.tpp:236
std::size_t getEntryBinarySize() const override
Definition levelSetCache.tpp:324
reference at(const key_t &key)
Definition levelSetCache.tpp:270
reference operator[](const key_t &key)
Definition levelSetCache.tpp:298
void readBuffer(const std::vector< key_t > &ids, RecvBuffer &buffer) override
Definition levelSetCache.tpp:356
bool contains(const key_t &key) const override
Definition levelSetCache.tpp:199
Entry insertEntry(const key_t &key, value_t &&value) override
Definition levelSetCache.tpp:254
std::unique_ptr< LevelSetCache< key_t > > create() const override
Definition levelSetCache.tpp:1442
LevelSetContainerCacheFactory(const PiercedKernel< key_t > *kernel, PiercedSyncMaster::SyncMode syncMode)
Definition levelSetCache.tpp:1430
std::unique_ptr< LevelSetCache< key_t > > create() const override
Definition levelSetCache.tpp:1418
std::unique_ptr< LevelSetCache< key_t > > create() const override
Definition levelSetCache.tpp:1396
std::unique_ptr< LevelSetCache< key_t > > create() const override
Definition levelSetCache.tpp:1407
The class LevelSetContainerCacheFactory provides basic functionalities for cache factories.
Definition levelSetCache.hpp:524
void restore(std::istream &stream) override
Definition levelSetCache.tpp:1348
std::unique_ptr< LevelSetCache< key_t > > clone() const override
Definition levelSetCache.tpp:1145
iterator insert(const key_t &key, const value_t &value) override
Definition levelSetCache.tpp:1236
reference getValue(const iterator &itr) const override
Definition levelSetCache.tpp:1373
void dump(std::ostream &stream) override
Definition levelSetCache.tpp:1336
iterator find(const key_t &key) override
Definition levelSetCache.tpp:1191
void reserve(std::size_t n) override
Definition levelSetCache.tpp:1156
key_t getKey(const const_iterator &itr) const override
Definition levelSetCache.tpp:1361
bool isVolatile() const override
Definition levelSetCache.tpp:1325
LevelSetContainerCache(const PiercedKernel< key_t > *m_kernel, PiercedSyncMaster::SyncMode syncMode)
Definition levelSetCache.tpp:1132
void clear() override
Definition levelSetCache.tpp:1176
void shrink_to_fit() override
Definition levelSetCache.tpp:1167
reference getValue(const iterator &itr) const override
Definition levelSetCache.tpp:1108
bool isVolatile() const override
Definition levelSetCache.tpp:1062
key_t getKey(const const_iterator &itr) const override
Definition levelSetCache.tpp:1096
std::unique_ptr< LevelSetCache< key_t > > clone() const override
Definition levelSetCache.tpp:905
iterator insert(const key_t &key, const value_t &value) override
Definition levelSetCache.tpp:980
void clear() override
Definition levelSetCache.tpp:934
void reserve(std::size_t n) override
Definition levelSetCache.tpp:916
void shrink_to_fit() override
Definition levelSetCache.tpp:925
void restore(std::istream &stream) override
Definition levelSetCache.tpp:1084
void dump(std::ostream &stream) override
Definition levelSetCache.tpp:1073
LevelSetContainerCache(std::size_t capacity=0)
Definition levelSetCache.tpp:893
iterator find(const key_t &key) override
Definition levelSetCache.tpp:949
void reserve(std::size_t n) override
Definition levelSetCache.tpp:400
LevelSetContainerCache(std::size_t capacity=0)
Definition levelSetCache.tpp:377
std::unique_ptr< LevelSetCache< key_t > > clone() const override
Definition levelSetCache.tpp:389
bool isVolatile() const override
Definition levelSetCache.tpp:540
void clear() override
Definition levelSetCache.tpp:418
void dump(std::ostream &stream) override
Definition levelSetCache.tpp:551
iterator insert(const key_t &key, const value_t &value) override
Definition levelSetCache.tpp:464
void shrink_to_fit() override
Definition levelSetCache.tpp:409
iterator find(const key_t &key) override
Definition levelSetCache.tpp:433
void restore(std::istream &stream) override
Definition levelSetCache.tpp:566
reference getValue(const iterator &itr) const override
Definition levelSetCache.tpp:869
void restore(std::istream &stream) override
Definition levelSetCache.tpp:844
bool isVolatile() const override
Definition levelSetCache.tpp:821
std::unique_ptr< LevelSetCache< key_t > > clone() const override
Definition levelSetCache.tpp:640
void dump(std::ostream &stream) override
Definition levelSetCache.tpp:832
void clear() override
Definition levelSetCache.tpp:679
void reserve(std::size_t n) override
Definition levelSetCache.tpp:651
iterator find(const key_t &key) override
Definition levelSetCache.tpp:694
LevelSetContainerCache(std::size_t capacity=0)
Definition levelSetCache.tpp:627
iterator insert(const key_t &key, const value_t &value) override
Definition levelSetCache.tpp:733
key_t getKey(const const_iterator &itr) const override
Definition levelSetCache.tpp:857
void shrink_to_fit() override
Definition levelSetCache.tpp:660
The class LevelSetContainerCache is the class for defining caches that stores the values inside a con...
Definition levelSetCache.hpp:243
LevelSetValueCacheBaseEntry(bool valid)
Definition levelSetCache.tpp:44
The class LevelSetValueCacheEntry allows to get read-only access to a value stored in the cache.
Definition levelSetCache.hpp:116
LevelSetValueCacheEntry()
Definition levelSetCache.tpp:65
const value_t & operator*() const
Definition levelSetCache.tpp:89
The class LevelSetCache is the base class for defining caches that store values.
Definition levelSetCache.hpp:155
Metafunction for generating a pierced storage.
Definition piercedStorage.hpp:146
container_t::reference reference
Definition piercedStorage.hpp:263
container_t::const_reference const_reference
Definition piercedStorage.hpp:268
PiercedVectorStorage< value_t, id_t >::value_type value_type
Definition piercedVector.hpp:105
Buffer to be used for receive communications.
Definition communications_buffers.hpp:107
Buffer to be used for send communications.
Definition communications_buffers.hpp:91
LevelSetValueCacheEntry()
Definition levelSetCache.cpp:37
