5#include "lix/libutil/json-fwd.hh"
16 #include "experimental-features.gen.inc"
24enum struct ExperimentalFeatures {};
26inline ExperimentalFeatures operator| (ExperimentalFeatures a, ExperimentalFeatures b) {
27 return static_cast<ExperimentalFeatures
>(
static_cast<size_t>(a) |
static_cast<size_t>(b));
30inline ExperimentalFeatures operator| (ExperimentalFeatures a, ExperimentalFeature b) {
31 return a |
static_cast<ExperimentalFeatures
>(1 <<
static_cast<size_t>(b));
35 return static_cast<ExperimentalFeatures
>(
static_cast<size_t>(a) & (1 <<
static_cast<size_t>(b)));
47const std::optional<ExperimentalFeature> parseExperimentalFeature(
48 const std::string_view & name);
59std::ostream & operator<<(
67ExperimentalFeatures parseFeatures(
const std::set<std::string> &);
74JSON documentExperimentalFeatures();
83void to_json(JSON &,
const ExperimentalFeatures &);
84void from_json(
const JSON &, ExperimentalFeatures &);
90class MissingExperimentalFeature :
public Error
ExperimentalFeature missingFeature
Definition experimental-features.hh:96
This file defines two main structs/classes used in nix error handling.
ExperimentalFeature
Definition experimental-features.hh:15
ExperimentalFeature Xp
Definition experimental-features.hh:41