ECSTASY
All in the name
Loading...
Searching...
No Matches
ecstasy::serialization::traits Namespace Reference

Namespace regrouping the serialization ecstasy type traits. More...

Classes

struct  can_load_type
 Concept to check if a type can be updated with a serializer. More...
 
struct  can_load_type< S, T, std::void_t< decltype(std::declval< S & >().template load< T >())> >
 Concept to check if a type can be updated with a serializer. More...
 
struct  can_save_type
 Concept to check if a type can be saved with a serializer. More...
 
struct  can_save_type< S, T, std::void_t< decltype(std::declval< S & >().save(std::declval< const T & >()))> >
 Concept to check if a type can be saved with a serializer. More...
 
struct  can_update_type
 Concept to check if a type can be updated with a serializer. More...
 
struct  can_update_type< S, T, std::void_t< decltype(std::declval< S & >().update(std::declval< T & >()))> >
 Concept to check if a type can be updated with a serializer. More...
 
struct  has_load_impl_for_type
 Concept to check if a serializer has a specific load implementation for a type. More...
 
struct  has_load_impl_for_type< S, T, std::void_t< decltype(std::declval< S & >().template loadImpl< T >())> >
 Concept to check if a serializer has a specific load implementation for a type. More...
 
struct  has_save_impl_for_type
 Concept to check if a serializer has a specific save implementation for a type. More...
 
struct  has_save_impl_for_type< S, T, std::void_t< decltype(std::declval< S & >().saveImpl(std::declval< const T & >()))> >
 Concept to check if a serializer has a specific save implementation for a type. More...
 
struct  has_update_impl_for_type
 Concept to check if a serializer has a specific update implementation for a type. More...
 
struct  has_update_impl_for_type< S, T, std::void_t< decltype(std::declval< S & >().updateImpl(std::declval< T & >()))> >
 Concept to check if a serializer has a specific update implementation for a type. More...
 

Variables

template<concepts::is_serializer S, typename C >
bool constexpr can_load_type_v = can_load_type<S, C>::value
 Alias for can_load_type "can_load_type<S, C>::value".
 
template<typename S , typename C >
bool constexpr has_load_impl_for_type_v = has_load_impl_for_type<S, C>::value
 Alias for has_load_impl_for_type<S, C>::value.
 
template<concepts::is_serializer S, typename C >
bool constexpr can_save_type_v = can_save_type<S, C>::value
 Alias for can_save_type<S, C>::value.
 
template<typename S , typename C >
bool constexpr has_save_impl_for_type_v = has_save_impl_for_type<S, C>::value
 Alias for has_save_impl_for_type<S, C>::value.
 
template<concepts::is_serializer S, typename C >
bool constexpr can_update_type_v = can_update_type<S, C>::value
 Alias for can_update_type<S, C>::value.
 
template<typename S , typename C >
bool constexpr has_update_impl_for_type_v = has_update_impl_for_type<S, C>::value
 Alias for has_update_impl_for_typ<S, C>::value.
 

Detailed Description

Namespace regrouping the serialization ecstasy type traits.

Author
Andréas Leroux (andre.nosp@m.as.l.nosp@m.eroux.nosp@m.@epi.nosp@m.tech..nosp@m.eu)
Since
1.0.0 (2024-04-29)

Variable Documentation

◆ can_load_type_v

template<concepts::is_serializer S, typename C >
bool constexpr ecstasy::serialization::traits::can_load_type_v = can_load_type<S, C>::value
constexpr

Alias for can_load_type "can_load_type<S, C>::value".

Template Parameters
SSerializer type.
CComponent type.
Author
Andréas Leroux (andre.nosp@m.as.l.nosp@m.eroux.nosp@m.@epi.nosp@m.tech..nosp@m.eu)
Since
1.0.0 (2024-06-11)

Definition at line 49 of file can_load_type.hpp.

◆ can_save_type_v

template<concepts::is_serializer S, typename C >
bool constexpr ecstasy::serialization::traits::can_save_type_v = can_save_type<S, C>::value
constexpr

Alias for can_save_type<S, C>::value.

Template Parameters
SSerializer type.
CComponent type.
Author
Andréas Leroux (andre.nosp@m.as.l.nosp@m.eroux.nosp@m.@epi.nosp@m.tech..nosp@m.eu)
Since
1.0.0 (2024-06-11)

Definition at line 49 of file can_save_type.hpp.

◆ can_update_type_v

template<concepts::is_serializer S, typename C >
bool constexpr ecstasy::serialization::traits::can_update_type_v = can_update_type<S, C>::value
constexpr

Alias for can_update_type<S, C>::value.

Template Parameters
SSerializer type.
CComponent type.
Author
Andréas Leroux (andre.nosp@m.as.l.nosp@m.eroux.nosp@m.@epi.nosp@m.tech..nosp@m.eu)
Since
1.0.0 (2024-06-11)

Definition at line 49 of file can_update_type.hpp.

◆ has_load_impl_for_type_v

template<typename S , typename C >
bool constexpr ecstasy::serialization::traits::has_load_impl_for_type_v = has_load_impl_for_type<S, C>::value
constexpr

Alias for has_load_impl_for_type<S, C>::value.

Template Parameters
SSerializer type.
CComponent type.
Author
Andréas Leroux (andre.nosp@m.as.l.nosp@m.eroux.nosp@m.@epi.nosp@m.tech..nosp@m.eu)
Since
1.0.0 (2024-06-11)

Definition at line 79 of file can_load_type.hpp.

◆ has_save_impl_for_type_v

template<typename S , typename C >
bool constexpr ecstasy::serialization::traits::has_save_impl_for_type_v = has_save_impl_for_type<S, C>::value
constexpr

Alias for has_save_impl_for_type<S, C>::value.

Template Parameters
SSerializer type.
CComponent type.
Author
Andréas Leroux (andre.nosp@m.as.l.nosp@m.eroux.nosp@m.@epi.nosp@m.tech..nosp@m.eu)
Since
1.0.0 (2024-06-11)

Definition at line 79 of file can_save_type.hpp.

◆ has_update_impl_for_type_v

template<typename S , typename C >
bool constexpr ecstasy::serialization::traits::has_update_impl_for_type_v = has_update_impl_for_type<S, C>::value
constexpr

Alias for has_update_impl_for_typ<S, C>::value.

Template Parameters
SSerializer type.
CComponent type.
Author
Andréas Leroux (andre.nosp@m.as.l.nosp@m.eroux.nosp@m.@epi.nosp@m.tech..nosp@m.eu)
Since
1.0.0 (2024-06-11)

Definition at line 78 of file can_update_type.hpp.