HikoGUI
A low latency retained GUI
Loading...
Searching...
No Matches
JSON.hpp
1// Copyright Take Vos 2019.
2// Distributed under the Boost Software License, Version 1.0.
3// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
4
5#pragma once
6
7#include "../tokenizer.hpp"
8#include "../utility.hpp"
9#include "../URL.hpp"
10#include "../datum.hpp"
11#include "../resource_view.hpp"
12#include "../strings.hpp"
13#include "../exception.hpp"
14#include "../indent.hpp"
15#include "../file_view.hpp"
16#include <string>
17#include <string_view>
18#include <vector>
19#include <optional>
20
21namespace hi::inline v1 {
22
27[[nodiscard]] datum parse_JSON(std::string_view text);
28
29[[nodiscard]] inline datum parse_JSON(std::string const& text)
30{
31 return parse_JSON(std::string_view{text});
32}
33
34[[nodiscard]] inline datum parse_JSON(char const *text)
35{
36 return parse_JSON(std::string_view{text});
37}
38
43[[nodiscard]] inline datum parse_JSON(std::filesystem::path const& path)
44{
45 return parse_JSON(as_string_view(file_view(path)));
46}
47
52[[nodiscard]] std::string format_JSON(datum const& root);
53
54} // namespace hi::inline v1
Utilities used by the HikoGUI library itself.
DOXYGEN BUG.
Definition algorithm.hpp:15
std::string_view as_string_view(resource_view const &rhs) noexcept
Get a span to the memory mapping.
Definition resource_view.hpp:48
std::string format_JSON(datum const &root)
Dump an datum object into a JSON string.
datum parse_JSON(std::string_view text)
Parse a JSON string.
A dynamic data type.
Definition datum.hpp:225
Definition file_view.hpp:22
A variant of text.
Definition label.hpp:37