-
Notifications
You must be signed in to change notification settings - Fork 99
/
Copy pathapache_builds.hpp
93 lines (82 loc) · 1.9 KB
/
apache_builds.hpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
//
// Copyright (c) 2024 Dmitry Arkhipov ([email protected])
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
//
// Official repository: https://github.com/boostorg/json
//
#ifndef BOOST_JSON_BENCH_APACHE_BUILDS_HPP
#define BOOST_JSON_BENCH_APACHE_BUILDS_HPP
#include <boost/describe/class.hpp>
#include <boost/optional/optional.hpp>
#include <map>
#include <string>
#include <vector>
namespace boost {
namespace json {
namespace apache_builds {
struct label
{
boost::optional<std::string> name;
};
BOOST_DESCRIBE_STRUCT( label, (), (name) )
struct job
{
std::string name;
std::string url;
std::string color;
};
BOOST_DESCRIBE_STRUCT( job, (), (name, url, color) )
struct view
{
std::string name;
std::string url;
};
BOOST_DESCRIBE_STRUCT( view, (), (name, url) )
struct builds
{
std::vector<label> assignedLabels;
std::string mode;
std::string nodeDescription;
std::string nodeName;
std::size_t numExecutors;
std::string description;
std::vector<job> jobs;
std::map<std::string, int> overallLoad;
view primaryView;
bool quietingDown;
std::size_t slaveAgentPort;
std::map<std::string, int> unlabeledLoad;
bool useCrumbs;
bool useSecurity;
std::vector<view> views;
};
BOOST_DESCRIBE_STRUCT(
builds,
(),
( assignedLabels,
mode,
nodeDescription,
nodeName,
numExecutors,
description,
jobs,
overallLoad,
primaryView,
quietingDown,
slaveAgentPort,
unlabeledLoad,
useCrumbs,
useSecurity,
views )
)
} // namespace apache_builds
struct apache_builds_support
{
using type = apache_builds::builds;
static constexpr char const* const name = "apache_builds.json";
};
} // namespace json
} // namespace boost
#endif // BOOST_JSON_BENCH_APACHE_BUILDS_HPP