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

eagine::serializer_backend Struct Referenceabstract

Interface for serialization write backends. More...

#include <eagine/serialize/write_backend.hpp>

Public Types

using result = serialization_errors
 Alias for the serialization operations result type.
 

Public Member Functions

virtual auto type_id () -> identifier=0
 Returns a descriptive identifier of the implementation.
 
virtual auto sink () -> serializer_data_sink *=0
 Returns a pointer to the associated data sink, if any.
 
virtual auto enum_as_string () -> bool=0
 @brie Indicates if the backed stores enumerators as strings (or numeric values).
 
virtual auto begin () -> result=0
 Starts the serialization of a potentially complex structured value.
 
virtual auto write (span< const bool >, span_size_t &) -> result=0
 Writes boolean values, returns how many were done through second argument.
 
virtual auto write (span< const char >, span_size_t &) -> result=0
 Writes character values, returns how many were done through second argument.
 
virtual auto write (span< const std::int8_t >, span_size_t &) -> result=0
 Writes 8-bit int values, returns how many were done through second argument.
 
virtual auto write (span< const short >, span_size_t &) -> result=0
 Writes short int values, returns how many were done through second argument.
 
virtual auto write (span< const int >, span_size_t &) -> result=0
 Writes int values, returns how many were done through second argument.
 
virtual auto write (span< const long >, span_size_t &) -> result=0
 Writes long values, returns how many were done through second argument.
 
virtual auto write (span< const long long >, span_size_t &) -> result=0
 Writes long long values, returns how many were done through second argument.
 
virtual auto write (span< const std::uint8_t >, span_size_t &) -> result=0
 Writes 8-bit uint values, returns how many were done through second argument.
 
virtual auto write (span< const unsigned short >, span_size_t &) -> result=0
 Writes ushort values, returns how many were done through second argument.
 
virtual auto write (span< const unsigned >, span_size_t &) -> result=0
 Writes uint values, returns how many were done through second argument.
 
virtual auto write (span< const unsigned long >, span_size_t &) -> result=0
 Writes ulong values, returns how many were done through second argument.
 
virtual auto write (span< const unsigned long long >, span_size_t &) -> result=0
 Writes ulong long values, returns how many were done through second argument.
 
virtual auto write (span< const float >, span_size_t &) -> result=0
 Writes float values, returns how many were done through second argument.
 
virtual auto write (span< const double >, span_size_t &) -> result=0
 Writes double values, returns how many were done through second argument.
 
virtual auto write (span< const identifier >, span_size_t &) -> result=0
 Writes identifier values, returns how many were done through second argument.
 
virtual auto write (span< const decl_name >, span_size_t &) -> result=0
 Writes decl_name values, returns how many were done through second argument.
 
virtual auto write (span< const string_view >, span_size_t &) -> result=0
 Writes string values, returns how many were done through second argument.
 
virtual auto begin_struct (span_size_t member_count) -> result=0
 Begins the serialization of a structure instance.
 
virtual auto begin_member (string_view name) -> result=0
 Begins the serialization of a structure data member.
 
virtual auto finish_member (string_view name) -> result=0
 Finishes the serialization of a structure data member.
 
virtual auto finish_struct () -> result=0
 Finishes the serialization of a structure instance.
 
virtual auto begin_list (span_size_t element_count) -> result=0
 Begins the serialization of a container instance.
 
virtual auto begin_element (span_size_t index) -> result=0
 Begins the serialization of a container element.
 
virtual auto finish_element (span_size_t index) -> result=0
 Finishes the serialization of a container element.
 
virtual auto finish_list () -> result=0
 Finishes the serialization of a container instance.
 
virtual auto finish () -> result=0
 Finishes the serialization of a potentially complex structured value.
 
- Public Member Functions inherited from eagine::interface< serializer_backend >
constexpr interface (const interface &)=delete
 Not copyable.
 
auto operator= (interface &&)=delete
 Not move assignable.
 
auto operator= (const interface &)=delete
 Not copy assignable.
 

Additional Inherited Members

- Protected Member Functions inherited from eagine::interface< serializer_backend >
constexpr interface () noexcept=default
 Default constructible by derived.
 
constexpr interface (interface &&) noexcept=default
 Move constructible by derived.
 

Detailed Description

Interface for serialization write backends.

See also
common_serializer_backend
deserializer_backend
serializer_data_sink

The documentation for this struct 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).