32#ifdef _QX_ENABLE_BOOST_SERIALIZATION
33#ifndef _QX_SERIALIZE_INVOKER_H_
34#define _QX_SERIALIZE_INVOKER_H_
42#pragma warning(disable:4996)
43#pragma warning(disable:4094)
46#include <boost/serialization/serialization.hpp>
47#include <boost/serialization/base_object.hpp>
48#include <boost/serialization/nvp.hpp>
56namespace serialization {
62 template <
class Archive,
class T>
63 static inline void save(Archive & ar,
const T & t,
const unsigned int file_version)
65 Q_UNUSED(file_version);
68 ar << boost::serialization::make_nvp(sTag, boost::serialization::base_object<const Base>(t));
70 template <
class Archive,
class T>
71 static inline void load(Archive & ar, T & t,
const unsigned int file_version)
73 Q_UNUSED(file_version);
76 ar >> boost::serialization::make_nvp(sTag, boost::serialization::base_object<Base>(t));
83 template <
class Archive,
class T>
84 static inline void save(Archive & ar,
const T & t,
const unsigned int file_version)
85 { Q_UNUSED(ar); Q_UNUSED(t); Q_UNUSED(file_version); }
86 template <
class Archive,
class T>
87 static inline void load(Archive & ar, T & t,
const unsigned int file_version)
88 { Q_UNUSED(ar); Q_UNUSED(t); Q_UNUSED(file_version); }
91template <
class Archive,
class T>
92void save(Archive & ar,
const T & t,
const unsigned int file_version)
99template <
class Archive,
class T>
100void load(Archive & ar, T & t,
const unsigned int file_version)
107template <
class Archive,
class T>
110 static inline void invoke(Archive & ar,
const T & t,
const unsigned int file_version)
114template <
class Archive,
class T>
117 static inline void invoke(Archive & ar, T & t,
const unsigned int file_version)
125#include "../../inl/QxSerialize/QxSerializeInvoker.inl"
Concrete class registered into QxOrm context.
static T * getSingleton()
qx::trait::get_base_class<T>::type : retrieve base class of type T registered into QxOrm context and ...
qx::trait::is_qx_registered<T>::value : return true if T is registered into QxOrm context to provide ...
void save(Archive &ar, const T &t, const unsigned int file_version)
void load(Archive &ar, T &t, const unsigned int file_version)
Root namespace for all QxOrm library features.
static void load(Archive &ar, T &t, const unsigned int file_version)
static void save(Archive &ar, const T &t, const unsigned int file_version)
static void save(Archive &ar, const T &t, const unsigned int file_version)
static void load(Archive &ar, T &t, const unsigned int file_version)
static void invoke(Archive &ar, T &t, const unsigned int file_version)
static void invoke(Archive &ar, const T &t, const unsigned int file_version)
qx::trait::is_qx_registered<T>::value : return true if T is registered into QxOrm context to provide ...