Gaia-ECS v0.9.3
A simple and powerful entity component system
Loading...
Searching...
No Matches
gaia::ser::serializer Struct Reference

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 {}
 

Detailed Description

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.


The documentation for this struct was generated from the following file: