search for: iterator_category

Displaying 6 results from an estimated 6 matches for "iterator_category".

2008 Jul 23
0
[LLVMdev] GEP::getIndexValid() with other iterators
...ed NumIdx); - template<typename InputIterator> static const Type *getIndexedType(const Type *Ptr, InputIterator IdxBegin, @@ -508,6 +505,13 @@ typename std::iterator_traits<InputIterator>:: iterator_category()); } + + static const Type *getIndexedType(const Type *Ptr, + Value* const *Idx, unsigned NumIdx); + + static const Type *getIndexedType(const Type *Ptr, + uint64_t const *Idx, unsigned NumIdx); + static const Type *ge...
2008 Jul 23
2
[LLVMdev] GEP::getIndexValid() with other iterators
On Jul 22, 2008, at 11:54 PM, Matthijs Kooijman wrote: > Hi Chris, > > >> I'd prefer to not turn this into a template. Why not just define a >> version that takes an array of uint64_t's or something like that? > because I want to be able to pass in iterators. I could define a > version that > takes std<uint64_t>::iterators, but next thing we know, we
2007 Jul 03
0
[LLVMdev] API design
On Tuesday 03 July 2007 10:58, David Greene wrote: > > Here's a different suggestion that cloning all the code. Instead of > > doing that, why not add a new (templated) CallInst ctor, one which is > > very trivial. Then you could put the conditional code in it (to detect > > an empty range) and call into the non-inline stuff we already have. > > > > It
2007 Jul 03
4
[LLVMdev] API design
On Tuesday 03 July 2007 00:44, Chris Lattner wrote: > On Mon, 2 Jul 2007, David A. Greene wrote: > >>> - Changing the API > >>> a) Template it to take two iterators. This causes code size bloat. > > > > This seems like the right solution to me. Unless llvm is running on > > extremely limited memory embedded systems, the extra code space > >
2007 Jul 04
1
[LLVMdev] API design (and Boost and tr1)
...ype>(cast<PointerType>(Func->getType()) ->getElementType())->getReturnType(), Instruction::Call, 0, 0, InsertBefore) { init(Func, ArgBegin, ArgEnd, Name, typename std::iterator_traits<InputIterator>::iterator_category()); } init() is the function that actually does the checking of the iterators for an empty range. This required that I pull in is_base_and_derived, remove_pointer, is_same and remove_cv from Boost. boost::is_class already exists in Support/type_traits.h so there is precedent for this. Now, so...
2007 Jul 03
4
[LLVMdev] API design
On Monday 02 July 2007 16:26, Chris Lattner wrote: > On Sun, 1 Jul 2007, Nick Lewycky wrote: > > I've been running LLVM with _GLIBCXX_DEBUG (extra checks) turned on to > > see what would happen, and it's been a complete disaster. Well, that's a bit harsh, isn't it? It's finding bugs, just like it's supposed to. :) I believe I've started to run into