C++ Actor Framework 1.0.0
|
Serializes an inspectable object to a json_value. More...
#include <json_builder.hpp>
Public Types | |
using | super = serializer |
using | type = json_writer::type |
Public Types inherited from caf::serializer | |
using | super = save_inspector_base<serializer> |
Public Member Functions | |
json_builder (actor_system &sys) | |
json_builder (const json_builder &)=delete | |
json_builder & | operator= (const json_builder &)=delete |
bool | skip_empty_fields () const noexcept |
Returns whether the writer omits empty fields entirely (true) or renders empty fields as $field: null (false). | |
void | skip_empty_fields (bool value) noexcept |
Configures whether the writer omits empty fields. | |
bool | skip_object_type_annotation () const noexcept |
Returns whether the writer omits '@type' annotations for JSON objects. | |
void | skip_object_type_annotation (bool value) noexcept |
Configures whether the writer omits '@type' annotations for JSON objects. | |
std::string_view | field_type_suffix () const noexcept |
Returns the suffix for generating type annotation fields for variant fields. | |
void | field_type_suffix (std::string_view suffix) noexcept |
Configures whether the writer omits empty fields. | |
void | reset () |
Restores the writer to its initial state. | |
json_value | seal () |
Seals the JSON value, i.e., rendering it immutable, and returns it. | |
bool | begin_object (type_id_t type, std::string_view name) override |
Begins processing of an object. | |
bool | end_object () override |
Ends processing of an object. | |
bool | begin_field (std::string_view) override |
bool | begin_field (std::string_view name, bool is_present) override |
bool | begin_field (std::string_view name, span< const type_id_t > types, size_t index) override |
bool | begin_field (std::string_view name, bool is_present, span< const type_id_t > types, size_t index) override |
bool | end_field () override |
bool | begin_tuple (size_t size) override |
Begins processing of a tuple. | |
bool | end_tuple () override |
Ends processing of a tuple. | |
bool | begin_key_value_pair () override |
Begins processing of a tuple with two elements, whereas the first element represents the key in an associative array. | |
bool | end_key_value_pair () override |
Ends processing of a key-value pair after both values were written. | |
bool | begin_sequence (size_t size) override |
Begins processing of a sequence. Saves the size to the underlying storage. | |
bool | end_sequence () override |
Ends processing of a sequence. | |
bool | begin_associative_array (size_t size) override |
Begins processing of an associative array (map). | |
bool | end_associative_array () override |
Ends processing of an associative array (map). | |
bool | value (std::byte x) override |
Adds x to the output. | |
bool | value (bool x) override |
Adds x to the output. | |
bool | value (int8_t x) override |
Adds x to the output. | |
bool | value (uint8_t x) override |
Adds x to the output. | |
bool | value (int16_t x) override |
Adds x to the output. | |
bool | value (uint16_t x) override |
Adds x to the output. | |
bool | value (int32_t x) override |
Adds x to the output. | |
bool | value (uint32_t x) override |
Adds x to the output. | |
bool | value (int64_t x) override |
Adds x to the output. | |
bool | value (uint64_t x) override |
Adds x to the output. | |
bool | value (float x) override |
Adds x to the output. | |
bool | value (double x) override |
Adds x to the output. | |
bool | value (long double x) override |
Adds x to the output. | |
bool | value (std::string_view x) override |
Adds x to the output. | |
bool | value (const std::u16string &x) override |
Adds x to the output. | |
bool | value (const std::u32string &x) override |
Adds x to the output. | |
bool | value (span< const std::byte > x) override |
Adds x as raw byte block to the output. | |
Public Member Functions inherited from caf::serializer | |
serializer (actor_system &sys) noexcept | |
actor_system * | context () const noexcept |
bool | has_human_readable_format () const noexcept |
template<class T > | |
std::enable_if_t< std::is_integral_v< T >, bool > | value (T x) |
Adds x to the output. | |
virtual bool | list (const std::vector< bool > &xs) |
Adds each boolean in xs to the output. | |
Additional Inherited Members | |
Protected Attributes inherited from caf::serializer | |
actor_system * | context_ = nullptr |
Provides access to the proxy_registry and to the actor_system. | |
bool | has_human_readable_format_ = false |
Configures whether client code should assume human-readable output. | |
Serializes an inspectable object to a json_value.
|
overridevirtual |
Begins processing of an associative array (map).
begin_sequence(size)
. Reimplemented from caf::serializer.
|
overridevirtual |
Implements caf::serializer.
|
overridevirtual |
Implements caf::serializer.
|
overridevirtual |
Implements caf::serializer.
|
overridevirtual |
Implements caf::serializer.
|
overridevirtual |
Begins processing of a tuple with two elements, whereas the first element represents the key in an associative array.
begin_tuple(2)
. Reimplemented from caf::serializer.
|
overridevirtual |
Begins processing of an object.
May save the type information to the underlying storage to allow a deserializer to retrieve and check the type information for data formats that provide deserialization.
Implements caf::serializer.
|
overridevirtual |
Begins processing of a sequence. Saves the size to the underlying storage.
Implements caf::serializer.
|
overridevirtual |
Begins processing of a tuple.
Implements caf::serializer.
|
overridevirtual |
Ends processing of an associative array (map).
end_sequence()
. Reimplemented from caf::serializer.
|
overridevirtual |
Implements caf::serializer.
|
overridevirtual |
Ends processing of a key-value pair after both values were written.
end_tuple()
. Reimplemented from caf::serializer.
|
overridevirtual |
Ends processing of an object.
Implements caf::serializer.
|
overridevirtual |
Ends processing of a sequence.
Implements caf::serializer.
|
overridevirtual |
Ends processing of a tuple.
Implements caf::serializer.
|
nodiscardnoexcept |
Returns the suffix for generating type annotation fields for variant fields.
For example, CAF inserts field called "@foo${field_type_suffix}" for a variant field called "foo".
json_value caf::json_builder::seal | ( | ) |
Seals the JSON value, i.e., rendering it immutable, and returns it.
After calling this member function, the json_builder is in a moved-from state and users may only call reset
to start a new building process or destroy this instance.
|
overridevirtual |
Adds x
to the output.
x | A value for a builtin type. |
true
on success, false
otherwise. Implements caf::serializer.
|
overridevirtual |
Adds x
to the output.
x | A value for a builtin type. |
true
on success, false
otherwise. Implements caf::serializer.
|
overridevirtual |
Adds x
to the output.
x | A value for a builtin type. |
true
on success, false
otherwise. Implements caf::serializer.
|
overridevirtual |
Adds x
to the output.
x | A value for a builtin type. |
true
on success, false
otherwise. Implements caf::serializer.
|
overridevirtual |
Adds x
to the output.
x | A value for a builtin type. |
true
on success, false
otherwise. Implements caf::serializer.
|
overridevirtual |
Adds x
to the output.
x | A value for a builtin type. |
true
on success, false
otherwise. Implements caf::serializer.
|
overridevirtual |
Adds x
to the output.
x | A value for a builtin type. |
true
on success, false
otherwise. Implements caf::serializer.
|
overridevirtual |
Adds x
to the output.
x | A value for a builtin type. |
true
on success, false
otherwise. Implements caf::serializer.
|
overridevirtual |
Adds x
to the output.
x | A value for a builtin type. |
true
on success, false
otherwise. Implements caf::serializer.
|
overridevirtual |
Adds x
to the output.
x | A value for a builtin type. |
true
on success, false
otherwise. Implements caf::serializer.
|
overridevirtual |
Adds x
as raw byte block to the output.
x | The byte sequence. |
sec::success
otherwise. Implements caf::serializer.
|
overridevirtual |
Adds x
to the output.
x | A value for a builtin type. |
true
on success, false
otherwise. Implements caf::serializer.
|
overridevirtual |
Adds x
to the output.
x | A value for a builtin type. |
true
on success, false
otherwise. Implements caf::serializer.
|
overridevirtual |
Adds x
to the output.
x | A value for a builtin type. |
true
on success, false
otherwise. Implements caf::serializer.
|
overridevirtual |
Adds x
to the output.
x | A value for a builtin type. |
true
on success, false
otherwise. Implements caf::serializer.
|
overridevirtual |
Adds x
to the output.
x | A value for a builtin type. |
true
on success, false
otherwise. Implements caf::serializer.
|
overridevirtual |
Adds x
to the output.
x | A value for a builtin type. |
true
on success, false
otherwise. Implements caf::serializer.