|
cereal
A C++11 library for serialization
|
The base output archive class. More...
#include <cereal/cereal.hpp>
Public Member Functions | |
| OutputArchive (ArchiveType *const self) | |
| Construct the output archive. More... | |
| template<class... Types> | |
| ArchiveType & | operator() (Types &&...args) |
| Serializes all passed in data. | |
| std::uint32_t | registerSharedPointer (void const *addr) |
| Registers a shared pointer with the archive. More... | |
| std::uint32_t | registerPolymorphicType (char const *name) |
| Registers a polymorphic type name with the archive. More... | |
The base output archive class.
This is the base output archive for all output archives. If you create a custom archive class, it should derive from this, passing itself as a template parameter for the ArchiveType.
The base class provides all of the functionality necessary to properly forward data to the correct serialization functions.
Individual archives should use a combination of prologue and epilogue functions together with specializations of serialize, save, and load to alter the functionality of their serialization.
| ArchiveType | The archive type that derives from OutputArchive |
| Flags | Flags to control advanced functionality. See the Flags enum for more information. |
|
inline |
Construct the output archive.
| self | A pointer to the derived ArchiveType (pass this from the derived archive) |
|
inline |
Registers a polymorphic type name with the archive.
This function is used to track polymorphic types to prevent unnecessary saves of identifying strings used by the polymorphic support functionality.
| name | The name to associate with a polymorphic type |
|
inline |
Registers a shared pointer with the archive.
This function is used to track shared pointer targets to prevent unnecessary saves from taking place if multiple shared pointers point to the same data.
| addr | The address (see shared_ptr get()) pointed to by the shared pointer |
1.8.3.1