SEGS  0.6.1-develop [d2cac982]
Super Entity Game Server
Classes | Namespaces | Macros | Enumerations
SEGSEvent.h File Reference
#include "CompiletimeHash.h"
#include <ace/Time_Value.h>
#include "cereal/archives/binary.hpp"
#include <atomic>
#include <typeinfo>
#include <cassert>
Include dependency graph for SEGSEvent.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  SEGSEvents::Event
 
struct  SEGSEvents::Finish
 

Namespaces

 SEGSEvents
 

Macros

#define BEGINE_EVENTS(enum_name, parent_class)   base_##enum_name = (uint32_t)parent_class::ID_LAST_##parent_class,
 
#define BEGINE_EVENTS_SKIP(enum_name, parent_class, skip)   base_##enum_name = (uint32_t)parent_class::ID_LAST_##parent_class + skip,
 
#define BEGINE_EVENTS_INTERNAL(enum_name)   base_##enum_name = 20000,
 
#define EVENT_DECL(enum_name, name, cnt)   name = base_##enum_name+cnt+1,
 
#define END_EVENTS(enum_name, cnt)   ID_LAST_##enum_name=base_##enum_name+cnt+1
 
#define EVENT_IMPL(name)
 

Enumerations

enum  SEGSEvents::CommonTypes : uint32_t {
  SEGSEvents::evFinish =0, SEGSEvents::evConnect =1, SEGSEvents::evDisconnect =2, SEGSEvents::evTimeout =3,
  SEGSEvents::ID_LAST_CommonTypes
}
 

Macro Definition Documentation

◆ BEGINE_EVENTS

#define BEGINE_EVENTS (   enum_name,
  parent_class 
)    base_##enum_name = (uint32_t)parent_class::ID_LAST_##parent_class,

◆ BEGINE_EVENTS_INTERNAL

#define BEGINE_EVENTS_INTERNAL (   enum_name)    base_##enum_name = 20000,

◆ BEGINE_EVENTS_SKIP

#define BEGINE_EVENTS_SKIP (   enum_name,
  parent_class,
  skip 
)    base_##enum_name = (uint32_t)parent_class::ID_LAST_##parent_class + skip,

◆ END_EVENTS

#define END_EVENTS (   enum_name,
  cnt 
)    ID_LAST_##enum_name=base_##enum_name+cnt+1

◆ EVENT_DECL

#define EVENT_DECL (   enum_name,
  name,
  cnt 
)    name = base_##enum_name+cnt+1,

◆ EVENT_IMPL

#define EVENT_IMPL (   name)
Value:
template<class Archive>\
void serialize(Archive & archive); \
void do_serialize(std::ostream &os) override {\
cereal::BinaryOutputArchive oarchive(os);\
oarchive(*this);\
}\
void serialize_from(std::istream &os) override {\
cereal::BinaryInputArchive iarchive(os);\
iarchive(*this);\
}\
~name() override = default;
void serialize(Archive &archive, glm::vec3 &m)
Definition: serialization_types.h:110
archive(cereal::make_nvp("OriginIdx", ed.m_origin_idx))