SUNphi  1.0
Map.hpp File Reference

Creates a list of a set of serializable scalars. More...

#include <yaml-cpp/yaml.h>
#include <metaprogramming/CRTP.hpp>
#include <serialize/Base.hpp>
#include <serialize/Serializable.hpp>
#include <tuple/TupleClass.hpp>
#include <ios/Logger.hpp>

Go to the source code of this file.

Classes

class  SUNphi::SerializableClass< T >
 Provides serialization features to a class. More...
 

Macros

#define CONST_OR_NOT_SERIALIZABLE_MEMBERS(CONST, ...)
 Provides the class embedding with a serializableMemebers method. More...
 
#define DEFINE_SERIALIZABLE_CLASS(T)
 Shortcut to define a serializable class. More...
 
#define SERIALIZABLE_CLASS(TYPE, NAME)   Serializable<TYPE> NAME{#NAME}
 Defines a serializable class.
 
#define LIST_SERIALIZABLE_MEMBERS(...)
 Defines a list of serializable members. More...
 

Functions

template<typename... Ts>
auto SUNphi::_serializableMembers (Ts &&...ts)
 Helper function to create the serializable members. More...
 

Detailed Description

Creates a list of a set of serializable scalars.

The list is a tuple, which can be added as a member to a class, to make the class itself serializable

Definition in file Map.hpp.

Macro Definition Documentation

#define CONST_OR_NOT_SERIALIZABLE_MEMBERS (   CONST,
  ... 
)
Value:
\
auto serializableMembers() \
CONST \
{ \
return \
std::forward_as_tuple(__VA_ARGS__); \
}

Provides the class embedding with a serializableMemebers method.

Definition at line 34 of file Map.hpp.

#define DEFINE_SERIALIZABLE_CLASS (   T)
Value:
class T : \
public SerializableClass<T>
Tens< Tk, double > T
Tensor class of the expression.
Definition: RelBind.hpp:263

Shortcut to define a serializable class.

Definition at line 194 of file Map.hpp.

#define LIST_SERIALIZABLE_MEMBERS (   ...)
Value:
#define CONST_OR_NOT_SERIALIZABLE_MEMBERS(CONST,...)
Provides the class embedding with a serializableMemebers method.
Definition: Map.hpp:34

Defines a list of serializable members.

Definition at line 203 of file Map.hpp.

Function Documentation

template<typename... Ts>
auto SUNphi::_serializableMembers ( Ts &&...  ts)

Helper function to create the serializable members.

Check that all arguments are SerializableScalar

Definition at line 24 of file Map.hpp.