Nix 2.93.3
Lix: A modern, delicious implementation of the Nix package manager; unstable internal interfaces
Loading...
Searching...
No Matches
nix::PrimOp Struct Reference

#include <eval.hh>

Public Attributes

std::string name
std::vector< std::string > args
size_t arity = 0
const char * doc = nullptr
std::function< PrimOpImplfun
std::optional< ExperimentalFeatureexperimentalFeature

Detailed Description

Info about a primitive operation, and its implementation

Member Data Documentation

◆ args

std::vector<std::string> nix::PrimOp::args

Names of the parameters of a primop, for primops that take a fixed number of arguments to be substituted for these parameters.

◆ arity

size_t nix::PrimOp::arity = 0

Aritiy of the primop.

If args is not empty, this field will be computed from that field instead, so it doesn't need to be manually set.

◆ doc

const char* nix::PrimOp::doc = nullptr

Optional free-form documentation about the primop.

◆ experimentalFeature

std::optional<ExperimentalFeature> nix::PrimOp::experimentalFeature

Optional experimental for this to be gated on.

◆ fun

std::function<PrimOpImpl> nix::PrimOp::fun

Implementation of the primop.

◆ name

std::string nix::PrimOp::name

Name of the primop. __ prefix is treated specially.


The documentation for this struct was generated from the following file: