summaryrefslogtreecommitdiff
path: root/src/buildtool/build_engine/expression/linked_map.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/buildtool/build_engine/expression/linked_map.hpp')
-rw-r--r--src/buildtool/build_engine/expression/linked_map.hpp10
1 files changed, 5 insertions, 5 deletions
diff --git a/src/buildtool/build_engine/expression/linked_map.hpp b/src/buildtool/build_engine/expression/linked_map.hpp
index e19c5e68..6f394c7e 100644
--- a/src/buildtool/build_engine/expression/linked_map.hpp
+++ b/src/buildtool/build_engine/expression/linked_map.hpp
@@ -139,7 +139,7 @@ class LinkedMap {
[[nodiscard]] auto at(K const& key) const& -> V const& {
auto value = Find(key);
if (value) {
- return value->get();
+ return **value;
}
throw std::out_of_range{fmt::format("Missing key {}", key)};
}
@@ -163,7 +163,7 @@ class LinkedMap {
}
[[nodiscard]] auto Find(K const& key) const& noexcept
- -> std::optional<std::reference_wrapper<V const>> {
+ -> std::optional<V const*> {
if (content_.IsNotNull()) {
auto val = content_.Map().Find(key);
if (val) {
@@ -173,7 +173,7 @@ class LinkedMap {
else {
auto it = map_.find(key);
if (it != map_.end()) {
- return it->second;
+ return &it->second;
}
}
if (next_.IsNotNull()) {
@@ -189,7 +189,7 @@ class LinkedMap {
if (content_.IsNotNull()) {
auto val = content_.Map().Find(key);
if (val) {
- return val->get();
+ return **val;
}
}
else {
@@ -201,7 +201,7 @@ class LinkedMap {
if (next_.IsNotNull()) {
auto val = next_.Map().Find(key);
if (val) {
- return val->get();
+ return **val;
}
}
return std::nullopt;