nfx-serialization 0.9.3
Cross-platform C++ JSON serialization library with extensible trait capabilities
Loading...
Searching...
No Matches
Concepts.h File Reference

Type traits for JSON serialization. More...

#include <nfx/json/Document.h>
#include <type_traits>
Include dependency graph for Concepts.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  nfx::serialization::json::detail::has_serialization_traits< T, typename >
 Detect if a type has a custom SerializationTraits specialization. More...
struct  nfx::serialization::json::detail::has_serialization_traits< T, std::void_t< decltype(SerializationTraits< std::decay_t< T > >::toDocument(std::declval< const std::decay_t< T > & >(), std::declval< Document & >()))> >
struct  nfx::serialization::json::detail::is_nfx_extension_type< T >
 Identifies types from nfx:: namespaces that have SerializationTraits. More...

Concepts

concept  nfx::serialization::json::StlSerializable
 Concept for STL types that use Serializer<T>.
concept  nfx::serialization::json::NfxSerializable
 Concept for nfx extension types that use SerializationTraits<T>.

Variables

template<typename T>
constexpr bool nfx::serialization::json::detail::has_serialization_traits_v = has_serialization_traits<T>::value
 Helper variable template for has_serialization_traits.
template<typename T>
constexpr bool nfx::serialization::json::detail::is_nfx_extension_type_v = is_nfx_extension_type<std::decay_t<T>>::value
 Helper variable template for is_nfx_extension_type.

Detailed Description

Type traits for JSON serialization.

Defines type traits to detect SerializationTraits specializations and identify nfx extension types for proper template overload resolution.

Definition in file Concepts.h.

Variable Documentation

◆ has_serialization_traits_v

template<typename T>
bool nfx::serialization::json::detail::has_serialization_traits_v = has_serialization_traits<T>::value
inlineconstexpr

Helper variable template for has_serialization_traits.

Definition at line 95 of file Concepts.h.

◆ is_nfx_extension_type_v

template<typename T>
bool nfx::serialization::json::detail::is_nfx_extension_type_v = is_nfx_extension_type<std::decay_t<T>>::value
inlineconstexpr

Helper variable template for is_nfx_extension_type.

Definition at line 122 of file Concepts.h.