serializer.hpp

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.0table_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;
};
}