#include "llvm/Value.h"
#include "Support/GraphTraits.h"
+#include "Support/iterator"
class DerivedType;
class FunctionType;
#include "llvm/Type.def"
private:
- class TypeIterator : public std::bidirectional_iterator<const Type,
- ptrdiff_t> {
+ class TypeIterator : public bidirectional_iterator<const Type, ptrdiff_t> {
const Type * const Ty;
unsigned Idx;
}
};
-template <> inline bool isa<PointerType, const Type*>(const Type *Ty) {
- return Ty->getPrimitiveID() == Type::PointerTyID;
-}
-template <> inline bool isa<PointerType, Type*>(Type *Ty) {
- return Ty->getPrimitiveID() == Type::PointerTyID;
+template <> inline bool isa_impl<PointerType, Type>(const Type &Ty) {
+ return Ty.getPrimitiveID() == Type::PointerTyID;
}
#endif