| 520 | } |
| 521 | |
| 522 | S3Path parent() const { |
| 523 | DCHECK(!key_parts.empty()); |
| 524 | auto parent = S3Path{"", bucket, "", key_parts}; |
| 525 | parent.key_parts.pop_back(); |
| 526 | parent.key = internal::JoinAbstractPath(parent.key_parts); |
| 527 | parent.full_path = parent.bucket + kSep + parent.key; |
| 528 | return parent; |
| 529 | } |
| 530 | |
| 531 | bool has_parent() const { return !key.empty(); } |
| 532 |