Classes | |
| class | eagine::block_data_sink |
| Serialization data sink backed by a pre-allocated memory block. More... | |
| class | eagine::block_data_source |
| Deserialization data source backed by a pre-allocated memory block. More... | |
| struct | eagine::serializer_data_sink |
| Abstract base class for serialization data sinks. More... | |
| struct | eagine::deserializer_data_source |
| Abstract base class for deserialization data sources. More... | |
| class | eagine::istream_data_source |
| Deserialization data source backed by an input stream. More... | |
| class | eagine::ostream_data_sink |
| Serialization data sink backed by an output stream. More... | |
| class | eagine::packed_block_data_sink |
| Packing serialization data sink backed by a pre-allocated memory block. More... | |
| class | eagine::packed_block_data_source |
| Unpacking deserialization data source backed by a pre-allocated memory block. More... | |
| struct | eagine::deserializer_backend |
| Interface for deserialization read backends. More... | |
| class | eagine::common_deserializer_backend< Derived, Source > |
| CRTP mixin implementing the common parts of deserializer backends. More... | |
| class | eagine::string_serializer_backend |
| Cross-platform implementation of serializer backend using ASCII-only strings. More... | |
| class | eagine::string_deserializer_backend |
| Cross-platform implementation of deserializer backend using ASCII-only strings. More... | |
| struct | eagine::serializer_backend |
| Interface for serialization write backends. More... | |
| class | eagine::common_serializer_backend< Derived, Sink > |
| CRTP mixin implementing the common parts of serializer backends. More... | |
| class | eagine::serializer_backend_id< Base, Id > |
| Base class partially implementing serializer and deserialized backends. More... | |
Typedefs | |
| using | eagine::serialization_errors = bitfield< serialization_error_code > |
| Alias for serialization error bitfield. More... | |
| using | eagine::deserialization_errors = bitfield< deserialization_error_code > |
| Alias for deserialization error bitfield. More... | |
| template<typename T > | |
| using | eagine::serialization_result = valid_if_indicated< T, serialization_errors, bool, false > |
| Alias for result type of serialization operations. More... | |
| template<typename T > | |
| using | eagine::deserialization_result = valid_if_indicated< T, deserialization_errors, bool, false > |
| Alias for result type of deserialization operations. More... | |
Functions | |
| template<identifier_t SerializerId, typename T , typename Selector = default_selector_t> | |
| constexpr auto | eagine::serialize_buffer_for (const T &inst, Selector sel={}) |
| Returns a buffer large enough for the serialization of the specified instance. | |
| template<typename T , typename Backend > | |
| auto | eagine::deserialize (T &value, Backend &backend) -> std::enable_if_t< std::is_base_of_v< deserializer_backend, Backend >, deserialization_errors > |
| Deserializes a value with the specified serialization backend. More... | |
| template<typename T > | |
| static auto | eagine::get_errors (const serialization_result< T > &result) noexcept -> serialization_errors |
| Returns the error bitfield from a serialization result. | |
| template<typename T > | |
| static auto | eagine::get_errors (const deserialization_result< T > &result) noexcept -> deserialization_errors |
| Returns the error bitfield from a deserialization result. | |
| static auto | eagine::store_data_with_size (memory::const_block src, memory::block dst) noexcept -> memory::block |
| Encodes the size of the source block into destination, copies data afterwards. More... | |
| static auto | eagine::skip_data_with_size (memory::const_block src) noexcept -> span_size_t |
| In a block starting with sub-block with size returns the size of the sub-block. More... | |
| static auto | eagine::get_data_with_size (memory::block src) noexcept -> memory::block |
| Extracts a sub-block from a larger mutable block with encoded sub-block size. More... | |
| static auto | eagine::get_data_with_size (memory::const_block src) noexcept -> memory::const_block |
| Extracts a sub-block from a larger const block with encoded sub-block size. More... | |
| template<typename Function > | |
| static void | eagine::for_each_data_with_size (memory::const_block src, Function function) noexcept |
| In a larger block with sub-blocks with size, calls function on each sub-block. More... | |
| template<typename T , typename Backend > | |
| auto | eagine::serialize (T &value, Backend &backend) -> std::enable_if_t< std::is_base_of_v< serializer_backend, Backend >, serialization_errors > |
| Serializes a value with the specified serialization backend. More... | |
| using eagine::deserialization_errors = typedef bitfield<deserialization_error_code> |
Alias for deserialization error bitfield.
| using eagine::deserialization_result = typedef valid_if_indicated<T, deserialization_errors, bool, false> |
Alias for result type of deserialization operations.
| using eagine::serialization_errors = typedef bitfield<serialization_error_code> |
Alias for serialization error bitfield.
| using eagine::serialization_result = typedef valid_if_indicated<T, serialization_errors, bool, false> |
Alias for result type of serialization operations.
|
strong |
Deserialization error code bits enumeration.
|
strong |
Serialization error code bits enumeration.
| auto eagine::deserialize | ( | T & | value, |
| Backend & | backend | ||
| ) | -> std::enable_if_t< std::is_base_of_v<deserializer_backend, Backend>, deserialization_errors> |
Deserializes a value with the specified serialization backend.
Referenced by eagine::msgbus::default_deserialize(), eagine::msgbus::default_deserialize_packed(), and eagine::msgbus::deserialize_message_header().
|
inlinestaticnoexcept |
In a larger block with sub-blocks with size, calls function on each sub-block.
|
inlinestaticnoexcept |
Extracts a sub-block from a larger mutable block with encoded sub-block size.
|
inlinestaticnoexcept |
Extracts a sub-block from a larger const block with encoded sub-block size.
| auto eagine::serialize | ( | T & | value, |
| Backend & | backend | ||
| ) | -> std::enable_if_t< std::is_base_of_v<serializer_backend, Backend>, serialization_errors> |
Serializes a value with the specified serialization backend.
Referenced by eagine::msgbus::default_serialize(), eagine::msgbus::default_serialize_packed(), and eagine::msgbus::serialize_message_header().
|
inlinestaticnoexcept |
In a block starting with sub-block with size returns the size of the sub-block.
Referenced by eagine::msgbus::stored_message::signature().
|
inlinestaticnoexcept |
Encodes the size of the source block into destination, copies data afterwards.