Lines Matching refs:ElementRefIterator
700 template <bool IsReverse, bool IsConst> class ElementRefIterator {
703 friend class ElementRefIterator; variable
729 ElementRefIterator(CFGBlockRef Parent, UnderlayingIteratorTy Pos) in ElementRefIterator() function
733 ElementRefIterator(ElementRefIterator<false, IsOtherConst> E) in ElementRefIterator() function
734 : ElementRefIterator(E.Parent, E.Pos.base()) {} in ElementRefIterator()
737 ElementRefIterator(ElementRefIterator<true, IsOtherConst> E) in ElementRefIterator() function
738 : ElementRefIterator(E.Parent, std::make_reverse_iterator(E.Pos)) {} in ElementRefIterator()
740 bool operator<(ElementRefIterator Other) const {
745 bool operator==(ElementRefIterator Other) const {
749 bool operator!=(ElementRefIterator Other) const {
756 getIndexInBlock(CFGBlock::ElementRefIterator<true, IsOtherConst> E) { in getIndexInBlock()
762 getIndexInBlock(CFGBlock::ElementRefIterator<false, IsOtherConst> E) { in getIndexInBlock()
769 difference_type operator-(ElementRefIterator Other) const {
773 ElementRefIterator operator++() {
777 ElementRefIterator operator++(int) {
778 ElementRefIterator Ret = *this;
782 ElementRefIterator operator+(size_t count) {
786 ElementRefIterator operator-(size_t count) {
917 using ref_iterator = ElementRefIterator<false, false>;
919 using const_ref_iterator = ElementRefIterator<false, true>;
922 using reverse_ref_iterator = ElementRefIterator<true, false>;
925 using const_reverse_ref_iterator = ElementRefIterator<true, true>;