#include <type_traits>
#include <boost/utility/value_init.hpp>
#include <boost/foreach.hpp>
#include "misc_log_ex.h"
#include "keyvalue_serialization_overloads.h"
Go to the source code of this file.
|
| namespace | epee |
| | TODO: (mj-xmr) This will be reduced in an another PR.
|
| |
|
| #define | MONERO_DEFAULT_LOG_CATEGORY "serialization" |
| |
| #define | BEGIN_KV_SERIALIZE_MAP() |
| |
| #define | KV_SERIALIZE_N(varialble, val_name) epee::serialization::selector<is_store>::serialize(this_ref.varialble, stg, hparent_section, val_name); |
| |
| #define | KV_SERIALIZE_PARENT(type) |
| |
| #define | KV_SERIALIZE_OPT_N(variable, val_name, default_value) |
| |
| #define | KV_SERIALIZE_VAL_POD_AS_BLOB_FORCE_N(varialble, val_name) epee::serialization::selector<is_store>::serialize_t_val_as_blob(this_ref.varialble, stg, hparent_section, val_name); |
| |
| #define | KV_SERIALIZE_VAL_POD_AS_BLOB_N(variable, val_name) |
| |
| #define | KV_SERIALIZE_VAL_POD_AS_BLOB_OPT_N(variable, val_name, default_value) |
| |
| #define | KV_SERIALIZE_CONTAINER_POD_AS_BLOB_N(varialble, val_name) epee::serialization::selector<is_store>::serialize_stl_container_pod_val_as_blob(this_ref.varialble, stg, hparent_section, val_name); |
| |
| #define | END_KV_SERIALIZE_MAP() return true;} |
| |
| #define | KV_SERIALIZE(varialble) KV_SERIALIZE_N(varialble, #varialble) |
| |
| #define | KV_SERIALIZE_VAL_POD_AS_BLOB(varialble) KV_SERIALIZE_VAL_POD_AS_BLOB_N(varialble, #varialble) |
| |
| #define | KV_SERIALIZE_VAL_POD_AS_BLOB_OPT(varialble, def) KV_SERIALIZE_VAL_POD_AS_BLOB_OPT_N(varialble, #varialble, def) |
| |
| #define | KV_SERIALIZE_VAL_POD_AS_BLOB_FORCE(varialble) KV_SERIALIZE_VAL_POD_AS_BLOB_FORCE_N(varialble, #varialble) |
| |
| #define | KV_SERIALIZE_CONTAINER_POD_AS_BLOB(varialble) KV_SERIALIZE_CONTAINER_POD_AS_BLOB_N(varialble, #varialble) |
| |
| #define | KV_SERIALIZE_OPT(variable, default_value) KV_SERIALIZE_OPT_N(variable, #variable, default_value) |
| |
◆ BEGIN_KV_SERIALIZE_MAP
| #define BEGIN_KV_SERIALIZE_MAP |
( |
| ) |
|
◆ END_KV_SERIALIZE_MAP
| #define END_KV_SERIALIZE_MAP |
( |
| ) |
return true;} |
◆ KV_SERIALIZE
| #define KV_SERIALIZE |
( |
| varialble | ) |
KV_SERIALIZE_N(varialble, #varialble) |
◆ KV_SERIALIZE_CONTAINER_POD_AS_BLOB
◆ KV_SERIALIZE_CONTAINER_POD_AS_BLOB_N
| #define KV_SERIALIZE_CONTAINER_POD_AS_BLOB_N |
( |
| varialble, |
|
|
| val_name ) epee::serialization::selector<is_store>::serialize_stl_container_pod_val_as_blob(this_ref.varialble, stg, hparent_section, val_name); |
◆ KV_SERIALIZE_N
◆ KV_SERIALIZE_OPT
| #define KV_SERIALIZE_OPT |
( |
| variable, |
|
|
| default_value ) KV_SERIALIZE_OPT_N(variable, #variable, default_value) |
◆ KV_SERIALIZE_OPT_N
| #define KV_SERIALIZE_OPT_N |
( |
| variable, |
|
|
| val_name, |
|
|
| default_value ) |
Value: do { \
if (is_store && this_ref.variable == default_value) \
break; \
epee::serialize_default(this_ref.variable, default_value); \
} while (0);
Definition keyvalue_serialization_overloads.h:324
◆ KV_SERIALIZE_PARENT
| #define KV_SERIALIZE_PARENT |
( |
| type | ) |
|
Value: do { \
if (!((type*)this)->serialize_map<is_store, t_storage>(stg, hparent_section)) \
return false; \
} while(0);
◆ KV_SERIALIZE_VAL_POD_AS_BLOB
◆ KV_SERIALIZE_VAL_POD_AS_BLOB_FORCE
◆ KV_SERIALIZE_VAL_POD_AS_BLOB_FORCE_N
| #define KV_SERIALIZE_VAL_POD_AS_BLOB_FORCE_N |
( |
| varialble, |
|
|
| val_name ) epee::serialization::selector<is_store>::serialize_t_val_as_blob(this_ref.varialble, stg, hparent_section, val_name); |
◆ KV_SERIALIZE_VAL_POD_AS_BLOB_N
| #define KV_SERIALIZE_VAL_POD_AS_BLOB_N |
( |
| variable, |
|
|
| val_name ) |
Value: static_assert(std::is_trivially_copyable<decltype(this_ref.variable)>(), "t_type must be a trivially copyable type."); \
static_assert(std::is_standard_layout<decltype(this_ref.variable)>(), "t_type must be a standard layout type."); \
KV_SERIALIZE_VAL_POD_AS_BLOB_FORCE_N(variable, val_name)
◆ KV_SERIALIZE_VAL_POD_AS_BLOB_OPT
◆ KV_SERIALIZE_VAL_POD_AS_BLOB_OPT_N
| #define KV_SERIALIZE_VAL_POD_AS_BLOB_OPT_N |
( |
| variable, |
|
|
| val_name, |
|
|
| default_value ) |
Value: do { \
static_assert(std::is_trivially_copyable<decltype(this_ref.variable)>(), "t_type must be a trivially copyable type."); \
static_assert(std::is_standard_layout<decltype(this_ref.variable)>(), "t_type must be a standard layout type."); \
if (!ret) \
epee::serialize_default(this_ref.variable, default_value); \
} while(0);
#define KV_SERIALIZE_VAL_POD_AS_BLOB_FORCE_N(varialble, val_name)
Definition keyvalue_serialization.h:98
◆ MONERO_DEFAULT_LOG_CATEGORY
| #define MONERO_DEFAULT_LOG_CATEGORY "serialization" |