|
template<typename T>
requires (concepts::ConstructibleFrom<Writer, T>) |
constexpr | JsonSerializer (T &&writer, JsonSerializerConfig config={}) |
|
constexpr auto | serialize_null () -> meta::WriterResult< void, Writer > |
|
constexpr auto | serialize_bool (bool value) -> meta::WriterResult< void, Writer > |
|
constexpr auto | serialize_string (container::StringView view) -> meta::WriterResult< void, Writer > |
|
constexpr auto | serialize_number (concepts::Integral auto number) -> meta::WriterResult< void, Writer > |
|
template<concepts::InvocableTo< meta::WriterResult< void, Writer >, JsonSerializer & > F> |
constexpr auto | serialize_array (F &&function) -> meta::WriterResult< void, Writer > |
|
template<concepts::InvocableTo< meta::WriterResult< void, Writer >, ObjectSerializerProxy & > F> |
constexpr auto | serialize_object (F &&function) -> meta::WriterResult< void, Writer > |
|
template<typename T, concepts::InstanceOf< reflection::Fields > M> |
constexpr auto | serialize (T &&value, M) -> meta::WriterResult< void, Writer > |
|
template<typename T, concepts::InstanceOf< reflection::Enumerators > M> |
constexpr auto | serialize (T value, M) -> meta::WriterResult< void, Writer > |
|
template<typename T, concepts::InstanceOf< reflection::Atom > M>
requires (M::is_bool() || M::is_string() || M::is_integer()) |
constexpr auto | serialize (T &&value, M) -> meta::WriterResult< void, Writer > |
|
template<typename T, concepts::InstanceOf< reflection::Atom > M>
requires (M::is_list() && concepts::Serializable<meta::ContainerReference<T>, JsonSerializer>) |
constexpr auto | serialize (T &&value, M) -> meta::WriterResult< void, Writer > |
|
template<typename T, concepts::InstanceOf< reflection::Atom > M>
requires (M::is_map() && concepts::detail::ConstantString<meta::TupleElement<meta::ContainerValue<T>, 0>> && concepts::Serializable<meta::TupleValue<decltype(util::declval<meta::ContainerReference<T>>()), 1>, JsonSerializer>) |
constexpr auto | serialize (T &&value, M) -> meta::WriterResult< void, Writer > |
|
constexpr auto | writer () &-> Writer & |
|
constexpr auto | writer () const &-> Writer const & |
|
constexpr auto | writer () &&-> Writer && |
|