MADNESS
0.10.1
|
Default implementations of wrap_store
and wrap_load
.
More...
#include <archive.h>
Static Public Member Functions | |
template<typename A = Archive, typename = std::enable_if_t<is_input_archive_v<A> && has_nonmember_load_v<T,Archive>>> | |
static const Archive & | wrap_load (const Archive &ar, const T &t) |
Load an object sandwiched between its preamble and postamble. More... | |
template<typename A = Archive, typename = std::enable_if_t<is_output_archive_v<A> && has_nonmember_store_v<T,Archive>>> | |
static const Archive & | wrap_store (const Archive &ar, const T &t) |
Store an object sandwiched between its preamble and postamble. More... | |
Default implementations of wrap_store
and wrap_load
.
"Wrapping" refers to the addition of the type's preamble and postamble around the data to provide runtime type-checking.
Archive | The archive type. |
T | The data type. |
|
inlinestatic |
Load an object sandwiched between its preamble and postamble.
[in] | ar | The archive. |
[in] | t | The data. |
References madness::archive::ArchiveLoadImpl< Archive, T, Enabler >::load(), MAD_ARCHIVE_DEBUG, madness::archive::ArchivePrePostImpl< Archive, T >::postamble_load(), madness::archive::ArchivePrePostImpl< Archive, T >::preamble_load(), and T().
Referenced by madness::archive::operator&(), and madness::archive::operator>>().
|
inlinestatic |
Store an object sandwiched between its preamble and postamble.
[in] | ar | The archive. |
[in] | t | The data. |
References MAD_ARCHIVE_DEBUG, madness::archive::ArchivePrePostImpl< Archive, T >::postamble_store(), madness::archive::ArchivePrePostImpl< Archive, T >::preamble_store(), and madness::archive::ArchiveStoreImpl< Archive, T, Enabler >::store().
Referenced by madness::archive::operator&().