userver: userver/formats/json/validate.hpp Source File
Loading...
Searching...
No Matches
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