OpenCBDC Transaction Processor
Loading...
Searching...
No Matches
cbdc::size_serializer Class Referencefinal

Utility class for determining the size of a buffer needed to serialize a sequence of objects. More...

#include <size_serializer.hpp>

Inheritance diagram for cbdc::size_serializer:
Collaboration diagram for cbdc::size_serializer:

Public Member Functions

 size_serializer ()=default
 
 operator bool () const final
 Indicates whether the last serialization operation succeeded.
 
void advance_cursor (size_t len) final
 Increases the size counter by the given number of bytes.
 
void reset () final
 Resets the size counter to zero.
 
auto end_of_buffer () const -> bool final
 Size serializer has no underlying buffer so this method always returns false.
 
auto write (const void *data, size_t len) -> bool final
 Increases size counter by the given number of bytes.
 
auto read (void *data, size_t len) -> bool final
 Read is not implemented for size serializer.
 
auto size () const -> size_t
 Returns the number of bytes accumulated in the size counter during mock serialization.
 
- Public Member Functions inherited from cbdc::serializer
virtual ~serializer ()=default
 
 serializer (const serializer &)=delete
 
auto operator= (const serializer &)=delete
 
 serializer (serializer &&)=delete
 
auto operator= (serializer &&)=delete
 

Additional Inherited Members

- Protected Member Functions inherited from cbdc::serializer
 serializer ()=default
 

Detailed Description

Utility class for determining the size of a buffer needed to serialize a sequence of objects.

The class doesn't perform any actual serialization and just adds up the sizes. Deserialization is not supported and always fails to read any data.

Definition at line 16 of file size_serializer.hpp.

Constructor & Destructor Documentation

◆ size_serializer()

cbdc::size_serializer::size_serializer ( )
default

Member Function Documentation

◆ advance_cursor()

void cbdc::size_serializer::advance_cursor ( size_t len)
finalvirtual

Increases the size counter by the given number of bytes.

Parameters
lennumber of bytes.

Implements cbdc::serializer.

Definition at line 13 of file size_serializer.cpp.

◆ end_of_buffer()

auto cbdc::size_serializer::end_of_buffer ( ) const -> bool
nodiscardfinalvirtual

Size serializer has no underlying buffer so this method always returns false.

Returns
false.

Implements cbdc::serializer.

Definition at line 21 of file size_serializer.cpp.

◆ operator bool()

cbdc::size_serializer::operator bool ( ) const
explicitfinalvirtual

Indicates whether the last serialization operation succeeded.

Serialization always succeeds for size serializer.

Returns
true.

Implements cbdc::serializer.

Definition at line 9 of file size_serializer.cpp.

◆ read()

auto cbdc::size_serializer::read ( void * data,
size_t len ) -> bool
finalvirtual

Read is not implemented for size serializer.

Returns
false.

Implements cbdc::serializer.

Definition at line 30 of file size_serializer.cpp.

◆ reset()

void cbdc::size_serializer::reset ( )
finalvirtual

Resets the size counter to zero.

Implements cbdc::serializer.

Definition at line 17 of file size_serializer.cpp.

◆ size()

auto cbdc::size_serializer::size ( ) const -> size_t
nodiscard

Returns the number of bytes accumulated in the size counter during mock serialization.

Returns
number of bytes a buffer would need for serialization.

Definition at line 34 of file size_serializer.cpp.

◆ write()

auto cbdc::size_serializer::write ( const void * data,
size_t len ) -> bool
finalvirtual

Increases size counter by the given number of bytes.

Parameters
datapointer is not read from.
lennumber of bytes by which to increase the size counter.
Returns
true.

Implements cbdc::serializer.

Definition at line 25 of file size_serializer.cpp.


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