#include <di/serialization/deserialize.h>
|
template<concepts::Deserializer D, typename T, typename F = meta::DeserializationFormat<D>>
requires (concepts::TagInvocable<DeserializeInPlaceFunction, F, D&, InPlaceType<T>> || requires(D&& deserializer) { deserializer.deserialize(in_place_type<T>); }) |
constexpr auto | operator() (D &&deserializer, InPlaceType< T >) const -> meta::DeserializeResult< D, T > |
|
template<concepts::Deserializer D, typename T, typename M = meta::DeserializeMetadata<meta::DeserializationFormat<D>, T>>
requires (!(concepts::TagInvocable<DeserializeInPlaceFunction, D&, InPlaceType<T>> || requires(D&& deserializer) { deserializer.deserialize(in_place_type<T>); }) && (concepts::TagInvocable<DeserializeInPlaceFunction, D&, InPlaceType<T>, M> || requires(D&& deserializer) { deserializer.deserialize(in_place_type<T>, M {}); })) |
constexpr auto | operator() (D &&deserializer, InPlaceType< T >) const -> meta::DeserializeResult< D, T > |
|
template<typename Format, concepts::Impl< io::Reader > Reader, typename T, typename... Args>
requires (concepts::DeserializationFormat<Format, Reader, Args...>) (requires { (*this)(serialization::deserializer(format, util::forward<Reader>(reader)), in_place_type<T>, util::forward<Args>(args)...); }) |
constexpr auto | operator() (Format format, Reader &&reader, InPlaceType< T >, Args &&... args) const |
|
◆ operator()() [1/3]
◆ operator()() [2/3]
◆ operator()() [3/3]
auto di::serialization::detail::DeserializeInPlaceFunction::operator() |
( |
Format | format, |
|
|
Reader && | reader, |
|
|
InPlaceType< T > | , |
|
|
Args &&... | args ) const |
|
inlineconstexpr |
The documentation for this struct was generated from the following file: