Skip to content

Commit 5b3f50b

Browse files
committed
bugfix: ImmutableValuePtr may only provide const access to the value
1 parent b993292 commit 5b3f50b

File tree

1 file changed

+6
-3
lines changed

1 file changed

+6
-3
lines changed

include/reactor-cpp/value_ptr.hh

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,9 @@ class MutableValuePtr {
4949

5050
template <class T>
5151
class ImmutableValuePtr {
52+
public:
53+
using const_T = typename std::add_const<T>::type;
54+
5255
private:
5356
std::shared_ptr<T> internal_ptr;
5457

@@ -77,11 +80,11 @@ class ImmutableValuePtr {
7780
return *this;
7881
}
7982

80-
T* get() const { return internal_ptr.get(); }
83+
const_T* get() const { return internal_ptr.get(); }
8184

8285
explicit operator bool() const { return get() == nullptr; }
83-
T& operator*() const { return *get(); }
84-
T* operator->() const { return get(); }
86+
const_T& operator*() const { return *get(); }
87+
const_T* operator->() const { return get(); }
8588

8689
MutableValuePtr<T> get_mutable_copy() const {
8790
return MutableValuePtr<T>(new T(*internal_ptr));

0 commit comments

Comments
 (0)