OGLplus  (0.59.0) a C++ wrapper for rendering APIs

Serialization data sink backed by an output stream. More...

#include <eagine/serialize/ostream_sink.hpp>

Public Member Functions

 ostream_data_sink (std::ostream &out) noexcept
 Constructor setting the target stream.
 
auto remaining_size () -> span_size_t final
 Returns the remaining available size for data in this sink.
 
auto write (memory::const_block blk) -> serialization_errors final
 Writes a block of data into this sink.
 
auto begin_work () -> transaction_handle final
 Begins a write transaction on this data sink. More...
 
void commit (transaction_handle th) final
 Commits writes done as a part of transaction identified by argument. More...
 
void rollback (transaction_handle th) final
 Rolls-back writes done as a part of transaction identified by argument. More...
 
auto finalize () -> serialization_errors final
 Does additional finalization, like compression after serialization operation.
 
virtual auto write (memory::const_block data) -> result=0
 Writes a block of data into this sink.
 
auto write (char chr) -> result
 Writes a single string character into this sink.
 
auto write (string_view str) -> result
 Writes a string view into this sink.
 
- Public Member Functions inherited from eagine::serializer_data_sink
auto write (char chr) -> result
 Writes a single string character into this sink.
 
auto write (string_view str) -> result
 Writes a string view into this sink.
 
auto write_some (memory::const_split_block data) -> serialization_result< memory::const_split_block >
 Writes as much as possible from a split data block.
 

Additional Inherited Members

- Public Types inherited from eagine::serializer_data_sink
using result = serialization_errors
 Alias for the operation result type.
 
using transaction_handle = std::uintptr_t
 Alias for type indentifying sink transaction that can be rolled back.
 
- Protected Member Functions inherited from eagine::abstract< serializer_data_sink >
constexpr abstract () noexcept=default
 Default constructible by derived.
 
constexpr abstract (abstract &&) noexcept=default
 Move constructible by derived.
 
constexpr abstract (const abstract &) noexcept=default
 Copy constructible by derived.
 
auto operator= (abstract &&) noexcept -> abstract &=default
 Move assignable by derived.
 
auto operator= (const abstract &) noexcept -> abstract &=default
 Copy assignable by derived.
 

Detailed Description

Serialization data sink backed by an output stream.

See also
istream_data_source

Member Function Documentation

◆ begin_work()

auto eagine::ostream_data_sink::begin_work ( ) -> transaction_handle
inlinefinalvirtual

Begins a write transaction on this data sink.

See also
commit
rollback

Implements eagine::serializer_data_sink.

◆ commit()

void eagine::ostream_data_sink::commit ( transaction_handle  )
inlinefinalvirtual

Commits writes done as a part of transaction identified by argument.

See also
begin_work
rollback

Implements eagine::serializer_data_sink.

◆ rollback()

void eagine::ostream_data_sink::rollback ( transaction_handle  )
inlinefinalvirtual

Rolls-back writes done as a part of transaction identified by argument.

See also
begin_work
commit

Implements eagine::serializer_data_sink.


The documentation for this class was generated from the following file:

Copyright © 2015-2021 Matúš Chochlík.
<chochlik -at -gmail.com>
Documentation generated on Tue Apr 13 2021 by Doxygen (version 1.8.17).