clang  6.0.0svn
Classes | Namespaces | Functions
VirtualFileSystem.h File Reference

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

#include "clang/Basic/LLVM.h"
#include "llvm/ADT/IntrusiveRefCntPtr.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/SourceMgr.h"
#include "llvm/Support/raw_ostream.h"
#include <algorithm>
#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  clang::vfs::Status
 The result of a status operation. More...
 
class  clang::vfs::File
 Represents an open file. More...
 
struct  clang::vfs::detail::DirIterImpl
 An interface for virtual file systems to provide an iterator over the (non-recursive) contents of a directory. More...
 
class  clang::vfs::directory_iterator
 An input iterator over the entries in a virtual path, similar to llvm::sys::fs::directory_iterator. More...
 
class  clang::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  clang::vfs::FileSystem
 The virtual file system interface. More...
 
class  clang::vfs::OverlayFileSystem
 A file system that allows overlaying one AbstractFileSystem on top of another. More...
 
class  clang::vfs::InMemoryFileSystem
 An in-memory file system. More...
 
struct  clang::vfs::YAMLVFSEntry
 
class  clang::vfs::YAMLVFSWriter
 

Namespaces

 llvm
 DominatorTree GraphTraits specialization so the DominatorTree can be iterable by generic graph iterators.
 
 clang
 Dataflow Directional Tag Classes.
 
 clang::vfs
 
 clang::vfs::detail
 

Functions

IntrusiveRefCntPtr< FileSystemclang::vfs::getRealFileSystem ()
 Gets an vfs::FileSystem for the 'real' file system, as seen by the operating system. More...
 
llvm::sys::fs::UniqueID clang::vfs::getNextVirtualUniqueID ()
 Get a globally unique ID for a virtual file or directory. More...
 
IntrusiveRefCntPtr< FileSystem > clang::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 clang::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.