Nix  2.93.0-dev
Lix: A modern, delicious implementation of the Nix package manager; unstable internal interfaces
Loading...
Searching...
No Matches
nix::BaseSetting< T > Class Template Reference

#include <config.hh>

Inheritance diagram for nix::BaseSetting< T >:
[legend]
Collaboration diagram for nix::BaseSetting< T >:
[legend]

Classes

struct  trait
 

Public Member Functions

 BaseSetting (const T &def, const bool documentDefault, const std::string &name, const std::string &description, const std::set< std::string > &aliases={}, std::optional< ExperimentalFeature > experimentalFeature=std::nullopt, bool deprecated=false)
 
 operator const T & () const
 
const T & get () const
 
template<typename U >
bool operator== (const U &v2) const
 
template<typename U >
bool operator!= (const U &v2) const
 
template<typename U >
void setDefault (const U &v)
 
void set (const std::string &str, bool append=false, const ApplyConfigOptions &options={}) override final
 
void override (const T &v)
 
bool isAppendable () override final
 
std::string to_string () const override
 
void convertToArg (Args &args, const std::string &category) override
 
std::map< std::string, JSON > toJSONObject () const override
 
std::string to_string () const
 
void convertToArg (Args &args, const std::string &category)
 
std::string to_string () const
 
void convertToArg (Args &args, const std::string &category)
 
void convertToArg (Args &args, const std::string &category)
 
std::string to_string () const
 
std::string to_string () const
 
std::string to_string () const
 
std::string to_string () const
 
void convertToArg (Args &args, const std::string &category)
 
std::string to_string () const
 
std::string to_string () const
 
std::string to_string () const
 
std::string to_string () const
 
std::string to_string () const
 

Protected Member Functions

virtual T parse (const std::string &str, const ApplyConfigOptions &options) const
 
virtual void appendOrSet (T newValue, bool append, const ApplyConfigOptions &options)
 
AcceptFlakeConfig parse (const std::string &str, const ApplyConfigOptions &options) const
 
SandboxMode parse (const std::string &str, const ApplyConfigOptions &options) const
 
void appendOrSet (Strings newValue, bool append, const ApplyConfigOptions &options)
 
void appendOrSet (StringSet newValue, bool append, const ApplyConfigOptions &options)
 
void appendOrSet (StringMap newValue, bool append, const ApplyConfigOptions &options)
 
void appendOrSet (ExperimentalFeatures newValue, bool append, const ApplyConfigOptions &options)
 
void appendOrSet (DeprecatedFeatures newValue, bool append, const ApplyConfigOptions &options)
 
std::string parse (const std::string &str, const ApplyConfigOptions &options) const
 
std::optional< std::string > parse (const std::string &str, const ApplyConfigOptions &options) const
 
std::optional< uint16_t > parse (const std::string &str, const ApplyConfigOptions &options) const
 
bool parse (const std::string &str, const ApplyConfigOptions &options) const
 
Strings parse (const std::string &str, const ApplyConfigOptions &options) const
 
void appendOrSet (Strings newValue, bool append, const ApplyConfigOptions &options)
 
StringSet parse (const std::string &str, const ApplyConfigOptions &options) const
 
void appendOrSet (StringSet newValue, bool append, const ApplyConfigOptions &options)
 
ExperimentalFeatures parse (const std::string &str, const ApplyConfigOptions &options) const
 
void appendOrSet (ExperimentalFeatures newValue, bool append, const ApplyConfigOptions &options)
 
DeprecatedFeatures parse (const std::string &str, const ApplyConfigOptions &options) const
 
void appendOrSet (DeprecatedFeatures newValue, bool append, const ApplyConfigOptions &options)
 
StringMap parse (const std::string &str, const ApplyConfigOptions &options) const
 
void appendOrSet (StringMap newValue, bool append, const ApplyConfigOptions &options)
 
- Protected Member Functions inherited from nix::AbstractSetting
 AbstractSetting (const std::string &name, const std::string &description, const std::set< std::string > &aliases, std::optional< ExperimentalFeature > experimentalFeature=std::nullopt)
 
JSON toJSON ()
 
bool isOverridden () const
 

Protected Attributes

value
 
const T defaultValue
 
const bool documentDefault
 
const bool deprecated
 

Additional Inherited Members

- Public Attributes inherited from nix::AbstractSetting
const std::string name
 
const std::string description
 
const std::set< std::string > aliases
 
int created = 123
 
bool overridden = false
 
std::optional< ExperimentalFeatureexperimentalFeature
 

Detailed Description

template<typename T>
class nix::BaseSetting< T >

A setting of type T.

Member Function Documentation

◆ appendOrSet()

template<typename T >
void nix::BaseSetting< T >::appendOrSet ( T newValue,
bool append,
const ApplyConfigOptions & options )
protectedvirtual

Append or overwrite value with newValue.

Some types to do not support appending in which case append should never be passed. The default handles this case.

Parameters
appendWhether to append or overwrite.

◆ convertToArg() [1/5]

void nix::BaseSetting< AcceptFlakeConfig >::convertToArg ( Args & args,
const std::string & category )
virtual

Reimplemented from nix::AbstractSetting.

◆ convertToArg() [2/5]

void nix::BaseSetting< SandboxMode >::convertToArg ( Args & args,
const std::string & category )
virtual

Reimplemented from nix::AbstractSetting.

◆ convertToArg() [3/5]

void nix::BaseSetting< bool >::convertToArg ( Args & args,
const std::string & category )
virtual

Reimplemented from nix::AbstractSetting.

◆ convertToArg() [4/5]

void nix::BaseSetting< bool >::convertToArg ( Args & args,
const std::string & category )
virtual

Reimplemented from nix::AbstractSetting.

◆ convertToArg() [5/5]

template<typename T >
void nix::BaseSetting< T >::convertToArg ( Args & args,
const std::string & category )
overridevirtual

Reimplemented from nix::AbstractSetting.

◆ isAppendable()

template<typename T >
bool nix::BaseSetting< T >::isAppendable ( )
finaloverridevirtual

Always defined based on the C++ magic with trait above.

Implements nix::AbstractSetting.

◆ parse()

◆ set()

template<typename T >
void nix::BaseSetting< T >::set ( const std::string & str,
bool append = false,
const ApplyConfigOptions & options = {} )
finaloverridevirtual

Require any experimental feature the setting depends on

Uses parse() to get the value from str, and appendOrSet() to set it.

Implements nix::AbstractSetting.

◆ to_string() [1/12]

std::string nix::BaseSetting< AcceptFlakeConfig >::to_string ( ) const
virtual

Implements nix::AbstractSetting.

◆ to_string() [2/12]

std::string nix::BaseSetting< SandboxMode >::to_string ( ) const
virtual

Implements nix::AbstractSetting.

◆ to_string() [3/12]

std::string nix::BaseSetting< std::string >::to_string ( ) const
virtual

Implements nix::AbstractSetting.

◆ to_string() [4/12]

std::string nix::BaseSetting< std::optional< std::string > >::to_string ( ) const
virtual

Implements nix::AbstractSetting.

◆ to_string() [5/12]

std::string nix::BaseSetting< std::optional< uint16_t > >::to_string ( ) const
virtual

Implements nix::AbstractSetting.

◆ to_string() [6/12]

std::string nix::BaseSetting< bool >::to_string ( ) const
virtual

Implements nix::AbstractSetting.

◆ to_string() [7/12]

std::string nix::BaseSetting< Strings >::to_string ( ) const
virtual

Implements nix::AbstractSetting.

◆ to_string() [8/12]

std::string nix::BaseSetting< StringSet >::to_string ( ) const
virtual

Implements nix::AbstractSetting.

◆ to_string() [9/12]

std::string nix::BaseSetting< ExperimentalFeatures >::to_string ( ) const
virtual

Implements nix::AbstractSetting.

◆ to_string() [10/12]

std::string nix::BaseSetting< DeprecatedFeatures >::to_string ( ) const
virtual

Implements nix::AbstractSetting.

◆ to_string() [11/12]

std::string nix::BaseSetting< StringMap >::to_string ( ) const
virtual

Implements nix::AbstractSetting.

◆ to_string() [12/12]

template<typename T >
std::string nix::BaseSetting< T >::to_string ( ) const
overridevirtual

Implements nix::AbstractSetting.

◆ toJSONObject()

template<typename T >
std::map< std::string, JSON > nix::BaseSetting< T >::toJSONObject ( ) const
overridevirtual

Reimplemented from nix::AbstractSetting.


The documentation for this class was generated from the following files: