#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) |
| #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) |
| #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) |
| #define | END_KV_SERIALIZE_MAP() |
| #define | KV_SERIALIZE(varialble) |
| #define | KV_SERIALIZE_VAL_POD_AS_BLOB(varialble) |
| #define | KV_SERIALIZE_VAL_POD_AS_BLOB_OPT(varialble, def) |
| #define | KV_SERIALIZE_VAL_POD_AS_BLOB_FORCE(varialble) |
| #define | KV_SERIALIZE_CONTAINER_POD_AS_BLOB(varialble) |
| #define | KV_SERIALIZE_OPT(variable, default_value) |
◆ BEGIN_KV_SERIALIZE_MAP
| #define BEGIN_KV_SERIALIZE_MAP |
( |
| ) |
|
◆ END_KV_SERIALIZE_MAP
| #define END_KV_SERIALIZE_MAP |
( |
| ) |
|
◆ KV_SERIALIZE
| #define KV_SERIALIZE |
( |
| varialble | ) |
|
Value:
#define KV_SERIALIZE_N(varialble, val_name)
Definition keyvalue_serialization.h:78
◆ KV_SERIALIZE_CONTAINER_POD_AS_BLOB
| #define KV_SERIALIZE_CONTAINER_POD_AS_BLOB |
( |
| varialble | ) |
|
Value:
#define KV_SERIALIZE_CONTAINER_POD_AS_BLOB_N(varialble, val_name)
Definition keyvalue_serialization.h:115
◆ KV_SERIALIZE_CONTAINER_POD_AS_BLOB_N
| #define KV_SERIALIZE_CONTAINER_POD_AS_BLOB_N |
( |
| varialble, |
|
|
| val_name ) |
Value:
Definition keyvalue_serialization_overloads.h:324
◆ KV_SERIALIZE_N
| #define KV_SERIALIZE_N |
( |
| varialble, |
|
|
| val_name ) |
◆ KV_SERIALIZE_OPT
| #define KV_SERIALIZE_OPT |
( |
| variable, |
|
|
| default_value ) |
Value:
#define KV_SERIALIZE_OPT_N(variable, val_name, default_value)
Definition keyvalue_serialization.h:90
◆ 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);
◆ 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
| #define KV_SERIALIZE_VAL_POD_AS_BLOB |
( |
| varialble | ) |
|
Value:
#define KV_SERIALIZE_VAL_POD_AS_BLOB_N(variable, val_name)
Definition keyvalue_serialization.h:101
◆ KV_SERIALIZE_VAL_POD_AS_BLOB_FORCE
| #define KV_SERIALIZE_VAL_POD_AS_BLOB_FORCE |
( |
| varialble | ) |
|
Value:
#define KV_SERIALIZE_VAL_POD_AS_BLOB_FORCE_N(varialble, val_name)
Definition keyvalue_serialization.h:98
◆ KV_SERIALIZE_VAL_POD_AS_BLOB_FORCE_N
| #define KV_SERIALIZE_VAL_POD_AS_BLOB_FORCE_N |
( |
| varialble, |
|
|
| 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
| #define KV_SERIALIZE_VAL_POD_AS_BLOB_OPT |
( |
| varialble, |
|
|
| def ) |
Value:
#define KV_SERIALIZE_VAL_POD_AS_BLOB_OPT_N(variable, val_name, default_value)
Definition keyvalue_serialization.h:106
◆ 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);
◆ MONERO_DEFAULT_LOG_CATEGORY
| #define MONERO_DEFAULT_LOG_CATEGORY "serialization" |