#include "di/function/tag_invoke.h"
#include "di/io/interface/reader.h"
#include "di/meta/core.h"
#include "di/reflect/reflect.h"
#include "di/serialization/serialize.h"
Go to the source code of this file.
Namespaces | |
namespace | di |
namespace | di::concepts |
namespace | di::meta |
namespace | di::serialization |
namespace | di::serialization::detail |
Concepts | |
concept | di::concepts::Deserializer |
concept | di::concepts::DeserializationFormat |
concept | di::concepts::Deserializable |
Typedefs | |
template<concepts::Deserializer S> | |
using | di::meta::DeserializationFormat = typename meta::RemoveCVRef<S>::DeserializationFormat |
template<typename T, typename Reader = any::AnyRef<io::Reader>, typename... Args> | |
using | di::meta::Deserializer |
template<typename S, typename T> | |
using | di::meta::DeserializeResult = meta::LikeExpected<meta::ReaderResult<void, decltype(util::declval<S>().reader())>, T> |
template<concepts::DeserializationFormat S, typename T> | |
using | di::meta::DeserializeMetadata = decltype(serialization::deserialize_metadata(in_place_type<T>, in_place_type<S>)) |
template<concepts::DeserializationFormat S, typename T> | |
using | di::DeserializeMetadata |
template<typename S, typename T> | |
using | di::DeserializeResult |
Variables | |
constexpr auto | di::serialization::deserializer = detail::DeserializerFunction {} |
constexpr auto | di::serialization::deserialize_metadata = detail::DeserializeMetadataFunction {} |
constexpr auto | di::serialization::deserialize_in_place = detail::DeserializeInPlaceFunction {} |
constexpr auto | di::serialization::deserializable = detail::DeserializableFunction {} |
template<typename T> | |
constexpr auto | di::serialization::deserialize = detail::DeserializeFunction<meta::RemoveCVRef<T>> {} |
template<typename T> | |
constexpr auto | di::deserialize |
constexpr auto | di::deserialize_in_place |
constexpr auto | di::deserializer |