|
|
@@ -33,7 +33,7 @@ public:
|
|
|
return where.parent(parent_steps_).back();
|
|
|
}
|
|
|
auto rval = where.parent(parent_steps_).walk(root);
|
|
|
- return pointer_ ? pointer_->walk(rval) : rval;
|
|
|
+ return pointer_.walk(rval);
|
|
|
}
|
|
|
|
|
|
friend std::ostream & operator<<(std::ostream & os, RelativePointer const & rel) {
|
|
|
@@ -41,15 +41,13 @@ public:
|
|
|
if (rel.requests_key_) {
|
|
|
return os << '#';
|
|
|
}
|
|
|
- if (rel.pointer_) {
|
|
|
- os << *rel.pointer_;
|
|
|
- }
|
|
|
+ os << rel.pointer_;
|
|
|
return os;
|
|
|
}
|
|
|
|
|
|
private:
|
|
|
size_t parent_steps_ = 0;
|
|
|
bool requests_key_ = false;
|
|
|
- std::optional<Pointer> pointer_ = std::nullopt;
|
|
|
+ Pointer pointer_ = {};
|
|
|
};
|
|
|
}
|