From 19770d5940d2f772532658d0c12ed64709681a55 Mon Sep 17 00:00:00 2001 From: Oliver Reiche Date: Tue, 14 Jun 2022 09:57:50 +0200 Subject: Improve move semantics with smart pointers --- src/buildtool/build_engine/expression/expression_ptr.hpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'src/buildtool/build_engine/expression/expression_ptr.hpp') 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(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(); } -- cgit v1.2.3