OXY API 1.0
OXY API Library Documentation
Loading...
Searching...
No Matches
type_io.hpp File Reference

JSON serialization and deserialization for core types. More...

Namespaces

namespace  oxy
 This root namespace contains the common types and operations for the OXY-API library.

Functions

auto oxy::tag_invoke (boost::json::value_from_tag, boost::json::value &jv, category_t const &item) -> void
 Converts a category_t object to its string representation.
auto oxy::tag_invoke (boost::json::value_from_tag, boost::json::value &jv, commit_t const &item) -> void
 Converts a commit_t object to its string representation.
auto oxy::tag_invoke (boost::json::value_from_tag, boost::json::value &jv, contents_t const &item) -> void
 Overload customization point for serializing a contents_t object into a JSON type.
auto oxy::tag_invoke (boost::json::value_from_tag, boost::json::value &jv, entry_t const &item) -> void
 Converts a entry_t object to its string representation.
auto oxy::tag_invoke (boost::json::value_from_tag, boost::json::value &jv, eType const &item) -> void
 Overload customization point for serializing an eType object into a JSON type.
void oxy::tag_invoke (boost::json::value_from_tag, boost::json::value &jv, manifest_t const &item)
 Converts a manifest object to a Boost.JSON value using tag_invoke customization point.
auto oxy::tag_invoke (boost::json::value_from_tag, boost::json::value &jv, metadata_t const &item) -> void
 Converts a metadata_t object to its string representation.
auto oxy::tag_invoke (boost::json::value_from_tag, boost::json::value &jv, mime_t const &item) -> void
 Converts a mime_t object to its string representation.
auto oxy::tag_invoke (boost::json::value_from_tag, boost::json::value &jv, object_t const &item) -> void
 Overload customization point for serializing an object_t instance into a JSON type.
auto oxy::tag_invoke (boost::json::value_from_tag, boost::json::value &jv, oid_t const &item) -> void
 Overload customization point for serializing a oid_t object into a JSON type.
auto oxy::tag_invoke (boost::json::value_from_tag, boost::json::value &jv, record_t const &item) -> void
 Converts a record_t object to its string representation.
auto oxy::tag_invoke (boost::json::value_from_tag, boost::json::value &jv, signature_t const &item) -> void
 Converts a contents_t object to its string representation.
void oxy::tag_invoke (boost::json::value_from_tag, boost::json::value &jv, stream_t const &item)
 Converts a stream object to a Boost.JSON value using tag_invoke customization point.
auto oxy::tag_invoke (boost::json::value_from_tag, boost::json::value &jv, tag_t const &item) -> void
 Converts a tag_t object to its string representation.
auto oxy::tag_invoke (boost::json::value_from_tag, boost::json::value &jv, timestamp_t const &item) -> void
 Overload customization point for serializing a timestamp_t object into a JSON type.
auto oxy::tag_invoke (const boost::json::value_to_tag< category_t > &, boost::json::value const &jv) -> category_t
 Converts a Boost.JSON value to a category_t object by extracting and parsing the JSON string value.
auto oxy::tag_invoke (const boost::json::value_to_tag< commit_t > &, boost::json::value const &jv) -> commit_t
 Converts a Boost.JSON value to a commit_t object by extracting and parsing the JSON string value.
auto oxy::tag_invoke (const boost::json::value_to_tag< contents_t > &, boost::json::value const &jv) -> contents_t
 Converts a Boost.JSON value to a contents_t object by extracting and parsing the JSON string value.
auto oxy::tag_invoke (const boost::json::value_to_tag< entry_t > &, boost::json::value const &jv) -> entry_t
 Converts a Boost.JSON value to a entry_t object by extracting and parsing the JSON string value.
auto oxy::tag_invoke (const boost::json::value_to_tag< eType > &, boost::json::value const &jv) -> eType
 Converts a JSON value to an eType object by extracting its string representation.
manifest_t oxy::tag_invoke (const boost::json::value_to_tag< manifest_t > &, boost::json::value const &jv)
 Converts a Boost.JSON value to a manifest_t object using tag_invoke customization point.
auto oxy::tag_invoke (const boost::json::value_to_tag< metadata_t > &, boost::json::value const &jv) -> metadata_t
 Converts a Boost.JSON value to a metadata_t object by extracting and parsing the JSON string value.
auto oxy::tag_invoke (const boost::json::value_to_tag< mime_t > &, boost::json::value const &jv) -> mime_t
 Converts a Boost.JSON value to a mime_t object by extracting and parsing the JSON string value.
auto oxy::tag_invoke (const boost::json::value_to_tag< object_t > &, boost::json::value const &jv) -> object_t
 Converts a JSON value to an object_t instance by extracting its id and type\ members.
auto oxy::tag_invoke (const boost::json::value_to_tag< record_t > &, boost::json::value const &jv) -> record_t
 Converts a Boost.JSON value to a record_t object by extracting and parsing the JSON string value.
auto oxy::tag_invoke (const boost::json::value_to_tag< signature_t > &, boost::json::value const &jv) -> signature_t
 Converts a Boost.JSON value to a signature_t object by extracting and parsing the JSON string value.
stream_t oxy::tag_invoke (const boost::json::value_to_tag< stream_t > &, boost::json::value const &jv)
 Converts a Boost.JSON value to a stream_t object using tag_invoke customization point.
auto oxy::tag_invoke (const boost::json::value_to_tag< tag_t > &, boost::json::value const &jv) -> tag_t
 Converts a Boost.JSON value to a tag_t object by extracting and parsing the JSON string value.
auto oxy::tag_invoke (const boost::json::value_to_tag< timestamp_t > &, boost::json::value const &jv) -> timestamp_t
 Converts a Boost.JSON value to a timestamp_t object by extracting and parsing the JSON string value.
auto oxy::tag_invoke (const json::value_to_tag< oid_t > &, json::value const &jv) -> oid_t
 Converts a JSON value to an oid_t object by extracting its string representation.
auto oxy::to_string (commit_t const &v)
 Converts a commit_t object to its string representation.
auto oxy::to_string (entry_t const &v)
 Converts a entry_t object to its string representation.
auto oxy::to_string (eType const &v)
 Converts an enumeration value to its string representation.
auto oxy::to_string (object_t const &v)
 Converts an object_t to its string representation.
auto oxy::to_string (oid_t const &v)
 Converts a oid_t object to its string representation.
auto oxy::to_string (record_t const &v)
 Converts a record_t object to its string representation.
auto oxy::to_string (signature_t const &v)
 Converts a signature_t object to its string representation.
auto oxy::to_string (timestamp_t const &v)
 Converts a timestamp_t object to its string representation.

Detailed Description

JSON serialization and deserialization for core types.

This header provides tag_invoke overloads for Boost.JSON to enable serialization and deserialization of core types such as oid_t, eType, and object_t. It also includes utility functions for converting these types to their string representations. The implementations leverage magic_enum for enum serialization and provide a seamless integration with Boost.JSON for JSON handling.

@license MPL-2.0