![]() |
Gaia-ECS v0.9.3
A simple and powerful entity component system
|
Runtime serializer type-erased handle. Traversal logic is shared with compile-time serialization, while raw I/O is delegated through function pointers bound to a concrete serializer instance. This is a binary traversal API; JSON document I/O uses ser::ser_json. More...
#include <ser_rt.h>
Public Member Functions | |
| serializer (const serializer_ctx &ctx) | |
| GAIA_NODISCARD bool | valid () const |
| template<typename T > | |
| void | save (const T &arg) |
| template<typename T > | |
| void | load (T &arg) |
| template<typename T > | |
| void | save_raw (const T &value) |
| template<typename T > | |
| void | load_raw (T &value) |
| void | save_raw (const void *src, uint32_t size, serialization_type_id id) |
| void | load_raw (void *src, uint32_t size, serialization_type_id id) |
| GAIA_NODISCARD const char * | data () const |
| void | reset () |
| GAIA_NODISCARD uint32_t | tell () const |
| GAIA_NODISCARD uint32_t | bytes () const |
| void | seek (uint32_t pos) |
Static Public Member Functions | |
| template<typename TSerializer > | |
| static serializer_ctx | bind_ctx (TSerializer &obj) |
| template<typename TSerializer > | |
| static serializer | bind (TSerializer &obj) |
Public Attributes | |
| serializer_ctx | m_ctx {} |
Runtime serializer type-erased handle. Traversal logic is shared with compile-time serialization, while raw I/O is delegated through function pointers bound to a concrete serializer instance. This is a binary traversal API; JSON document I/O uses ser::ser_json.