LLVM 24.0.0git
VirtualFileSystemFwd.h
Go to the documentation of this file.
1//===- VirtualFileSystemFwd.h - Virtual File System Forward -----*- C++ -*-===//
2//
3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4// See https://llvm.org/LICENSE.txt for license information.
5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6//
7//===----------------------------------------------------------------------===//
8//
9/// \file
10/// Contains the forward declaration for vfs::FileSystem, as well as the
11/// IntrusiveRefCntPtrInfo specialization for it. This allows the
12/// vfs::FileSystem class to be used with IntrusiveRefCntPtr without including
13/// its full definition.
14//
15//===----------------------------------------------------------------------===//
16
17#ifndef LLVM_SUPPORT_VIRTUALFILESYSTEMFWD_H
18#define LLVM_SUPPORT_VIRTUALFILESYSTEMFWD_H
19
22
23namespace llvm {
24namespace vfs {
25class FileSystem;
26} // namespace vfs
27
29 static unsigned useCount(const ::llvm::vfs::FileSystem *FS);
32};
33
34} // namespace llvm
35
36#endif // LLVM_SUPPORT_VIRTUALFILESYSTEMFWD_H
#define LLVM_ABI
Definition Compiler.h:215
This file defines the RefCountedBase, ThreadSafeRefCountedBase, and IntrusiveRefCntPtr classes.
The virtual file system interface.
This is an optimization pass for GlobalISel generic memory operations.
static unsigned useCount(const ::llvm::vfs::FileSystem *FS)
static void retain(::llvm::vfs::FileSystem *FS)
static void release(::llvm::vfs::FileSystem *FS)
Class you can specialize to provide custom retain/release functionality for a type.