Support iteration over constant instructions

llvm-svn: 12645
This commit is contained in:
Chris Lattner 2004-04-04 19:46:54 +00:00
parent 092d260fc1
commit 5453b2f376
1 changed files with 5 additions and 5 deletions

View File

@ -19,7 +19,7 @@
#include "llvm/DerivedTypes.h"
namespace llvm {
template<typename ItTy = User::op_iterator>
template<typename ItTy = User::const_op_iterator>
class generic_gep_type_iterator
: public forward_iterator<const Type *, ptrdiff_t> {
typedef forward_iterator<const Type*, ptrdiff_t> super;
@ -76,18 +76,18 @@ namespace llvm {
typedef generic_gep_type_iterator<> gep_type_iterator;
inline gep_type_iterator gep_type_begin(User *GEP) {
inline gep_type_iterator gep_type_begin(const User *GEP) {
return gep_type_iterator::begin(GEP->getOperand(0)->getType(),
GEP->op_begin()+1);
}
inline gep_type_iterator gep_type_end(User *GEP) {
inline gep_type_iterator gep_type_end(const User *GEP) {
return gep_type_iterator::end(GEP->op_end());
}
inline gep_type_iterator gep_type_begin(User &GEP) {
inline gep_type_iterator gep_type_begin(const User &GEP) {
return gep_type_iterator::begin(GEP.getOperand(0)->getType(),
GEP.op_begin()+1);
}
inline gep_type_iterator gep_type_end(User &GEP) {
inline gep_type_iterator gep_type_end(const User &GEP) {
return gep_type_iterator::end(GEP.op_end());
}