Lines Matching refs:State
748 IntrusiveRefCntPtr<detail::DirIterState> State; variable
752 State = new detail::DirIterState; in directory_iterator()
754 ec = detail::directory_iterator_construct(*State, in directory_iterator()
759 State = new detail::DirIterState; in directory_iterator()
760 ec = detail::directory_iterator_construct(*State, de.path()); in directory_iterator()
764 directory_iterator() : State(nullptr) {} in directory_iterator()
768 ec = directory_iterator_increment(*State); in increment()
772 const directory_entry &operator*() const { return State->CurrentEntry; }
773 const directory_entry *operator->() const { return &State->CurrentEntry; }
776 if (State == RHS.State)
778 if (!RHS.State)
779 return State->CurrentEntry == directory_entry();
780 if (!State)
781 return RHS.State->CurrentEntry == directory_entry();
782 return State->CurrentEntry == RHS.State->CurrentEntry;
809 IntrusiveRefCntPtr<detail::RecDirIterState> State; variable
814 : State(new detail::RecDirIterState) { in recursive_directory_iterator()
815 State->Stack.push(directory_iterator(path, ec)); in recursive_directory_iterator()
816 if (State->Stack.top() == directory_iterator()) in recursive_directory_iterator()
817 State.reset(); in recursive_directory_iterator()
823 if (State->HasNoPushRequest) in increment()
824 State->HasNoPushRequest = false; in increment()
827 if ((ec = State->Stack.top()->status(st))) return *this; in increment()
829 State->Stack.push(directory_iterator(*State->Stack.top(), ec)); in increment()
831 if (State->Stack.top() != end_itr) { in increment()
832 ++State->Level; in increment()
835 State->Stack.pop(); in increment()
839 while (!State->Stack.empty() in increment()
840 && State->Stack.top().increment(ec) == end_itr) { in increment()
841 State->Stack.pop(); in increment()
842 --State->Level; in increment()
846 if (State->Stack.empty()) in increment()
847 State.reset(); in increment()
852 const directory_entry &operator*() const { return *State->Stack.top(); }
853 const directory_entry *operator->() const { return &*State->Stack.top(); }
857 int level() const { return State->Level; } in level()
860 bool no_push_request() const { return State->HasNoPushRequest; } in no_push_request()
865 assert(State && "Cannot pop an end iterator!"); in pop()
866 assert(State->Level > 0 && "Cannot pop an iterator with level < 1"); in pop()
873 State->Stack.pop(); in pop()
874 --State->Level; in pop()
875 } while (!State->Stack.empty() in pop()
876 && State->Stack.top().increment(ec) == end_itr); in pop()
879 if (State->Stack.empty()) in pop()
880 State.reset(); in pop()
884 void no_push() { State->HasNoPushRequest = true; } in no_push()
887 return State == RHS.State;