ECSTASY
All in the name
Loading...
Searching...
No Matches
Serializer.hpp File Reference

RawSerializer class. More...

Include dependency graph for Serializer.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  ecstasy::serialization::Serializer< S >
 Serializer class. More...
 

Namespaces

namespace  ecstasy
 Namespace containing all symbols specific to ecstasy.
 
namespace  ecstasy::serialization
 Namespace regrouping the serialization ecstasy classes.
 

Macros

#define __CONCATENATE_DETAIL(x, y)   x##y
 
#define __CONCATENATE(x, y)   __CONCATENATE_DETAIL(x, y)
 
#define _REGISTER_SERIALIZABLES_AGAIN()   _REGISTER_SERIALIZABLES_HELPER
 
#define _REGISTER_SERIALIZABLES_HELPER(COMPONENT, a1, ...)
 
#define REGISTER_SERIALIZABLE(COMPONENT, SERIALIZER)
 Register a component to a serializer.
 
#define REGISTER_SERIALIZABLES(COMPONENT, a1, ...)   EXPAND(_REGISTER_SERIALIZABLES_HELPER(COMPONENT, a1, __VA_ARGS__))
 Register a component to multiple serializers.
 

Detailed Description

RawSerializer class.

Abstract serializer parent class.

Author
Andréas Leroux (andre.nosp@m.as.l.nosp@m.eroux.nosp@m.@epi.nosp@m.tech..nosp@m.eu)
Version
1.0.0
Date
2024-04-29

Definition in file Serializer.hpp.

Macro Definition Documentation

◆ __CONCATENATE

#define __CONCATENATE (   x,
 
)    __CONCATENATE_DETAIL(x, y)

Definition at line 32 of file Serializer.hpp.

◆ __CONCATENATE_DETAIL

#define __CONCATENATE_DETAIL (   x,
 
)    x##y

Definition at line 31 of file Serializer.hpp.

◆ _REGISTER_SERIALIZABLES_AGAIN

#define _REGISTER_SERIALIZABLES_AGAIN ( )    _REGISTER_SERIALIZABLES_HELPER

Definition at line 33 of file Serializer.hpp.

◆ _REGISTER_SERIALIZABLES_HELPER

#define _REGISTER_SERIALIZABLES_HELPER (   COMPONENT,
  a1,
  ... 
)
Value:
REGISTER_SERIALIZABLE(COMPONENT, a1) \
__VA_OPT__(_REGISTER_SERIALIZABLES_AGAIN PARENS(COMPONENT, __VA_ARGS__))
#define _REGISTER_SERIALIZABLES_AGAIN()
#define REGISTER_SERIALIZABLE(COMPONENT, SERIALIZER)
Register a component to a serializer.
#define PARENS
Definition foreach.hpp:15

Definition at line 34 of file Serializer.hpp.

◆ REGISTER_SERIALIZABLE

#define REGISTER_SERIALIZABLE (   COMPONENT,
  SERIALIZER 
)
Value:
static bool __CONCATENATE(registered_component_, __COUNTER__) = \
reinterpret_cast<bool &>(SERIALIZER::registerComponent<COMPONENT>(#COMPONENT));
#define __CONCATENATE(x, y)

Register a component to a serializer.

Author
Andréas Leroux (andre.nosp@m.as.l.nosp@m.eroux.nosp@m.@epi.nosp@m.tech..nosp@m.eu)
Since
1.0.0 (2024-10-04)

Definition at line 44 of file Serializer.hpp.

◆ REGISTER_SERIALIZABLES

#define REGISTER_SERIALIZABLES (   COMPONENT,
  a1,
  ... 
)    EXPAND(_REGISTER_SERIALIZABLES_HELPER(COMPONENT, a1, __VA_ARGS__))

Register a component to multiple serializers.

Author
Andréas Leroux (andre.nosp@m.as.l.nosp@m.eroux.nosp@m.@epi.nosp@m.tech..nosp@m.eu)
Since
1.0.0 (2024-10-04)

Definition at line 54 of file Serializer.hpp.