34#include <nfx/json/Document.h>
37namespace nfx::serialization::json
43 using nfx::json::Document;
44 using nfx::json::Array;
45 using nfx::json::Object;
46 using nfx::json::Type;
49 using nfx::json::is_json_container_v;
69 using nfx::json::Document;
78 template <
typename T,
typename =
void>
86 std::void_t<decltype( SerializationTraits<std::decay_t<T>>::toDocument(
87 std::declval<const std::decay_t<T>&>(), std::declval<Document&>() ) )>> : std::true_type
113 template <
typename T>
121 template <
typename T>
136 template <
typename T>
139 !std::is_base_of_v<nfx::json::Document, std::remove_cvref_t<T>>;
147 template <
typename T>
150 !std::is_base_of_v<nfx::json::Document, std::remove_cvref_t<T>>;
constexpr bool is_nfx_extension_type_v
Helper variable template for is_nfx_extension_type.
constexpr bool has_serialization_traits_v
Helper variable template for has_serialization_traits.
Serialization traits template (forward declaration).
Detect if a type has a custom SerializationTraits specialization.
Identifies types from nfx:: namespaces that have SerializationTraits.
Concept for STL types that use Serializer<T>.
Concept for nfx extension types that use SerializationTraits<T>.