Nix 2.93.3
Lix: A modern, delicious implementation of the Nix package manager; unstable internal interfaces
Loading...
Searching...
No Matches
experimental-features.hh File Reference
#include "lix/libutil/error.hh"
#include "lix/libutil/json-fwd.hh"
#include "lix/libutil/types.hh"
#include <type_traits>
#include "experimental-features.gen.inc"

Go to the source code of this file.

Classes

struct  nix::json::avoids_null< ExperimentalFeature >
class  nix::MissingExperimentalFeature

Typedefs

using nix::Xp = ExperimentalFeature

Enumerations

enum struct  nix::ExperimentalFeature { NumXpFeatures }
enum struct  ExperimentalFeatures

Functions

ExperimentalFeatures nix::operator| (ExperimentalFeatures a, ExperimentalFeatures b)
ExperimentalFeatures nix::operator| (ExperimentalFeatures a, ExperimentalFeature b)
ExperimentalFeatures nix::operator& (ExperimentalFeatures a, ExperimentalFeature b)
const std::optional< ExperimentalFeaturenix::parseExperimentalFeature (const std::string_view &name)
std::string_view nix::showExperimentalFeature (const ExperimentalFeature tag)
std::ostream & nix::operator<< (std::ostream &str, const ExperimentalFeature &feature)
ExperimentalFeatures nix::parseFeatures (const std::set< std::string > &rawFeatures)
JSON nix::documentExperimentalFeatures ()
void nix::to_json (JSON &j, const ExperimentalFeature &feature)
void nix::from_json (const JSON &j, ExperimentalFeature &feature)
void nix::to_json (JSON &j, const ExperimentalFeatures &f)
void nix::from_json (const JSON &j, ExperimentalFeatures &f)

Typedef Documentation

◆ Xp

using nix::Xp = ExperimentalFeature

Just because writing ExperimentalFeature::CaDerivations is way too long

Enumeration Type Documentation

◆ ExperimentalFeature

enum struct nix::ExperimentalFeature
strong

The list of available experimental features.

Function Documentation

◆ documentExperimentalFeatures()

JSON nix::documentExperimentalFeatures ( )

Compute the documentation of all experimental features.

See doc/manual for how this information is used.

◆ operator<<()

std::ostream & nix::operator<< ( std::ostream & str,
const ExperimentalFeature & feature )

Shorthand for str << showExperimentalFeature(feature).

◆ parseExperimentalFeature()

const std::optional< ExperimentalFeature > nix::parseExperimentalFeature ( const std::string_view & name)

Parse an experimental feature (enum value) from its name. Experimental feature flag names are hyphenated and do not contain spaces.

◆ parseFeatures()

ExperimentalFeatures nix::parseFeatures ( const std::set< std::string > & )

Parse a set of strings to the corresponding set of experimental features, ignoring (but warning for) any unknown feature.

◆ showExperimentalFeature()

std::string_view nix::showExperimentalFeature ( const ExperimentalFeature )

Show the name of an experimental feature. This is the opposite of parseExperimentalFeature().

◆ to_json()

void nix::to_json ( JSON & ,
const ExperimentalFeature &  )

Semi-magic conversion to and from json. See the nlohmann/json readme for more details.