diff options
author | Oliver Reiche <oliver.reiche@huawei.com> | 2022-06-14 09:57:50 +0200 |
---|---|---|
committer | Oliver Reiche <oliver.reiche@huawei.com> | 2022-07-04 16:06:47 +0200 |
commit | 19770d5940d2f772532658d0c12ed64709681a55 (patch) | |
tree | 15b645e889c33978ef9f2ca91307b5b17ad4dc7f /src/buildtool/build_engine/expression/expression_ptr.hpp | |
parent | 4f27a981f21defdc467b458b91e4961a6160533f (diff) | |
download | justbuild-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.hpp | 3 |
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(); } |