Interface for deserialization read backends. More...
#include <eagine/serialize/read_backend.hpp>
Public Types | |
| using | result = deserialization_errors |
| Alias for the deserialization operations result type. | |
Public Member Functions | |
| virtual auto | type_id () -> identifier=0 |
| Returns a descriptive identifier of the implementation. | |
| virtual auto | source () -> deserializer_data_source *=0 |
| Returns a pointer to the associated data source, 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 deserialization of a potentially complex structured value. | |
| virtual auto | read (span< bool >, span_size_t &) -> result=0 |
| Reads boolean values, returns how many were done through second argument. | |
| virtual auto | read (span< char >, span_size_t &) -> result=0 |
| Reads character values, returns how many were done through second argument. | |
| virtual auto | read (span< std::int8_t >, span_size_t &) -> result=0 |
| Reads 8-bit int values, returns how many were done through second argument. | |
| virtual auto | read (span< short >, span_size_t &) -> result=0 |
| Reads short values, returns how many were done through second argument. | |
| virtual auto | read (span< int >, span_size_t &) -> result=0 |
| Reads int values, returns how many were done through second argument. | |
| virtual auto | read (span< long >, span_size_t &) -> result=0 |
| Reads long values, returns how many were done through second argument. | |
| virtual auto | read (span< long long >, span_size_t &) -> result=0 |
| Reads long long values, returns how many were done through second argument. | |
| virtual auto | read (span< std::uint8_t >, span_size_t &) -> result=0 |
| Reads 8-bit uint values, returns how many were done through second argument. | |
| virtual auto | read (span< unsigned short >, span_size_t &) -> result=0 |
| Reads ushort values, returns how many were done through second argument. | |
| virtual auto | read (span< unsigned >, span_size_t &) -> result=0 |
| Reads uint values, returns how many were done through second argument. | |
| virtual auto | read (span< unsigned long >, span_size_t &) -> result=0 |
| Reads ulong values, returns how many were done through second argument. | |
| virtual auto | read (span< unsigned long long >, span_size_t &) -> result=0 |
| Reads ulong long values, returns how many were done through second argument. | |
| virtual auto | read (span< float >, span_size_t &) -> result=0 |
| Reads float values, returns how many were done through second argument. | |
| virtual auto | read (span< double >, span_size_t &) -> result=0 |
| Reads double values, returns how many were done through second argument. | |
| virtual auto | read (span< identifier >, span_size_t &) -> result=0 |
| Reads identifier values, returns how many were done through second argument. | |
| virtual auto | read (span< decl_name_storage >, span_size_t &) -> result=0 |
| Reads decl_name values, returns how many were done through second argument. | |
| virtual auto | read (span< std::string >, span_size_t &) -> result=0 |
| Reads string values, returns how many were done through second argument. | |
| virtual auto | begin_struct (span_size_t &member_count) -> result=0 |
| Begins the deserialization of a structure instance. | |
| virtual auto | begin_member (string_view name) -> result=0 |
| Begins the deserialization of a structure data member. | |
| virtual auto | finish_member (string_view name) -> result=0 |
| Finishes the deserialization of a structure data member. | |
| virtual auto | finish_struct () -> result=0 |
| Finishes the deserialization of a structure instance. | |
| virtual auto | begin_list (span_size_t &element_count) -> result=0 |
| Begins the deserialization of a container instance. | |
| virtual auto | begin_element (span_size_t index) -> result=0 |
| Begins the deserialization of a container element. | |
| virtual auto | finish_element (span_size_t index) -> result=0 |
| Finishes the deserialization of a container element. | |
| virtual auto | finish_list () -> result=0 |
| Finishes the deserialization of a container instance. | |
| virtual auto | finish () -> result=0 |
| Finishes the deserialization of a potentially complex structured value. | |
Public Member Functions inherited from eagine::interface< deserializer_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< deserializer_backend > | |
| constexpr | interface () noexcept=default |
| Default constructible by derived. | |
| constexpr | interface (interface &&) noexcept=default |
| Move constructible by derived. | |
Interface for deserialization read backends.