aboutsummaryrefslogtreecommitdiff
path: root/src/libutil/experimental-features-json.hh
blob: a4f999a93dcc1b93d76b3112f4e153bb77479e0f (plain)
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
#pragma once
///@file

#include "experimental-features.hh"
#include "json-utils.hh"

namespace nix {

/**
 * Compute the documentation of all experimental features.
 *
 * See `doc/manual` for how this information is used.
 */
nlohmann::json documentExperimentalFeatures();

/**
 * Semi-magic conversion to and from json.
 * See the nlohmann/json readme for more details.
 */
void to_json(nlohmann::json &, const ExperimentalFeature &);
void from_json(const nlohmann::json &, ExperimentalFeature &);

/**
 * It is always rendered as a string
 */
template<>
struct json_avoids_null<ExperimentalFeature> : std::true_type {};

};