SUNphi
1.0
|
Container mapping a sequence. More...
#include <cstddef>
#include <metaprogramming/TypeTraits.hpp>
#include <serialize/Binarize.hpp>
#include <serialize/Default.hpp>
#include <tuple/TupleElements.hpp>
Go to the source code of this file.
Classes | |
class | SUNphi::SerializableSequence< S > |
Macros | |
#define | SERIALIZABLE_SEQUENCE_WITH_TAG(CONTAINER, NAME, TAG, ...) |
Create a serializable sequence with a given tag. More... | |
#define | SERIALIZABLE_SEQUENCE(CONTAINER, NAME, ...) SERIALIZABLE_SEQUENCE_WITH_TAG(CONTAINER,NAME,#NAME,__VA_ARGS__) |
Create a serializable sequence. | |
#define | SERIALIZABLE_VECTOR_WITH_TAG(TYPE, NAME, TAG, ...) SERIALIZABLE_SEQUENCE_WITH_TAG(std::vector<TYPE>,NAME,TAG,__VA_ARGS__) |
Create a serializable vector with a given tag. | |
#define | SERIALIZABLE_VECTOR(TYPE, NAME, ...) SERIALIZABLE_VECTOR_WITH_TAG(TYPE,NAME,#NAME,__VA_ARGS__) |
Create a serializable vector. | |
#define | SERIALIZABLE_PAIR_WITH_TAG(TYPE1, TYPE2, NAME, TAG, ...) |
Create a serializable pair with a given tag. More... | |
#define | SERIALIZABLE_PAIR(TYPE1, TYPE2, NAME, ...) SERIALIZABLE_PAIR_WITH_TAG(TYPE1,TYPE2,NAME,#NAME,__VA_ARGS__) |
Create a serializable pair. | |
Typedefs | |
template<typename T , typename Ret = void> | |
using | SUNphi::EnableIfIsSerializableSequence = EnableIf< isSerializableSequence< T >,Ret > |
Functions | |
template<typename T > | |
constexpr bool | SUNphi::_isSerializableSequence (const T *) |
template<typename... Ts> | |
constexpr bool | SUNphi::_isSerializableSequence (const SerializableSequence< Ts... > *) |
Variables | |
template<typename T > | |
constexpr bool | SUNphi::isSerializableSequence = _isSerializableSequence ((RemRef<T>*)nullptr) |
Container mapping a sequence.
A Serializable container contains a begin, end and size methods, as an STL container
Definition in file Sequence.hpp.
#define SERIALIZABLE_PAIR_WITH_TAG | ( | TYPE1, | |
TYPE2, | |||
NAME, | |||
TAG, | |||
... | |||
) |
Create a serializable pair with a given tag.
Definition at line 172 of file Sequence.hpp.
#define SERIALIZABLE_SEQUENCE_WITH_TAG | ( | CONTAINER, | |
NAME, | |||
TAG, | |||
... | |||
) |
Create a serializable sequence with a given tag.
Definition at line 145 of file Sequence.hpp.
using SUNphi::EnableIfIsSerializableSequence = typedef EnableIf< isSerializableSequence <T> ,Ret> |
Provides the class itself if T is of the given type
Provides the class itself if T satisfies the condition
Definition at line 187 of file Sequence.hpp.
constexpr bool SUNphi::_isSerializableSequence | ( | const T * | ) |
Check if the class is a SerializableSequence
False case
Definition at line 187 of file Sequence.hpp.
constexpr bool SUNphi::_isSerializableSequence | ( | const SerializableSequence< Ts... > * | ) |
constexpr bool SUNphi::isSerializableSequence = _isSerializableSequence ((RemRef<T>*)nullptr) |
Check if the class is a SerializableSequence
Calls the internal implementation
Definition at line 187 of file Sequence.hpp.