LLVM.h revision 226586
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// This file forward declares and imports various common LLVM datatypes that 11// clang wants to use unqualified. 12// 13//===----------------------------------------------------------------------===// 14 15#ifndef CLANG_BASIC_LLVM_H 16#define CLANG_BASIC_LLVM_H 17 18// This should be the only #include, force #includes of all the others on 19// clients. 20#include "llvm/Support/Casting.h" 21 22namespace llvm { 23 // ADT's. 24 class StringRef; 25 class Twine; 26 template<typename T> class ArrayRef; 27 template<typename T, unsigned N> class SmallVector; 28 template<typename T> class SmallVectorImpl; 29 30 class raw_ostream; 31 // TODO: DenseMap, ... 32} 33 34 35namespace clang { 36 // Casting operators. 37 using llvm::isa; 38 using llvm::cast; 39 using llvm::dyn_cast; 40 using llvm::dyn_cast_or_null; 41 using llvm::cast_or_null; 42 43 // ADT's. 44 using llvm::StringRef; 45 using llvm::Twine; 46 using llvm::ArrayRef; 47 using llvm::SmallVector; 48 using llvm::SmallVectorImpl; 49 50 using llvm::raw_ostream; 51} // end namespace clang. 52 53#endif 54