Namespace for the virtual file system interface.

Types

Name

Description

File

Represents an open file.

FileSystem

The virtual file system interface.

HashingOutputBackend

An output backend that only generates the hash for outputs.

HashingOutputFile

HashingOutputFile.

HashingStream

raw_pwrite_stream that writes to a hasher.

InMemoryFileSystem

An in‐memory file system.

NullOutputFileImpl

An OutputFileImpl that discards all written data.

OnDiskOutputBackend

An output backend that creates files on disk, wrapping APIs in sys::fs.

OutputBackend

Interface for virtualized outputs.

OutputConfig

Full configuration for an output for use by the OutputBackend. Each configuration flag is either true or false.

OutputConfigError

Error related to an OutputConfig for an OutputFile. Derives from OutputError and adds getConfig().

OutputError

Error related to an OutputFile. Derives from ECError and adds getOutputPath().

OutputFile

A virtualized output file that writes to a specific backend.

OutputFileImpl

Abstract backend implementation for a virtualized output file.

OverlayFileSystem

A file system that allows overlaying one AbstractFileSystem on top of another.

ProxyFileSystem

File system adapter that proxies calls to an underlying file system.

ProxyOutputBackend

A helper class for proxying another backend, with the default implementation to forward to the underlying backend.

RedirectingFSDirIterImpl

Directory iterator implementation for RedirectingFileSystem.

RedirectingFileSystem

A virtual file system parsed from a YAML file.

RedirectingFileSystemParser

Parser for RedirectingFileSystem YAML descriptions.

Status

The result of a status operation.

TempFileOutputError

Error related to a temporary file for an OutputFile. Derives from OutputError and adds getTempPath().

TracingFileSystemImpl

File system that counts calls to the underlying file system.

YAMLVFSEntry

A virtual‐to‐real path mapping collected from a YAML VFS.

YAMLVFSWriter

Helper that builds a YAML VFS overlay description.

directory_entry

A member of a directory, yielded by a directory_iterator. Only information available on most platforms is included.

directory_iterator

An input iterator over the entries in a virtual path, similar to llvm::sys::fs::directory_iterator.

recursive_directory_iterator

An input iterator over the recursive contents of a virtual path, similar to llvm::sys::fs::recursive_directory_iterator.

Type Aliases

Name

Description

AtomicTracingFileSystem

Concurrent‐safe tracing filesystem. Counters are std::atomic<std::size_t> so the proxy can be shared across threads.

TracingFileSystem

Single‐threaded tracing filesystem. Counters are plain std::size_t and must not be incremented concurrently.

Enums

Name

Description

OutputErrorCode

Error codes for virtual filesystem output operations.

Functions

Name

Description

collectVFSEntries

Collect all virtual‐to‐real path pairs from VFS.

consumeDiscardOnDestroy

Update File to silently discard itself if it's still open when it's destroyed.

convertToOutputError

Return Error::success() or use OutputPath to create an OutputError, depending on EC.

convertToTempFileOutputError

Return Error::success() or use TempPath and OutputPath to create a TempFileOutputError, depending on EC.

createPhysicalFileSystem

Create an vfs::FileSystem for the OS real file system.

getNextVirtualUniqueID

Get a globally unique ID for a virtual file or directory.

getRealFileSystem

Get an vfs::FileSystem for the process's real file system.

getVFSFromYAML

Gets a FileSystem for a virtual file system described in YAML format.

makeFilteringOutputBackend

Make a backend where OutputBackend::createFile() forwards to UnderlyingBackend when Filter is true, and otherwise returns a NullOutput.

makeMirroringOutputBackend

Create a backend that mirrors outputs to two backends.

makeNullOutputBackend

Create a backend that ignores all output.

make_error_code

Convert an OutputErrorCode to a std::error_code.

output_category

Return the error category for virtual filesystem output errors.

Created with MrDocs