Nix 2.26.3
Nix, the purely functional package manager; unstable internal interfaces
 
Loading...
Searching...
No Matches
nix::NarAccessor::NarIndexer Struct Reference
Inheritance diagram for nix::NarAccessor::NarIndexer:
nix::FileSystemObjectSink nix::Source

Public Member Functions

 NarIndexer (NarAccessor &acc, Source &source)
 
NarMembercreateMember (const CanonPath &path, NarMember member)
 
void createDirectory (const CanonPath &path) override
 
void createRegularFile (const CanonPath &path, std::function< void(CreateRegularFileSink &)> func) override
 
void createSymlink (const CanonPath &path, const std::string &target) override
 
size_t read (char *data, size_t len) override
 
- Public Member Functions inherited from nix::Source
void operator() (char *data, size_t len)
 
void operator() (std::string_view data)
 
virtual bool good ()
 
void drainInto (Sink &sink)
 
std::string drain ()
 

Public Attributes

NarAccessoracc
 
Sourcesource
 
std::stack< NarMember * > parents
 
bool isExec = false
 
uint64_t pos = 0
 

Member Function Documentation

◆ createDirectory()

void nix::NarAccessor::NarIndexer::createDirectory ( const CanonPath & path)
inlineoverridevirtual

◆ createRegularFile()

void nix::NarAccessor::NarIndexer::createRegularFile ( const CanonPath & path,
std::function< void(CreateRegularFileSink &)>  )
inlineoverridevirtual

This function in general is no re-entrant. Only one file can be written at a time.

Implements nix::FileSystemObjectSink.

◆ createSymlink()

void nix::NarAccessor::NarIndexer::createSymlink ( const CanonPath & path,
const std::string & target )
inlineoverridevirtual

◆ read()

size_t nix::NarAccessor::NarIndexer::read ( char * data,
size_t len )
inlineoverridevirtual

Store up to ‘len’ in the buffer pointed to by ‘data’, and return the number of bytes stored. It blocks until at least one byte is available.

Implements nix::Source.


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