Lines Matching defs:PP
50 auto PP = PathParser::CreateBegin(__pn_);
51 if (PP.State_ == PathParser::PS_InRootName)
52 return *PP;
57 auto PP = PathParser::CreateBegin(__pn_);
58 if (PP.State_ == PathParser::PS_InRootName)
59 ++PP;
60 if (PP.State_ == PathParser::PS_InRootDir)
61 return *PP;
66 auto PP = PathParser::CreateBegin(__pn_);
67 if (PP.State_ == PathParser::PS_InRootName) {
68 auto NextCh = PP.peek();
70 ++PP;
71 return createView(__pn_.data(), &PP.RawEntry.back());
73 return PP.RawEntry;
75 if (PP.State_ == PathParser::PS_InRootDir)
76 return *PP;
80 static bool ConsumeRootName(PathParser* PP) {
82 while (PP->State_ <= PathParser::PS_InRootName)
83 ++(*PP);
84 return PP->State_ == PathParser::PS_AtEnd;
87 static bool ConsumeRootDir(PathParser* PP) {
90 while (PP->State_ <= PathParser::PS_InRootDir)
91 ++(*PP);
92 return PP->State_ == PathParser::PS_AtEnd;
96 auto PP = PathParser::CreateBegin(__pn_);
97 if (ConsumeRootDir(&PP))
99 return createView(PP.RawEntry.data(), &__pn_.back());
108 auto PP = PathParser::CreateBegin(__pn_);
109 if (ConsumeRootDir(&PP))
115 auto PP = PathParser::CreateEnd(__pn_);
116 --PP;
117 if (PP.RawEntry.data() == __pn_.data())
119 --PP;
120 return createView(__pn_.data(), &PP.RawEntry.back());
128 PathParser PP = PathParser::CreateBegin(__pn_);
129 if (ConsumeRootDir(&PP))
185 for (auto PP = PathParser::CreateBegin(__pn_); PP; ++PP) {
186 auto Part = *PP;
237 static int DetermineLexicalElementCount(PathParser PP) {
239 for (; PP; ++PP) {
240 auto Elem = *PP;
251 auto PP = PathParser::CreateBegin(__pn_);
254 return PP.State_ != PPBase.State_ && (PP.inRootPath() || PPBase.inRootPath());
256 if (PP.inRootName() && PPBase.inRootName()) {
257 if (*PP != *PPBase)
262 if (PP.inRootPath())
263 ++PP;
271 auto PP = PathParser::CreateBegin(__pn_);
273 while (PP && PPBase && PP.State_ == PPBase.State_ && (*PP == *PPBase || PP.inRootDir())) {
274 ++PP;
279 if (!PP && !PPBase)
289 if (ElemCount == 0 && (PP.atEnd() || *PP == PATHSTR("")))
298 for (; PP; ++PP)
299 Result /= *PP;
370 auto PP = PathParser::CreateBegin(__p.native());
373 while (PP) {
374 string_view_t Part = PP.inRootDir() ? PATHSTR("/") : *PP;
376 ++PP;
384 auto PP = PathParser::CreateBegin(__pn_);
387 it.__state_ = static_cast<path::iterator::_ParserState>(PP.State_);
388 it.__entry_ = PP.RawEntry;
389 it.__stashed_elem_.__assign_view(*PP);
401 PathParser PP(__path_ptr_->native(), __entry_, __state_);
402 ++PP;
403 __state_ = static_cast<_ParserState>(PP.State_);
404 __entry_ = PP.RawEntry;
405 __stashed_elem_.__assign_view(*PP);
410 PathParser PP(__path_ptr_->native(), __entry_, __state_);
411 --PP;
412 __state_ = static_cast<_ParserState>(PP.State_);
413 __entry_ = PP.RawEntry;
414 __stashed_elem_.__assign_view(*PP);