openMSX
Classes | Namespaces | Macros | Functions
serialize_core.hh File Reference
#include "serialize_constr.hh"
#include "serialize_meta.hh"
#include "unreachable.hh"
#include <string>
#include <type_traits>
#include <cassert>
#include <memory>
Include dependency graph for serialize_core.hh:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  openmsx::is_primitive< T >
 
struct  openmsx::is_primitive< bool >
 
struct  openmsx::is_primitive< char >
 
struct  openmsx::is_primitive< signed char >
 
struct  openmsx::is_primitive< signed short >
 
struct  openmsx::is_primitive< signed int >
 
struct  openmsx::is_primitive< signed long >
 
struct  openmsx::is_primitive< unsigned char >
 
struct  openmsx::is_primitive< unsigned short >
 
struct  openmsx::is_primitive< unsigned int >
 
struct  openmsx::is_primitive< unsigned long >
 
struct  openmsx::is_primitive< float >
 
struct  openmsx::is_primitive< double >
 
struct  openmsx::is_primitive< long double >
 
struct  openmsx::is_primitive< long long >
 
struct  openmsx::is_primitive< unsigned long long >
 
struct  openmsx::is_primitive< std::string >
 
struct  openmsx::SerializeClassVersion< std::pair< T1, T2 > >
 
struct  openmsx::serialize_as_enum< T >
 serialize_as_enum<T> More...
 
struct  openmsx::enum_string< T >
 
struct  openmsx::serialize_as_enum_impl< T >
 
struct  openmsx::serialize_as_pointer< T >
 
struct  openmsx::serialize_as_pointer_impl< T >
 
struct  openmsx::serialize_as_pointer< T * >
 
struct  openmsx::serialize_as_pointer< std::unique_ptr< T > >
 
struct  openmsx::serialize_as_pointer< std::shared_ptr< T > >
 
struct  openmsx::serialize_as_collection< T >
 
struct  openmsx::serialize_as_collection< T[N]>
 
struct  openmsx::PrimitiveSaver< T >
 
struct  openmsx::EnumSaver< T >
 
struct  openmsx::ClassSaver< T >
 
struct  openmsx::PointerSaver< TP >
 
struct  openmsx::IDSaver< TP >
 
struct  openmsx::CollectionSaver< TC >
 
struct  openmsx::Saver< T >
 
struct  openmsx::PrimitiveLoader< T >
 
struct  openmsx::EnumLoader< T >
 
struct  openmsx::ClassLoader< T >
 
struct  openmsx::NonPolymorphicPointerLoader< T >
 
struct  openmsx::PolymorphicPointerLoader< T >
 
struct  openmsx::PointerLoader2< T >
 
struct  openmsx::PointerLoader< TP >
 
struct  openmsx::IDLoader< TP >
 
struct  openmsx::CollectionLoaderHelper< sac, IN_PLACE >
 
struct  openmsx::CollectionLoaderHelper< sac, true >
 
struct  openmsx::CollectionLoaderHelper< sac, false >
 
struct  openmsx::CollectionLoader< TC >
 
struct  openmsx::Loader< T >
 

Namespaces

 openmsx
 Thanks to enen for testing this on a real cartridge:
 

Macros

#define SERIALIZE_ENUM(TYPE, INFO)
 

Functions

template<typename Archive , typename T >
void openmsx::serialize (Archive &ar, T &t, unsigned version)
 
template<typename Archive , typename T1 , typename T2 >
void openmsx::serialize (Archive &ar, std::pair< T1, T2 > &p, unsigned)
 
void openmsx::enumError (const std::string &str)
 
unsigned openmsx::loadVersionHelper (MemInputArchive &, const char *, unsigned)
 
unsigned openmsx::loadVersionHelper (XmlInputArchive &ar, const char *className, unsigned latestVersion)
 
template<typename T , typename Archive >
unsigned openmsx::loadVersion (Archive &ar)
 
void openmsx::pointerError (unsigned id)
 

Macro Definition Documentation

#define SERIALIZE_ENUM (   TYPE,
  INFO 
)
Value:
template<> struct serialize_as_enum< TYPE > : serialize_as_enum_impl< TYPE > { \
serialize_as_enum() : serialize_as_enum_impl< TYPE >( INFO ) {} \
};

Definition at line 128 of file serialize_core.hh.