summaryrefslogtreecommitdiff
path: root/src/buildtool/build_engine/expression/expression_ptr.hpp
diff options
context:
space:
mode:
authorOliver Reiche <oliver.reiche@huawei.com>2022-06-14 09:57:50 +0200
committerOliver Reiche <oliver.reiche@huawei.com>2022-07-04 16:06:47 +0200
commit19770d5940d2f772532658d0c12ed64709681a55 (patch)
tree15b645e889c33978ef9f2ca91307b5b17ad4dc7f /src/buildtool/build_engine/expression/expression_ptr.hpp
parent4f27a981f21defdc467b458b91e4961a6160533f (diff)
downloadjustbuild-19770d5940d2f772532658d0c12ed64709681a55.tar.gz
Improve move semantics with smart pointers
Diffstat (limited to 'src/buildtool/build_engine/expression/expression_ptr.hpp')
-rw-r--r--src/buildtool/build_engine/expression/expression_ptr.hpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/buildtool/build_engine/expression/expression_ptr.hpp b/src/buildtool/build_engine/expression/expression_ptr.hpp
index aeca6287..d7e05923 100644
--- a/src/buildtool/build_engine/expression/expression_ptr.hpp
+++ b/src/buildtool/build_engine/expression/expression_ptr.hpp
@@ -34,8 +34,9 @@ class ExpressionPtr {
auto operator=(ExpressionPtr&&) noexcept -> ExpressionPtr& = default;
explicit operator bool() const { return static_cast<bool>(ptr_); }
+ [[nodiscard]] auto operator*() & -> Expression& { return *ptr_; }
[[nodiscard]] auto operator*() const& -> Expression const& { return *ptr_; }
- [[nodiscard]] auto operator*() && -> Expression;
+ [[nodiscard]] auto operator*() && -> Expression = delete;
[[nodiscard]] auto operator->() const& -> Expression const* {
return ptr_.get();
}