Nix 2.93.3
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 >:
nix::AbstractSetting nix::PathsSetting< T > nix::Setting< T >

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()

template<typename T>
T nix::BaseSetting< T >::parse ( const std::string & str,
const ApplyConfigOptions & options ) const
protectedvirtual

◆ 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< StringMap >::to_string ( ) const
virtual

Implements nix::AbstractSetting.

◆ to_string() [4/12]

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

Implements nix::AbstractSetting.

◆ to_string() [5/12]

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

Implements nix::AbstractSetting.

◆ to_string() [6/12]

std::string nix::BaseSetting< StringSet >::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< bool >::to_string ( ) const
virtual

Implements nix::AbstractSetting.

◆ to_string() [9/12]

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

Implements nix::AbstractSetting.

◆ to_string() [10/12]

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

Implements nix::AbstractSetting.

◆ to_string() [11/12]

std::string nix::BaseSetting< std::string >::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: