11#include <userver/formats/yaml/types.hpp>
13USERVER_NAMESPACE_BEGIN
15namespace formats::
yaml {
19 explicit Exception(std::string msg) : msg_(std::move(msg)) {}
21 const char* what()
const noexcept final {
return msg_.c_str(); }
34 explicit BadStreamException(
const std::istream& is);
35 explicit BadStreamException(
const std::ostream& os);
40 TypeMismatchException(
Type actual,
Type expected, std::string_view path);
41 TypeMismatchException(
int actual,
int expected, std::string_view path);
42 TypeMismatchException(
const YAML::Node& value, std::string_view expected_type,
43 std::string_view path);
48 OutOfBoundsException(size_t index, size_t size, std::string_view path);
53 explicit MemberMissingException(std::string_view path);
58 explicit PathPrefixException(std::string_view old_path,
59 std::string_view prefix);