clang
5.0.0
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
include
clang
Basic
LLVM.h
Go to the documentation of this file.
1
//===--- LLVM.h - Import various common LLVM datatypes ----------*- C++ -*-===//
2
//
3
// The LLVM Compiler Infrastructure
4
//
5
// This file is distributed under the University of Illinois Open Source
6
// License. See LICENSE.TXT for details.
7
//
8
//===----------------------------------------------------------------------===//
9
//
10
/// \file
11
/// \brief Forward-declares and imports various common LLVM datatypes that
12
/// clang wants to use unqualified.
13
///
14
//===----------------------------------------------------------------------===//
15
16
#ifndef LLVM_CLANG_BASIC_LLVM_H
17
#define LLVM_CLANG_BASIC_LLVM_H
18
19
// Do not proliferate #includes here, require clients to #include their
20
// dependencies.
21
// Casting.h has complex templates that cannot be easily forward declared.
22
#include "llvm/Support/Casting.h"
23
// None.h includes an enumerator that is desired & cannot be forward declared
24
// without a definition of NoneType.
25
#include "llvm/ADT/None.h"
26
27
namespace
llvm {
28
// ADT's.
29
class
StringRef;
30
class
Twine;
31
template
<
typename
T>
class
ArrayRef
;
32
template
<
typename
T>
class
MutableArrayRef
;
33
template
<
typename
T>
class
OwningArrayRef
;
34
template
<
unsigned
InternalLen>
class
SmallString
;
35
template
<
typename
T,
unsigned
N>
class
SmallVector
;
36
template
<
typename
T>
class
SmallVectorImpl
;
37
template
<
typename
T>
class
Optional
;
38
39
template
<
typename
T>
40
struct
SaveAndRestore
;
41
42
// Reference counting.
43
template
<
typename
T>
class
IntrusiveRefCntPtr
;
44
template
<
typename
T>
struct
IntrusiveRefCntPtrInfo
;
45
template
<
class
Derived>
class
RefCountedBase
;
46
47
class
raw_ostream;
48
class
raw_pwrite_stream;
49
// TODO: DenseMap, ...
50
}
51
52
53
namespace
clang {
54
// Casting operators.
55
using
llvm::isa
;
56
using
llvm::cast
;
57
using
llvm::dyn_cast;
58
using
llvm::dyn_cast_or_null;
59
using
llvm::cast_or_null;
60
61
// ADT's.
62
using
llvm::None
;
63
using
llvm::Optional
;
64
using
llvm::StringRef;
65
using
llvm::Twine;
66
using
llvm::ArrayRef
;
67
using
llvm::MutableArrayRef
;
68
using
llvm::OwningArrayRef
;
69
using
llvm::SmallString
;
70
using
llvm::SmallVector
;
71
using
llvm::SmallVectorImpl
;
72
using
llvm::SaveAndRestore
;
73
74
// Reference counting.
75
using
llvm::IntrusiveRefCntPtr
;
76
using
llvm::IntrusiveRefCntPtrInfo
;
77
using
llvm::RefCountedBase
;
78
79
using
llvm::raw_ostream;
80
using
llvm::raw_pwrite_stream;
81
}
// end namespace clang.
82
83
#endif
llvm::Optional
Definition:
LLVM.h:37
llvm::IntrusiveRefCntPtrInfo
Definition:
LLVM.h:44
llvm::SmallVectorImpl
Definition:
LLVM.h:36
llvm::RefCountedBase
Definition:
LLVM.h:45
llvm::ArrayRef
Definition:
LLVM.h:31
llvm::SmallString
Definition:
LLVM.h:34
llvm::MutableArrayRef
Definition:
LLVM.h:32
clang::isa
bool isa(CodeGen::Address addr)
Definition:
Address.h:112
clang::DiagnosticLevelMask::None
llvm::IntrusiveRefCntPtr
Definition:
LLVM.h:43
llvm::OwningArrayRef
Definition:
LLVM.h:33
llvm::SmallVector
Definition:
LLVM.h:35
llvm::SaveAndRestore
Definition:
LLVM.h:40
clang::cast
U cast(CodeGen::Address addr)
Definition:
Address.h:109
Generated on Tue Sep 5 2017 11:45:11 for clang by
1.8.6