HikoGUI
A low latency retained GUI
Loading...
Searching...
No Matches
skeleton.hpp
1// Copyright Take Vos 2020.
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 "skeleton_node.hpp"
8#include "skeleton_parse_context.hpp"
9#include "../resource_view.hpp"
10
11namespace tt {
12
13[[nodiscard]] std::unique_ptr<skeleton_node> parse_skeleton(skeleton_parse_context &context);
14
15[[nodiscard]] inline std::unique_ptr<skeleton_node> parse_skeleton(URL url, std::string_view::const_iterator first, std::string_view::const_iterator last) {
16 auto context = skeleton_parse_context(std::move(url), first, last);
17 auto e = parse_skeleton(context);
18 return e;
19}
20
21[[nodiscard]] inline std::unique_ptr<skeleton_node> parse_skeleton(URL url, std::string_view text)
22{
23 return parse_skeleton(std::move(url), text.cbegin(), text.cend());
24}
25
26[[nodiscard]] inline std::unique_ptr<skeleton_node> parse_skeleton(URL url)
27{
28 ttlet fv = url.loadView();
29 ttlet sv = fv->string_view();
30
31 return parse_skeleton(std::move(url), sv.cbegin(), sv.cend());
32}
33
34}
T move(T... args)