5std::optional<nix::Value>
getField(nix::EvalState &State, nix::Value &V,
6 std::string_view Field);
7std::optional<std::string_view>
8getFieldString(nix::EvalState &State, nix::Value &V, std::string_view Field);
12bool checkField(nix::EvalState &State, nix::Value &V, std::string_view Field,
13 std::string_view Pred);
16bool checkType(nix::EvalState &State, nix::Value &V, std::string_view Pred);
18bool isOption(nix::EvalState &State, nix::Value &V);
22std::string
attrPathStr(nix::EvalState &State, nix::Value &V,
23 const std::string &AttrPath);
26std::vector<nix::Symbol>
toSymbols(nix::SymbolTable &STable,
27 const std::vector<std::string> &Names);
30std::vector<nix::Symbol>
toSymbols(nix::SymbolTable &STable,
31 const std::vector<std::string_view> &Names);
34nix::Value &
selectAttr(nix::EvalState &State, nix::Value &V, nix::Symbol Attr);
41 std::vector<nix::Symbol>::const_iterator Begin,
42 std::vector<nix::Symbol>::const_iterator End);
46 std::vector<nix::Symbol>::const_iterator Begin,
47 std::vector<nix::Symbol>::const_iterator End);
50 const std::vector<nix::Symbol> &AttrPath) {
51 return selectOptions(State, V, AttrPath.begin(), AttrPath.end());
56 const std::vector<nix::Symbol> &AttrPath) {
62 const std::vector<std::string> &AttrPath) {
69 const std::vector<std::string_view> &AttrPath) {
Access EvalCache in nix::EvalState.
nix::Value & selectSymbols(nix::EvalState &State, nix::Value &V, const std::vector< nix::Symbol > &AttrPath)
Given an attrpath in nix::Value V, select it.
std::optional< std::string_view > getFieldString(nix::EvalState &State, nix::Value &V, std::string_view Field)
nix::Value & selectAttrPath(nix::EvalState &State, nix::Value &V, std::vector< nix::Symbol >::const_iterator Begin, std::vector< nix::Symbol >::const_iterator End)
Given an attrpath in nix::Value V, select it.
bool isOption(nix::EvalState &State, nix::Value &V)
bool checkField(nix::EvalState &State, nix::Value &V, std::string_view Field, std::string_view Pred)
Check if value V is an attrset, has the field, and equals to Pred.
bool checkType(nix::EvalState &State, nix::Value &V, std::string_view Pred)
Check if value is an attrset, and it's "_type" equals to Pred.
std::string attrPathStr(nix::EvalState &State, nix::Value &V, const std::string &AttrPath)
nix::Value & selectOption(nix::EvalState &State, nix::Value &V, nix::Symbol Attr)
nix::Value & selectStrings(nix::EvalState &State, nix::Value &V, const std::vector< std::string > &AttrPath)
Given an attrpath in nix::Value V, select it.
bool isDerivation(nix::EvalState &State, nix::Value &V)
nix::Value selectOptions(nix::EvalState &State, nix::Value &V, std::vector< nix::Symbol >::const_iterator Begin, std::vector< nix::Symbol >::const_iterator End)
Select the option declaration list, V, dive into "submodules".
std::vector< nix::Symbol > toSymbols(nix::SymbolTable &STable, const std::vector< std::string > &Names)
Transform a vector of string into a vector of nix symbols.
nix::Value & selectAttr(nix::EvalState &State, nix::Value &V, nix::Symbol Attr)
Select attribute Attr.
std::optional< nix::Value > getField(nix::EvalState &State, nix::Value &V, std::string_view Field)
nix::Value & selectStringViews(nix::EvalState &State, nix::Value &V, const std::vector< std::string_view > &AttrPath)
Given an attrpath in nix::Value V, select it.