Loading...
Searching...
No Matches
piercedStorage.hpp
117 PiercedStorageSyncSlave(const PiercedKernel<id_t> *kernel, PiercedSyncMaster::SyncMode syncMode);
119 PiercedStorageSyncSlave(const PiercedStorageSyncSlave<id_t> &other, const PiercedKernel<id_t> *kernel);
120 PiercedStorageSyncSlave(const PiercedStorageSyncSlave<id_t> &other, const PiercedKernel<id_t> *kernel, PiercedSyncMaster::SyncMode syncMode);
122 PiercedStorageSyncSlave(PiercedStorageSyncSlave<id_t> &&other, const PiercedKernel<id_t> *kernel);
123 PiercedStorageSyncSlave(PiercedStorageSyncSlave<id_t> &&other, const PiercedKernel<id_t> *kernel, PiercedSyncMaster::SyncMode syncMode);
162 static std::true_type test_restore(decltype(std::declval<class_t>().restore(std::declval<std::istream &>())) *);
187 static std::true_type test_dump(decltype(std::declval<class_t>().dump(std::declval<std::ostream &>())) *);
213 -> typename std::is_same<decltype(std::declval<C>().initialize(std::declval<Args>()...)), Ret>::type;
220 static const bool value = std::is_same<decltype(test_initialize<T>(nullptr)), std::true_type>();
341 using EnableIfHasInitialize = typename std::enable_if<PiercedStorage<value_t, id_t>::template has_initialize<Args...>()>::type;
347 PiercedStorage(std::size_t nFields, const PiercedKernel<id_t> *kernel, PiercedSyncMaster::SyncMode syncMode);
350 PiercedStorage(const PiercedStorage<value_t, id_t> &other, const PiercedKernel<id_t> *kernel, PiercedSyncMaster::SyncMode syncMode);
353 PiercedStorage(PiercedStorage<value_t, id_t> &&other, const PiercedKernel<id_t> *kernel, PiercedSyncMaster::SyncMode syncMode);
430 template<typename T = value_t, typename std::enable_if<std::is_pod<T>::value || PiercedStorage<T, id_t>::has_restore()>::type * = nullptr>
433 template<typename T = value_t, typename std::enable_if<std::is_pod<T>::value || PiercedStorage<T, id_t>::has_dump()>::type * = nullptr>
455 template<typename T = value_t, typename std::enable_if<!std::is_same<T, bool>::value>::type * = nullptr>
457 template<typename T = value_t, typename std::enable_if<std::is_same<T, bool>::value>::type * = nullptr>
463 template<typename... Args, typename PiercedStorage<value_t>::template EnableIfHasInitialize<Args...> * = nullptr>
465 template<typename... Args, typename PiercedStorage<value_t>::template EnableIfHasInitialize<Args...> * = nullptr>
470 template<typename T = value_t, typename std::enable_if<!std::is_same<T, bool>::value>::type * = nullptr, typename... Args>
472 template<typename T = value_t, typename std::enable_if<std::is_same<T, bool>::value>::type * = nullptr>
474 template<typename T = value_t, typename std::enable_if<!std::is_same<T, bool>::value>::type * = nullptr, typename... Args>
476 template<typename T = value_t, typename std::enable_if<std::is_same<T, bool>::value>::type * = nullptr>
487 template<typename T = value_t, typename std::enable_if<!PiercedStorage<T, id_t>::has_restore()>::type * = nullptr>
490 template<typename T = value_t, typename std::enable_if<PiercedStorage<T, id_t>::has_restore()>::type * = nullptr>
495 template<typename T = value_t, typename std::enable_if<!PiercedStorage<T, id_t>::has_dump()>::type * = nullptr>
498 template<typename T = value_t, typename std::enable_if<PiercedStorage<T, id_t>::has_dump()>::type * = nullptr>
The PiercedStorageRange allow to iterate using range-based loops over a PiercedStorage.
Definition piercedStorageRange.hpp:48
PiercedStorageSyncSlave(const PiercedKernel< id_t > *kernel)
Definition piercedStorage.tpp:45
void setStaticKernel(const PiercedKernel< id_t > *kernel)
Definition piercedStorage.tpp:238
PiercedStorageSyncSlave(PiercedStorageSyncSlave< id_t > &&other, const PiercedKernel< id_t > *kernel)
Definition piercedStorage.tpp:184
const PiercedKernel< id_t > * getKernel() const
Definition piercedStorage.tpp:360
PiercedStorageSyncSlave(PiercedStorageSyncSlave< id_t > &&other, const PiercedKernel< id_t > *kernel, PiercedSyncMaster::SyncMode syncMode)
Definition piercedStorage.tpp:206
PiercedStorageSyncSlave(PiercedStorageSyncSlave< id_t > &&other)
Definition piercedStorage.tpp:143
PiercedStorageSyncSlave(const PiercedStorageSyncSlave< id_t > &other, const PiercedKernel< id_t > *kernel, PiercedSyncMaster::SyncMode syncMode)
Definition piercedStorage.tpp:128
PiercedStorageSyncSlave(const PiercedStorageSyncSlave< id_t > &other, const PiercedKernel< id_t > *kernel)
Definition piercedStorage.tpp:108
PiercedSyncMaster::SyncMode getSyncMode() const
Definition piercedStorage.tpp:382
virtual ~PiercedStorageSyncSlave()
Definition piercedStorage.tpp:220
void swap(PiercedStorageSyncSlave< id_t > &other) noexcept
Definition piercedStorage.tpp:406
virtual void _postSetDynamicKernel()
Definition piercedStorage.tpp:297
PiercedStorageSyncSlave(const PiercedStorageSyncSlave< id_t > &other)
Definition piercedStorage.tpp:71
virtual void _postUnsetKernel(bool release=true)
Definition piercedStorage.tpp:327
void setDynamicKernel(const PiercedKernel< id_t > *kernel, PiercedSyncMaster::SyncMode syncMode)
Definition piercedStorage.tpp:278
virtual void _postSetStaticKernel()
Definition piercedStorage.tpp:260
PiercedKernel< PK_id_t > Kernel
Definition piercedStorage.hpp:75
void unsetKernel(bool release=true)
Definition piercedStorage.tpp:310
Kernel< id_t >::id_type id_type
Definition piercedStorage.hpp:82
PiercedStorageSyncSlave()
Definition piercedStorage.tpp:34
PiercedStorageSyncSlave(const PiercedKernel< id_t > *kernel, PiercedSyncMaster::SyncMode syncMode)
Definition piercedStorage.tpp:58
KernelType getKernelType() const
Definition piercedStorage.tpp:371
raw_iterator rawBegin() noexcept
raw_iterator rawEnd() noexcept
PiercedStorageRange< value_t, id_t > range
Definition piercedStorage.hpp:303
std::vector< value_t >::const_iterator raw_const_iterator
Definition piercedStorage.hpp:298
PiercedStorage(std::size_t nFields, const PiercedKernel< id_t > *kernel, PiercedSyncMaster::SyncMode syncMode)
Definition piercedStorage.tpp:455
const_iterator cend() const noexcept
__PS_CONST_POINTER__ data(id_t id, std::size_t offset=0) const
Definition piercedStorage.tpp:1242
std::vector< value_t >::iterator raw_iterator
Definition piercedStorage.hpp:293
PiercedStorage(PiercedStorage< value_t, id_t > &&other)
Definition piercedStorage.tpp:544
PiercedStorage(std::size_t nFields)
Definition piercedStorage.tpp:428
PiercedStorage(PiercedStorage< value_t, id_t > &&other, const PiercedKernel< id_t > *kernel, PiercedSyncMaster::SyncMode syncMode)
Definition piercedStorage.tpp:612
void copy(id_t id, value_t *values) const
Definition piercedStorage.tpp:1413
PiercedStorage(std::size_t nFields, const PiercedKernel< id_t > *kernel)
Definition piercedStorage.tpp:440
void rawClear(bool release)
std::size_t getFieldCount() const
Definition piercedStorage.tpp:665
void rawReserve(std::size_t n)
typename std::enable_if< PiercedStorage< value_t, id_t >::template has_initialize< Args... >()>::type EnableIfHasInitialize
Definition piercedStorage.hpp:341
PiercedStorageIterator< value_t, id_t > iterator
Definition piercedStorage.hpp:283
void set(id_t id, const value_t &value)
Definition piercedStorage.tpp:1443
void rawInitialize(std::size_t pos, Args &&... args)
void rawShrinkToFit()
void swap(PiercedStorage &other) noexcept
Definition piercedStorage.tpp:1166
std::vector< value_t > container_t
Definition piercedStorage.hpp:258
PiercedStorage(const PiercedStorage< value_t, id_t > &other, const PiercedKernel< id_t > *kernel, PiercedSyncMaster::SyncMode syncMode)
Definition piercedStorage.tpp:518
__PS_REFERENCE__ at(id_t id, std::size_t k=0)
Definition piercedStorage.tpp:1360
void commitSyncAction(const PiercedSyncAction &action) override
void rawSwap(std::size_t pos_first, std::size_t pos_second)
void _postSetDynamicKernel() override
__PS_CONST_POINTER__ rawData(std::size_t pos, std::size_t offset=0) const
Definition piercedStorage.tpp:1274
std::size_t rawSize() const
__PS_REFERENCE__ rawAt(std::size_t pos, std::size_t offset=0)
Definition piercedStorage.tpp:1505
PiercedStorageRange< const value_t, id_t > const_range
Definition piercedStorage.hpp:308
iterator end() noexcept
static constexpr bool has_initialize()
Definition piercedStorage.hpp:330
const_iterator rawFind(std::size_t pos) const noexcept
Definition piercedStorage.tpp:1657
PiercedStorage(const PiercedStorage< value_t, id_t > &other)
Definition piercedStorage.tpp:470
void rawPushBack(const PS_value_t &value)
iterator rawFind(std::size_t pos) noexcept
Definition piercedStorage.tpp:1645
__PS_CONST_REFERENCE__ at(id_t id, std::size_t k=0) const
Definition piercedStorage.tpp:1375
void rawSet(std::size_t pos, std::size_t k, const value_t &value)
Definition piercedStorage.tpp:1576
PiercedStorage(PiercedStorage< value_t, id_t > &&other, const PiercedKernel< id_t > *kernel)
Definition piercedStorage.tpp:580
void rawEmreplace(std::size_t pos, Args &&... args)
void set(id_t id, const value_t *values)
Definition piercedStorage.tpp:1472
void set(id_t id, std::size_t k, const value_t &value)
Definition piercedStorage.tpp:1458
__PS_CONST_REFERENCE__ rawAt(std::size_t pos, std::size_t offset=0) const
Definition piercedStorage.tpp:1520
void rawCopy(std::size_t pos, value_t *values) const
Definition piercedStorage.tpp:1532
void rawErase(std::size_t pos, std::size_t n)
typename PiercedStorageSyncSlave< id_t >::template Kernel< PK_id_t > Kernel
Definition piercedStorage.hpp:231
__PS_POINTER__ data(id_t id, std::size_t offset=0)
Definition piercedStorage.tpp:1227
container_t::const_reference const_reference
Definition piercedStorage.hpp:268
__PS_POINTER__ rawData(std::size_t pos, std::size_t offset=0)
Definition piercedStorage.tpp:1259
__PS_CONST_REFERENCE__ back(std::size_t k=0) const
Definition piercedStorage.tpp:1342
void copy(id_t id, std::size_t nFields, std::size_t offset, value_t *values) const
Definition piercedStorage.tpp:1429
PiercedStorage & operator=(PiercedStorage &&other)
Definition piercedStorage.tpp:651
iterator find(const id_t &id) noexcept
Definition piercedStorage.tpp:1617
PiercedStorage(const PiercedStorage< value_t, id_t > &other, const PiercedKernel< id_t > *kernel)
Definition piercedStorage.tpp:496
const_iterator find(const id_t &id) const noexcept
Definition piercedStorage.tpp:1631
static constexpr bool has_restore()
Definition piercedStorage.hpp:313
void _postSetStaticKernel() override
void rawSet(std::size_t pos, std::size_t nFields, std::size_t offset, const value_t *values)
Definition piercedStorage.tpp:1602
void _postUnsetKernel(bool release=true) override
raw_const_iterator rawCbegin() const noexcept
void rawEmplaceBack(Args &&... args)
__PS_CONST_REFERENCE__ operator[](id_t id) const
Definition piercedStorage.tpp:1401
void rawEmplace(std::size_t pos, Args &&... args)
const_iterator cbegin() const noexcept
void rawSet(std::size_t pos, const value_t *values)
Definition piercedStorage.tpp:1588
PiercedStorageIterator< const value_t, id_t > const_iterator
Definition piercedStorage.hpp:288
container_t::const_pointer const_pointer
Definition piercedStorage.hpp:278
void set(id_t id, std::size_t nFields, std::size_t offset, const value_t *values)
Definition piercedStorage.tpp:1488
void rawInsert(std::size_t pos, std::size_t n, const PS_value_t &value)
void rawReorder(const std::vector< std::size_t > &permutations)
void rawCopy(std::size_t pos, std::size_t nFields, std::size_t offset, value_t *values) const
Definition piercedStorage.tpp:1546
PiercedStorage & operator=(const PiercedStorage &other)
Definition piercedStorage.tpp:635
__PS_REFERENCE__ front(std::size_t k=0)
Definition piercedStorage.tpp:1288
raw_const_iterator rawCend() const noexcept
__PS_CONST_REFERENCE__ front(std::size_t k=0) const
Definition piercedStorage.tpp:1306
void rawSet(std::size_t pos, const value_t &value)
Definition piercedStorage.tpp:1561
void rawResize(std::size_t n, const PS_value_t &value=PS_value_t())
__PS_REFERENCE__ back(std::size_t k=0)
Definition piercedStorage.tpp:1324
__PS_REFERENCE__ operator[](id_t id)
Definition piercedStorage.tpp:1389
PiercedStorageSyncSlave< id_t >::KernelType KernelType
Definition piercedStorage.hpp:253
