LLVM 22.0.0git
Public Member Functions | Static Public Attributes | Protected Member Functions | List of all members
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.
 
bool isA (const void *const ClassID) const override
 

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 454 of file VirtualFileSystem.h.

Constructor & Destructor Documentation

◆ ProxyFileSystem()

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

Definition at line 458 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

Definition at line 469 of file VirtualFileSystem.h.

◆ exists()

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

Definition at line 464 of file VirtualFileSystem.h.

◆ getCurrentWorkingDirectory()

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

Definition at line 472 of file VirtualFileSystem.h.

◆ getRealPath()

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

Definition at line 478 of file VirtualFileSystem.h.

◆ getUnderlyingFS()

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

Definition at line 487 of file VirtualFileSystem.h.

◆ isLocal()

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

Definition at line 482 of file VirtualFileSystem.h.

◆ openFileForRead()

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

Definition at line 466 of file VirtualFileSystem.h.

◆ setCurrentWorkingDirectory()

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

Definition at line 475 of file VirtualFileSystem.h.

◆ status()

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

Definition at line 461 of file VirtualFileSystem.h.

◆ visitChildFileSystems()

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

Definition at line 488 of file VirtualFileSystem.h.

Member Data Documentation

◆ ID

const char ProxyFileSystem::ID = 0
static

Definition at line 457 of file VirtualFileSystem.h.


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