LLVM  9.0.0svn
Classes | Namespaces | Functions
VirtualFileSystem.h File Reference

Defines the virtual file system interface vfs::FileSystem. More...

#include "llvm/ADT/IntrusiveRefCntPtr.h"
#include "llvm/ADT/None.h"
#include "llvm/ADT/Optional.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/ADT/StringRef.h"
#include "llvm/ADT/Twine.h"
#include "llvm/Support/Chrono.h"
#include "llvm/Support/ErrorOr.h"
#include "llvm/Support/FileSystem.h"
#include "llvm/Support/Path.h"
#include "llvm/Support/SourceMgr.h"
#include <cassert>
#include <cstdint>
#include <ctime>
#include <memory>
#include <stack>
#include <string>
#include <system_error>
#include <utility>
#include <vector>
Include dependency graph for VirtualFileSystem.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  llvm::vfs::Status
 The result of a status operation. More...
 
class  llvm::vfs::File
 Represents an open file. More...
 
class  llvm::vfs::directory_entry
 A member of a directory, yielded by a directory_iterator. More...
 
struct  llvm::vfs::detail::DirIterImpl
 An interface for virtual file systems to provide an iterator over the (non-recursive) contents of a directory. More...
 
class  llvm::vfs::directory_iterator
 An input iterator over the entries in a virtual path, similar to llvm::sys::fs::directory_iterator. More...
 
struct  llvm::vfs::detail::RecDirIterState
 Keeps state for the recursive_directory_iterator. More...
 
class  llvm::vfs::recursive_directory_iterator
 An input iterator over the recursive contents of a virtual path, similar to llvm::sys::fs::recursive_directory_iterator. More...
 
class  llvm::vfs::FileSystem
 The virtual file system interface. More...
 
class  llvm::vfs::OverlayFileSystem
 A file system that allows overlaying one AbstractFileSystem on top of another. More...
 
class  llvm::vfs::ProxyFileSystem
 By default, this delegates all calls to the underlying file system. More...
 
class  llvm::vfs::InMemoryFileSystem
 An in-memory file system. More...
 
struct  llvm::vfs::YAMLVFSEntry
 
class  llvm::vfs::RedirectingFileSystem
 A virtual file system parsed from a YAML file. More...
 
class  llvm::vfs::RedirectingFileSystem::Entry
 A single file or directory in the VFS. More...
 
class  llvm::vfs::RedirectingFileSystem::RedirectingDirectoryEntry
 
class  llvm::vfs::RedirectingFileSystem::RedirectingFileEntry
 
class  llvm::vfs::YAMLVFSWriter
 

Namespaces

 llvm
 This class represents lattice values for constants.
 
 llvm::vfs
 
 llvm::vfs::detail
 

Functions

IntrusiveRefCntPtr< FileSystemllvm::vfs::getRealFileSystem ()
 Gets an vfs::FileSystem for the 'real' file system, as seen by the operating system. More...
 
std::unique_ptr< FileSystemllvm::vfs::createPhysicalFileSystem ()
 Create an vfs::FileSystem for the 'real' file system, as seen by the operating system. More...
 
llvm::sys::fs::UniqueID llvm::vfs::getNextVirtualUniqueID ()
 Get a globally unique ID for a virtual file or directory. More...
 
IntrusiveRefCntPtr< FileSystem > llvm::vfs::getVFSFromYAML (std::unique_ptr< llvm::MemoryBuffer > Buffer, llvm::SourceMgr::DiagHandlerTy DiagHandler, StringRef YAMLFilePath, void *DiagContext=nullptr, IntrusiveRefCntPtr< FileSystem > ExternalFS=getRealFileSystem())
 Gets a FileSystem for a virtual file system described in YAML format. More...
 
void llvm::vfs::collectVFSFromYAML (std::unique_ptr< llvm::MemoryBuffer > Buffer, llvm::SourceMgr::DiagHandlerTy DiagHandler, StringRef YAMLFilePath, SmallVectorImpl< YAMLVFSEntry > &CollectedEntries, void *DiagContext=nullptr, IntrusiveRefCntPtr< FileSystem > ExternalFS=getRealFileSystem())
 Collect all pairs of <virtual path, real path> entries from the YAMLFilePath. More...
 

Detailed Description

Defines the virtual file system interface vfs::FileSystem.

Definition in file VirtualFileSystem.h.