|
| class | madness::archive::archive_array< T > |
| | Wrapper for dynamic arrays and pointers. More...
|
| |
| class | madness::archive::archive_ptr< T > |
| | Wrapper for an opaque pointer for serialization purposes. More...
|
| |
| struct | madness::archive::archive_typeinfo< T > |
| | Used to enable type checking inside archives. More...
|
| |
| struct | madness::archive::ArchiveImpl< Archive, T, Enabler > |
| | Default implementations of wrap_store and wrap_load. More...
|
| |
| struct | madness::archive::ArchiveImpl< Archive, archive_array< T > > |
| | Partial specialization of ArchiveImpl for archive_array. More...
|
| |
| struct | madness::archive::ArchiveImpl< Archive, T[n], std::enable_if_t<!std::is_same_v< T, char > &&is_serializable_v< Archive, T > > > |
| | Partial specialization of ArchiveImpl for fixed-dimension arrays that redirects to archive_array. More...
|
| |
| struct | madness::archive::ArchiveLoadImpl< Archive, T, Enabler > |
| | Default load of an object via serialize(ar, t). More...
|
| |
| struct | madness::archive::ArchiveLoadImpl< Archive, std::allocator< T >, std::enable_if_t<!is_future< T >::value &&is_serializable_v< Archive, T > > > |
| | Deserialize a std::allocator. More...
|
| |
| struct | madness::archive::ArchiveLoadImpl< Archive, std::array< T, N >, std::enable_if_t< is_serializable_v< Archive, T > > > |
| | Deserialize a std::array. MADNESS_ASSERT 's that the size matches. More...
|
| |
| struct | madness::archive::ArchiveLoadImpl< Archive, std::atomic< T >, std::enable_if_t< is_serializable_v< Archive, T > > > |
| | Deserialize std::atomic. More...
|
| |
| struct | madness::archive::ArchiveLoadImpl< Archive, std::complex< T >, std::enable_if_t< is_serializable_v< Archive, T > > > |
| | Deserialize a complex number. More...
|
| |
| struct | madness::archive::ArchiveLoadImpl< Archive, std::list< T, Alloc >, std::enable_if_t<!is_future< T >::value &&is_serializable_v< Archive, T > > > |
| | Deserialize a std::list. Clears and resizes as necessary. More...
|
| |
| struct | madness::archive::ArchiveLoadImpl< Archive, std::map< T, Q, Compare, Alloc >, std::enable_if_t< is_serializable_v< Archive, T > &&is_serializable_v< Archive, Q > > > |
| | Deserialize an std::map. The map is not cleared; duplicate elements are replaced. More...
|
| |
| struct | madness::archive::ArchiveLoadImpl< Archive, std::set< T, Compare, Alloc >, std::enable_if_t<!is_future< T >::value &&is_serializable_v< Archive, T > > > |
| | Deserialize a std::set. Clears and resizes as necessary. More...
|
| |
| struct | madness::archive::ArchiveLoadImpl< Archive, std::string > |
| | Deserialize a std::string. Clears and resizes as necessary. More...
|
| |
| struct | madness::archive::ArchiveLoadImpl< Archive, std::vector< bool, Alloc > > |
| | Deserialize a std::vector<bool>. Clears and resizes as necessary. More...
|
| |
| struct | madness::archive::ArchiveLoadImpl< Archive, std::vector< T, Alloc >, std::enable_if_t<!is_future< T >::value &&is_serializable_v< Archive, T > > > |
| | Deserialize a std::vector. Clears and resizes as necessary. More...
|
| |
| struct | madness::archive::ArchivePrePostImpl< Archive, T > |
| | Default implementation of the pre/postamble for type checking. More...
|
| |
| struct | madness::archive::ArchiveSerializeImpl< Archive, T, Enabler > |
| | Default symmetric serialization of a non-fundamental type that has serialize method. More...
|
| |
| struct | madness::archive::ArchiveSerializeImpl< Archive, resT(*)(paramT...), std::enable_if_t<!is_default_serializable_v< Archive, resT(*)(paramT...)> > > |
| | Serialize a function pointer. More...
|
| |
| struct | madness::archive::ArchiveSerializeImpl< Archive, resT(objT::*)(paramT...) const, std::enable_if_t<!is_default_serializable_v< Archive, resT(objT::*)(paramT...) const > > > |
| | Serialize a const member function pointer. More...
|
| |
| struct | madness::archive::ArchiveSerializeImpl< Archive, resT(objT::*)(paramT...), std::enable_if_t<!is_default_serializable_v< Archive, resT(objT::*)(paramT...)> > > |
| | Serialize a member function pointer. More...
|
| |
| struct | madness::archive::ArchiveSerializeImpl< Archive, std::optional< T >, std::enable_if_t< is_serializable_v< Archive, T > > > |
| | Serialize (deserialize) an std::optional. More...
|
| |
| struct | madness::archive::ArchiveSerializeImpl< Archive, std::pair< T, Q >, std::enable_if_t< is_serializable_v< Archive, T > &&is_serializable_v< Archive, Q > > > |
| | Serialize (deserialize) an std::pair. More...
|
| |
| struct | madness::archive::ArchiveSerializeImpl< Archive, std::tuple< Types... >, std::enable_if_t<(is_serializable_v< Archive, Types > &&...) > > |
| | Serialize (deserialize) a std::tuple. More...
|
| |
| struct | madness::archive::ArchiveStoreImpl< Archive, T, Enabler > |
| | Default store of an object via serialize(ar, t). More...
|
| |
| struct | madness::archive::ArchiveStoreImpl< Archive, std::allocator< T >, std::enable_if_t<!is_future< T >::value &&is_serializable_v< Archive, T > > > |
| | Serialize a std::allocator. More...
|
| |
| struct | madness::archive::ArchiveStoreImpl< Archive, std::array< T, N >, std::enable_if_t< is_serializable_v< Archive, T > > > |
| | Serialize a std::array. More...
|
| |
| struct | madness::archive::ArchiveStoreImpl< Archive, std::atomic< T >, std::enable_if_t< is_serializable_v< Archive, T > > > |
| | Serialize std::atomic. More...
|
| |
| struct | madness::archive::ArchiveStoreImpl< Archive, std::complex< T >, std::enable_if_t< is_serializable_v< Archive, T > > > |
| | Serialize a complex number. More...
|
| |
| struct | madness::archive::ArchiveStoreImpl< Archive, std::list< T, Alloc >, std::enable_if_t<!is_future< T >::value &&is_serializable_v< Archive, T > > > |
| | Serialize a std::list. More...
|
| |
| struct | madness::archive::ArchiveStoreImpl< Archive, std::map< T, Q, Compare, Alloc >, std::enable_if_t< is_serializable_v< Archive, T > &&is_serializable_v< Archive, Q > > > |
| | Serialize an std::map. More...
|
| |
| struct | madness::archive::ArchiveStoreImpl< Archive, std::set< T, Compare, Alloc >, std::enable_if_t<!is_future< T >::value &&is_serializable_v< Archive, T > > > |
| | Serialize a std::set. More...
|
| |
| struct | madness::archive::ArchiveStoreImpl< Archive, std::string > |
| | Serialize a 'std::string'. More...
|
| |
| struct | madness::archive::ArchiveStoreImpl< Archive, std::vector< bool, Alloc > > |
| | Serialize a std::vector<bool> (as a plain array of bool). More...
|
| |
| struct | madness::archive::ArchiveStoreImpl< Archive, std::vector< T, Alloc >, std::enable_if_t<!is_future< T >::value &&is_serializable_v< Archive, T > > > |
| | Serialize a std::vector. More...
|
| |
| class | madness::archive::BaseArchive |
| | Base class for all archive classes. More...
|
| |
| class | madness::archive::BaseInputArchive |
| | Base class for input archive classes. More...
|
| |
| class | madness::archive::BaseOutputArchive |
| | Base class for output archive classes. More...
|
| |
|
| void | madness::archive::archive_initialize_type_names () |
| | Initializes the type names for the archives.
|
| |
| template<class Archive , class T > |
| std::enable_if_t< is_default_serializable< Archive, T >::value &&is_archive< Archive >::value, void > | madness::archive::default_serialize (const Archive &ar, const T &t) |
| | Redirect serialize(ar, t) to serialize(ar, &t, 1) for fundamental types.
|
| |
| template<class Archive , class T > |
| std::enable_if_t< is_output_archive< Archive >::value &&is_default_serializable< Archive, T >::value &&is_function_pointer_v< T >, void > | madness::archive::default_serialize (const Archive &ar, const T *t, unsigned int n) |
| | Serialize an array of fundamental stuff.
|
| |
| template<class Archive , class T > |
| std::enable_if_t< is_output_archive< Archive >::value &&is_default_serializable< Archive, T >::value &&std::is_member_function_pointer< T >::value, void > | madness::archive::default_serialize (const Archive &ar, const T *t, unsigned int n) |
| |
| template<class Archive , class T > |
| std::enable_if_t< is_output_archive< Archive >::value &&!(is_function_pointer_v< T >||std::is_member_function_pointer< T >::value) &&is_default_serializable< Archive, T >::value, void > | madness::archive::default_serialize (const Archive &ar, const T *t, unsigned int n) |
| |
| template<class Archive , class T > |
| std::enable_if_t< is_input_archive< Archive >::value &&is_default_serializable< Archive, T >::value &&is_function_pointer_v< T >, void > | madness::archive::default_serialize (const Archive &ar, const T *t, unsigned int n) |
| | Deserialize an array of fundamental stuff.
|
| |
| template<class Archive , class T > |
| std::enable_if_t< is_input_archive< Archive >::value &&is_default_serializable< Archive, T >::value &&std::is_member_function_pointer< T >::value, void > | madness::archive::default_serialize (const Archive &ar, const T *t, unsigned int n) |
| |
| template<class Archive , class T > |
| std::enable_if_t< is_input_archive< Archive >::value &&is_default_serializable< Archive, T >::value &&!(is_function_pointer_v< T >||std::is_member_function_pointer< T >::value), void > | madness::archive::default_serialize (const Archive &ar, const T *t, unsigned int n) |
| |
| template<typename T > |
| const char * | madness::archive::get_type_name () |
| | Returns the name of the type, or unknown if not registered.
|
| |
| template<class Archive , class T > |
| std::enable_if_t< is_output_archive_v< Archive >, const Archive & > | madness::archive::operator& (const Archive &ar, const T &t) |
| | Redirect & to ArchiveImpl::wrap_store for output archives.
|
| |
| template<class Archive , class T > |
| std::enable_if_t< is_input_archive_v< Archive >, const Archive & > | madness::archive::operator& (const Archive &ar, const T &t) |
| | Redirect & to ArchiveImpl::wrap_load for input archives.
|
| |
| template<class Archive , class T > |
| std::enable_if_t< is_output_archive_v< Archive >, const Archive & > | madness::archive::operator<< (const Archive &ar, const T &t) |
| | Redirect << to ArchiveImpl::wrap_store for output archives.
|
| |
| template<class Archive , class T > |
| std::enable_if_t< is_input_archive_v< Archive >, const Archive & > | madness::archive::operator>> (const Archive &ar, const T &t) |
| | Redirect >> to ArchiveImpl::wrap_load for input archives.
|
| |
| template<class Archive , class T > |
| std::enable_if_t<(!is_default_serializable< Archive, T >::value &&has_nonmember_serialize_v< T, Archive >) &&is_archive< Archive >::value, void > | madness::archive::serialize (const Archive &ar, const T &t) |
| | Redirect serialize(ar,t) to ArchiveSerializeImpl for non-fundamental types.
|
| |
| template<class Archive , class T > |
| std::enable_if_t< ! is_default_serializable< Archive, T >::value &&is_archive< Archive >::value, void > | madness::archive::serialize (const Archive &ar, const T *t, unsigned int n) |
| | Serialize (or deserialize) an array of non-fundamental stuff.
|
| |
| template<class T > |
| archive_array< T > | madness::archive::wrap (const T *ptr, unsigned int n) |
| | Factory function to wrap a dynamically allocated pointer as a typed archive_array.
|
| |
| template<class T > |
| archive_array< unsigned char > | madness::archive::wrap_opaque (const T &t) |
| | Factory function to wrap a contiguous scalar as an opaque (uchar) archive_array.
|
| |
| template<class T > |
| archive_array< unsigned char > | madness::archive::wrap_opaque (const T *ptr, unsigned int n) |
| | Factory function to wrap a pointer to contiguous data as an opaque (uchar) archive_array.
|
| |
| template<class T > |
| archive_ptr< T > | madness::archive::wrap_ptr (T *p) |
| | Wrapper for pointers.
|
| |
|
- Note
- relative function pointers are represented by std::ptrdiff_t , with member function pointers represented by std::array<std::ptrdiff_t, N> (with N=2 on most common platforms, and a type-dependent constant on some (Microsoft))
- Returns
- function pointer to serve as the reference for computing relative pointers
- Note
- the value returned by this function is a pointer to a non-virtual member function, this helps on the platforms that use the parity to distinguish non-virtual and virtual pointers (e.g. Itanium ABI)
|
| std::ptrdiff_t | madness::archive::fn_ptr_origin () |
| |
| template<typename T , typename = std::enable_if_t<is_function_pointer_v<T>>> |
| T | madness::archive::to_abs_fn_ptr (std::ptrdiff_t rel_fn_ptr) |
| | converts relative free or static member function pointer to the absolute function pointer
|
| |
| template<typename T , std::size_t N, typename = std::enable_if_t<std::is_member_function_pointer<std::remove_reference_t<T>>::value>> |
| auto | madness::archive::to_abs_memfn_ptr (std::array< std::ptrdiff_t, N > rel_fn_ptr) |
| | converts relative (nonstatic) member function pointer to the absolute function pointer
|
| |
| template<typename T , typename = std::enable_if_t<std::is_function<T>::value || is_function_pointer<T>::value>> |
| std::ptrdiff_t | madness::archive::to_rel_fn_ptr (const T &fn) |
| | converts function or (free or static member) function pointer to the relative function pointer
|
| |
| template<typename T , typename = std::enable_if_t<std::is_member_function_pointer<T>::value>> |
| auto | madness::archive::to_rel_memfn_ptr (const T &fn) |
| | converts nonstatic member function pointer to the relative equivalent
|
| |
Interface templates for the archives (serialization).