LLVM 23.0.0git
llvm::vfs::ProxyFileSystem Class Reference

By default, this delegates all calls to the underlying file system. More...

#include "llvm/Support/VirtualFileSystem.h"

Inheritance diagram for llvm::vfs::ProxyFileSystem:
[legend]

Public Member Functions

 ProxyFileSystem (IntrusiveRefCntPtr< FileSystem > FS)
llvm::ErrorOr< Statusstatus (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 getRealPath (const Twine &Path, SmallVectorImpl< char > &Output) override
std::error_code isLocal (const Twine &Path, bool &Result) override
Public Member Functions inherited from llvm::RTTIExtends< ProxyFileSystem, 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

Protected Member Functions

FileSystemgetUnderlyingFS () const
void visitChildFileSystems (VisitCallbackTy Callback) override

Additional Inherited Members

Static Public Member Functions inherited from llvm::RTTIExtends< ProxyFileSystem, FileSystem >
static const void * classID ()
static bool classof (const T *R)

Detailed Description

By default, this delegates all calls to the underlying file system.

This is useful when derived file systems want to override some calls and still proxy other calls.

Definition at line 457 of file VirtualFileSystem.h.

Constructor & Destructor Documentation

◆ ProxyFileSystem()

llvm::vfs::ProxyFileSystem::ProxyFileSystem ( IntrusiveRefCntPtr< FileSystem > FS)
inlineexplicit

Definition at line 461 of file VirtualFileSystem.h.

References llvm::move().

Member Function Documentation

◆ dir_begin()

directory_iterator llvm::vfs::ProxyFileSystem::dir_begin ( const Twine & Dir,
std::error_code & EC )
inlineoverride

◆ exists()

bool llvm::vfs::ProxyFileSystem::exists ( const Twine & Path)
inlineoverride

◆ getCurrentWorkingDirectory()

llvm::ErrorOr< std::string > llvm::vfs::ProxyFileSystem::getCurrentWorkingDirectory ( ) const
inlineoverride

Definition at line 475 of file VirtualFileSystem.h.

◆ getRealPath()

std::error_code llvm::vfs::ProxyFileSystem::getRealPath ( const Twine & Path,
SmallVectorImpl< char > & Output )
inlineoverride

◆ getUnderlyingFS()

FileSystem & llvm::vfs::ProxyFileSystem::getUnderlyingFS ( ) const
inlineprotected

Definition at line 490 of file VirtualFileSystem.h.

◆ isLocal()

std::error_code llvm::vfs::ProxyFileSystem::isLocal ( const Twine & Path,
bool & Result )
inlineoverride

◆ openFileForRead()

llvm::ErrorOr< std::unique_ptr< File > > llvm::vfs::ProxyFileSystem::openFileForRead ( const Twine & Path)
inlineoverride

◆ setCurrentWorkingDirectory()

std::error_code llvm::vfs::ProxyFileSystem::setCurrentWorkingDirectory ( const Twine & Path)
inlineoverride

Definition at line 478 of file VirtualFileSystem.h.

◆ status()

llvm::ErrorOr< Status > llvm::vfs::ProxyFileSystem::status ( const Twine & Path)
inlineoverride

◆ visitChildFileSystems()

void llvm::vfs::ProxyFileSystem::visitChildFileSystems ( VisitCallbackTy Callback)
inlineoverrideprotected

Definition at line 491 of file VirtualFileSystem.h.

Member Data Documentation

◆ ID

const char ProxyFileSystem::ID = 0
static

Definition at line 460 of file VirtualFileSystem.h.


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