cereal::BinaryOutputArchive(3) Library Functions Manual cereal::BinaryOutputArchive(3)

# [NAME](#NAME)

cereal::BinaryOutputArchive - An output archive designed to save data in a compact binary representation.

# [SYNOPSIS](#SYNOPSIS)

#include &lt;/home/build/include/cereal/archives/binary.hpp&gt;

Inherits **cereal::OutputArchive&lt; BinaryOutputArchive, AllowEmptyClassElision &gt;**.

## [Public Member Functions](#Public_Member_Functions)

**BinaryOutputArchive** (std::ostream &stream)  
Construct, outputting to the provided stream. void **saveBinary** (const void \*data, std::streamsize size)  
Writes size bytes of data to the output stream.

Public Member Functions inherited from **cereal::OutputArchive&lt; BinaryOutputArchive, AllowEmptyClassElision &gt;**  
**OutputArchive** (**BinaryOutputArchive** \*const derived)  
Construct the output archive. **OutputArchive** & **operator=** (**OutputArchive** const &)=delete  
**BinaryOutputArchive** & **operator()** (Types &&... args)  
Serializes all passed in data. void **serializeDeferments** ()  
Serializes any data marked for deferment using defer. std::uint32\_t **registerSharedPointer** (const std::shared\_ptr&lt; const void &gt; &sharedPointer)  
Registers a shared pointer with the archive. std::uint32\_t **registerPolymorphicType** (char const \*name)  
Registers a polymorphic type name with the archive.

**BinaryOutputArchive** & **operator&** (T &&arg)  
Serializes passed in data.

**BinaryOutputArchive** & **operator&lt;&lt;** (T &&arg)  
Serializes passed in data.

Public Member Functions inherited from **cereal::detail::OutputArchiveBase**  
**OutputArchiveBase** (OutputArchiveBase &&) **CEREAL\_NOEXCEPT**  
OutputArchiveBase & **operator=** (OutputArchiveBase &&) **CEREAL\_NOEXCEPT**

## [Additional Inherited Members](#Additional_Inherited_Members)

using **is\_loading**  
Indicates this archive is not intended for loading.

using **is\_saving**  
Indicates this archive is intended for saving.

# [Detailed Description](#Detailed_Description)

An output archive designed to save data in a compact binary representation.

This archive outputs data to a stream in an extremely compact binary representation with as little extra metadata as possible.

This archive does nothing to ensure that the endianness of the saved and loaded data is the same. If you need to have portability over architectures with different endianness, use **PortableBinaryOutputArchive**.

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.

# [Constructor & Destructor Documentation](#Constructor_&_Destructor_Documentation)

## [cereal::BinaryOutputArchive::BinaryOutputArchive (std::ostream & stream) \[inline\]](#cereal::BinaryOutputArchive::BinaryOutputArchive_%28std::ostream_&_stream%29)

Construct, outputting to the provided stream.

**Parameters**

*stream* The stream to output to. Can be a stringstream, a file stream, or even cout!

# [Author](#Author)

Generated automatically by Doxygen for cereal from the source code.

Sat Aug 29 2026 00:42:30 cereal

---

Document: cereal_BinaryOutputArchive(3) from cereal 1.3.2-r5 (Chainguard OS)
Source: https://github.com/USCiLab/cereal
