| cereal::PortableBinaryInputArchive(3) | Library Functions Manual | cereal::PortableBinaryInputArchive(3) |
NAME
cereal::PortableBinaryInputArchive - An input archive designed to load data saved using PortableBinaryOutputArchive.
SYNOPSIS
#include </home/build/include/cereal/archives/portable_binary.hpp>
Inherits cereal::InputArchive< PortableBinaryInputArchive, AllowEmptyClassElision >.
Classes
class Options
A class containing various advanced options for the PortableBinaryInput
archive.
Public Member Functions
PortableBinaryInputArchive (std::istream &stream,
Options const &options=Options::Default())
Construct, loading from the provided stream. template<std::streamsize
DataSize> void loadBinary (void *const data, std::streamsize size)
Reads size bytes of data from the input stream.
Public Member Functions inherited from cereal::InputArchive<
PortableBinaryInputArchive, AllowEmptyClassElision >
InputArchive (PortableBinaryInputArchive *const derived)
Construct the output archive. InputArchive & operator=
(InputArchive const &)=delete
PortableBinaryInputArchive & operator() (Types &&...
args)
Serializes all passed in data. void serializeDeferments ()
Serializes any data marked for deferment using defer. std::shared_ptr< void
> getSharedPointer (std::uint32_t const id)
Retrieves a shared pointer given a unique key for it. void
registerSharedPointer (std::uint32_t const id, std::shared_ptr<
void > ptr)
Registers a shared pointer to its unique identifier. std::string
getPolymorphicName (std::uint32_t const id)
Retrieves the string for a polymorphic type given a unique key for it. void
registerPolymorphicName (std::uint32_t const id, std::string const
&name)
Registers a polymorphic name string to its unique identifier.
PortableBinaryInputArchive & operator& (T &&arg)
Serializes passed in data.
PortableBinaryInputArchive & operator>> (T
&&arg)
Serializes passed in data.
Public Member Functions inherited from
cereal::detail::InputArchiveBase
InputArchiveBase (InputArchiveBase &&) CEREAL_NOEXCEPT
InputArchiveBase & operator= (InputArchiveBase &&)
CEREAL_NOEXCEPT
Additional Inherited Members
using is_loading
Indicates this archive is intended for loading.
using is_saving
Indicates this archive is not intended for saving.
Detailed Description
An input archive designed to load data saved using PortableBinaryOutputArchive.
This archive outputs data to a stream in an extremely compact binary representation with as little extra metadata as possible.
This archive will load the endianness of the serialized data and if necessary transform it to match that of the local machine. This comes at a significant performance cost compared to non portable archives if the transformation is necessary, and also causes a small performance hit even if it is not necessary.
It is recommended to use portable archives only if you know that you will be sending binary data to machines with different endianness.
The archive will do nothing to ensure types are the same size - that is the responsibility of the user.
When using a binary archive and a file stream, you must use the std::ios::binary format flag to avoid having your data altered inadvertently.
Warning
Constructor & Destructor Documentation
cereal::PortableBinaryInputArchive::PortableBinaryInputArchive (std::istream & stream, Options const & options = Options::Default()) [inline]
Construct, loading from the provided stream.
Parameters
options The PortableBinary specific options to use. See the Options struct for the values of default parameters
Member Function Documentation
template<std::streamsize DataSize> void cereal::PortableBinaryInputArchive::loadBinary (void *const data, std::streamsize size) [inline]
Reads size bytes of data from the input stream.
Parameters
size The number of bytes in the data
Template Parameters
Author
Generated automatically by Doxygen for cereal from the source code.
| Mon Oct 26 2026 20:39:03 | cereal |