userver: userver/formats/json/validate.hpp Source File
⚠️ This is the documentation for an old userver version. Click here to switch to the latest version.
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages Concepts
validate.hpp
Go to the documentation of this file.
1#pragma once
2
3/// @file userver/formats/json/validate.hpp
4/// @brief json schema validator
5
6#include <userver/formats/json/value.hpp>
7#include <userver/utils/fast_pimpl.hpp>
8
9USERVER_NAMESPACE_BEGIN
10
11namespace formats::json {
12
13class Schema final {
14 public:
15 explicit Schema(const formats::json::Value& doc);
16 ~Schema();
17
18 private:
19 struct Impl;
20 static constexpr std::size_t kSize = 288;
21 static constexpr std::size_t kAlignment = 8;
23
24 friend bool Validate(const formats::json::Value&,
25 const formats::json::Schema&);
26};
27
28bool Validate(const formats::json::Value& doc,
29 const formats::json::Schema& schema);
30
31} // namespace formats::json
32
33USERVER_NAMESPACE_END