Home | History | Annotate | Download | only in compiler

Lines Matching defs:iterator

122     class iterator;
123 inline iterator begin() const;
124 inline iterator end() const;
326 class iterator;
327 inline iterator begin() const;
328 inline iterator end() const;
391 friend class Node::UseEdges::iterator;
393 friend class Node::InputEdges::iterator;
431 // A forward iterator to visit the edges for the input dependencies of a node.
432 class Node::InputEdges::iterator final {
440 iterator() : use_(nullptr), input_ptr_(nullptr) {}
441 iterator(const iterator& other)
445 bool operator==(const iterator& other) const {
448 bool operator!=(const iterator& other) const { return !(*this == other); }
449 iterator& operator++() {
454 iterator operator++(int);
455 iterator& operator+=(difference_type offset) {
460 iterator operator+(difference_type offset) const {
461 return iterator(use_ - offset, input_ptr_ + offset);
463 difference_type operator-(const iterator& other) const {
470 explicit iterator(Use* use, Node** input_ptr)
478 Node::InputEdges::iterator Node::InputEdges::begin() const {
479 return Node::InputEdges::iterator(use_root_, input_root_);
483 Node::InputEdges::iterator Node::InputEdges::end() const {
484 return Node::InputEdges::iterator(use_root_ - count_, input_root_ + count_);
491 // A forward iterator to visit the inputs of a node.
545 // A forward iterator to visit the uses edges of a node.
546 class Node::UseEdges::iterator final {
548 iterator(const iterator& other)
552 bool operator==(const iterator& other) const {
555 bool operator!=(const iterator& other) const { return !(*this == other); }
556 iterator& operator++() {
562 iterator operator++(int);
567 iterator() : current_(nullptr), next_(nullptr) {}
568 explicit iterator(Node* node)
577 Node::UseEdges::iterator Node::UseEdges::begin() const {
578 return Node::UseEdges::iterator(this->node_);
582 Node::UseEdges::iterator Node::UseEdges::end() const {
583 return Node::UseEdges::iterator();
587 // A forward iterator to visit the uses of a node.