| 580 | } |
| 581 | |
| 582 | S3Path parent() const { |
| 583 | DCHECK(!key_parts.empty()); |
| 584 | auto parent = S3Path{"", bucket, "", key_parts}; |
| 585 | parent.key_parts.pop_back(); |
| 586 | parent.key = internal::JoinAbstractPath(parent.key_parts); |
| 587 | parent.full_path = parent.bucket + kSep + parent.key; |
| 588 | return parent; |
| 589 | } |
| 590 | |
| 591 | bool has_parent() const { return !key.empty(); } |
| 592 |