modifiers Goes up one level if Level > 0.
| 1405 | // modifiers |
| 1406 | /// Goes up one level if Level > 0. |
| 1407 | void pop() { |
| 1408 | assert(State && "Cannot pop an end iterator!"); |
| 1409 | assert(State->Level > 0 && "Cannot pop an iterator with level < 1"); |
| 1410 | |
| 1411 | const directory_iterator end_itr = {}; |
| 1412 | std::error_code ec; |
| 1413 | do { |
| 1414 | if (ec) |
| 1415 | report_fatal_error("Error incrementing directory iterator."); |
| 1416 | State->Stack.pop(); |
| 1417 | --State->Level; |
| 1418 | } while (!State->Stack.empty() |
| 1419 | && State->Stack.top().increment(ec) == end_itr); |
| 1420 | |
| 1421 | // Check if we are done. If so, create an end iterator. |
| 1422 | if (State->Stack.empty()) |
| 1423 | State.reset(); |
| 1424 | } |
| 1425 | |
| 1426 | /// Does not go down into the current directory_entry. |
| 1427 | void no_push() { State->HasNoPushRequest = true; } |
no test coverage detected