riccibruno marked an inline comment as done. riccibruno added inline comments.
================ Comment at: include/clang/AST/Expr.h:5084 + /// storage of Stmt * and TypeSourceInfo * in GenericSelectionExpr. + template <bool Const> class AssociationIteratorTy { + friend class GenericSelectionExpr; ---------------- aaron.ballman wrote: > riccibruno wrote: > > aaron.ballman wrote: > > > riccibruno wrote: > > > > dblaikie wrote: > > > > > Worth using any of the iterator helpers LLVM has? (iterator_facade or > > > > > the like) > > > > I did try to use `iteratore_facade` but for some reason I was getting > > > > strange overload resolution failures with it. > > > > > > > > In the end it did not save much and so I just rewrote the boiler-plate > > > > (especially given that if we end up going with an input iterator there > > > > is not going to be much boiler-plate). > > > Does using the `iterator_facade_base` help now that we're back to an > > > input iterator? It seems like that should be able to get rid of some of > > > the boilerplate. > > I must be holding it wrong; for some reason the post-fix operator ++ is not > > getting found when I use `iterator_facade_base`. It also forces me to > > define `operator==` as a member instead of a non-member function. Do you > > mind terribly if I don't use it ? It only at best avoid me to write > > `operator!=` and `operator++(int)`. > It also removes all of the typedefs and `operator->()`, so it does remove > quite a bit of boilerplate. You shouldn't have to do anything special to get > it to locate the postfix operator++ though (so long as you use public > inheritance), which makes me wonder what's going on for your use. I would > like to understand more about why this base class doesn't work here when it > seems to work fine for the other uses in the code base. Right. Let me try again then. I will still have to provide `operator->` though since the implementation from `iterator_facade_base` is not adequate as far as I can tell. Repository: rC Clang CHANGES SINCE LAST ACTION https://reviews.llvm.org/D57106/new/ https://reviews.llvm.org/D57106 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits