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);