serializer.hpp #
format
#
シリアライズを行います。
namespace toml
{
template<typename TC>
std::string format(const basic_value<TC>& v,
const spec s = spec::default_version());
template<typename TC>
std::string format(const typename basic_value<TC>::key_type& k,
const basic_value<TC>& v,
const spec s = spec::default_version());
template<typename TC>
std::string format(const std::vector<typename basic_value<TC>::key_type>& ks,
const basic_value<TC>& v,
const spec s = spec::default_version());
}
フォーマット情報とspec
が矛盾する場合、例えばv1.0.0
でtable_format::multiline_oneline
が指定されているときなどは、spec
が優先されます。
format(v, spec)
#
toml::value
を、それが持つフォーマット情報とspec
に従ってフォーマットします。
table_type
だった場合、それがルートであるとしてフォーマットします。
それ以外の値だった場合、値のみをフォーマットします。
format(k, v, spec)
#
toml::value
を、与えられたキーと同時にフォーマットします。
v
はそのキー以下に定義されていると解釈されます。
format([k,...], v, spec)
#
v
はそのキー以下に定義されていると解釈されます。
キーが複数与えられた場合、再帰的に定義されたテーブルとして解釈されます。
serialization_error
#
シリアライズ中に発生したエラーを報告します。
namespace toml
{
struct serialization_error final : public ::toml::exception
{
public:
explicit serialization_error(std::string what_arg, source_location loc);
~serialization_error() noexcept override = default;
const char* what() const noexcept override;
source_location const& location() const noexcept;
};
}