LLVM: llvm::vfs::OverlayFileSystem Class Reference (original) (raw)

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

#include "[llvm/Support/VirtualFileSystem.h](VirtualFileSystem%5F8h%5Fsource.html)"

Public Types
using iterator = FileSystemList::reverse_iterator
using const_iterator = FileSystemList::const_reverse_iterator
using reverse_iterator = FileSystemList::iterator
using const_reverse_iterator = FileSystemList::const_iterator
using range = iterator_range<iterator>
using const_range = iterator_range<const_iterator>
Public Member Functions
OverlayFileSystem (IntrusiveRefCntPtr< FileSystem > Base)
void pushOverlay (IntrusiveRefCntPtr< FileSystem > FS)
Pushes a file system on top of the stack.
llvm::ErrorOr< Status > status (const Twine &Path) override
bool exists (const Twine &Path) override
llvm::ErrorOr< std::unique_ptr< File > > openFileForRead (const Twine &Path) override
directory_iterator dir_begin (const Twine &Dir, std::error_code &EC) override
llvm::ErrorOr< std::string > getCurrentWorkingDirectory () const override
std::error_code setCurrentWorkingDirectory (const Twine &Path) override
std::error_code isLocal (const Twine &Path, bool &Result) override
std::error_code getRealPath (const Twine &Path, SmallVectorImpl< char > &Output) override
iterator overlays_begin ()
Get an iterator pointing to the most recently added file system.
const_iterator overlays_begin () const
iterator overlays_end ()
Get an iterator pointing one-past the least recently added file system.
const_iterator overlays_end () const
reverse_iterator overlays_rbegin ()
Get an iterator pointing to the least recently added file system.
const_reverse_iterator overlays_rbegin () const
reverse_iterator overlays_rend ()
Get an iterator pointing one-past the most recently added file system.
const_reverse_iterator overlays_rend () const
range overlays_range ()
const_range overlays_range () const
Public Member Functions inherited from llvm::RTTIExtends< OverlayFileSystem, FileSystem >
const void * dynamicClassID () const override
bool isA () const
Check whether this instance is a subclass of QueryT.
Static Public Attributes
static const char ID = 0

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

Consists of a stack of >=1 [FileSystem](classllvm%5F1%5F1vfs%5F1%5F1FileSystem.html "The virtual file system interface.") objects, which are treated as being one merged file system. When there is a directory that exists in more than one file system, the [OverlayFileSystem](classllvm%5F1%5F1vfs%5F1%5F1OverlayFileSystem.html "A file system that allows overlaying one AbstractFileSystem on top of another.") contains a directory containing the union of their contents. The attributes (permissions, etc.) of the top-most (most recently added) directory are used. When there is a file that exists in more than one file system, the file in the top-most file system overrides the other(s).

Definition at line 393 of file VirtualFileSystem.h.

const_iterator

const_range

const_reverse_iterator

iterator

range

reverse_iterator

dir_begin()

exists()

getCurrentWorkingDirectory()

llvm::ErrorOr< std::string > OverlayFileSystem::getCurrentWorkingDirectory ( ) const override

getRealPath()

isLocal()

std::error_code OverlayFileSystem::isLocal ( const Twine & Path, bool & Result ) override

openFileForRead()

overlays_begin() [1/2]

iterator llvm::vfs::OverlayFileSystem::overlays_begin ( ) inline

overlays_begin() [2/2]

const_iterator llvm::vfs::OverlayFileSystem::overlays_begin ( ) const inline

overlays_end() [1/2]

iterator llvm::vfs::OverlayFileSystem::overlays_end ( ) inline

overlays_end() [2/2]

const_iterator llvm::vfs::OverlayFileSystem::overlays_end ( ) const inline

overlays_range() [1/2]

range llvm::vfs::OverlayFileSystem::overlays_range ( ) inline

overlays_range() [2/2]

const_range llvm::vfs::OverlayFileSystem::overlays_range ( ) const inline

overlays_rbegin() [1/2]

reverse_iterator llvm::vfs::OverlayFileSystem::overlays_rbegin ( ) inline

Get an iterator pointing to the least recently added file system.

Definition at line 435 of file VirtualFileSystem.h.

overlays_rbegin() [2/2]

const_reverse_iterator llvm::vfs::OverlayFileSystem::overlays_rbegin ( ) const inline

overlays_rend() [1/2]

reverse_iterator llvm::vfs::OverlayFileSystem::overlays_rend ( ) inline

Get an iterator pointing one-past the most recently added file system.

Definition at line 439 of file VirtualFileSystem.h.

overlays_rend() [2/2]

const_reverse_iterator llvm::vfs::OverlayFileSystem::overlays_rend ( ) const inline

printImpl()

void OverlayFileSystem::printImpl ( raw_ostream & OS, PrintType Type, unsigned IndentLevel ) const overrideprotected

pushOverlay()

setCurrentWorkingDirectory()

std::error_code OverlayFileSystem::setCurrentWorkingDirectory ( const Twine & Path) override

status()

visitChildFileSystems()

void OverlayFileSystem::visitChildFileSystems ( VisitCallbackTy Callback) overrideprotected

ID


The documentation for this class was generated from the following files: