@@ -18,13 +18,10 @@ class ImmutableValuePtr;
18
18
19
19
template <class T >
20
20
class MutableValuePtr {
21
- public:
22
- using type = T;
23
-
24
21
private:
25
- std::unique_ptr<type > internal_ptr;
22
+ std::unique_ptr<T > internal_ptr;
26
23
27
- explicit MutableValuePtr (type * ptr) : internal_ptr(ptr) {}
24
+ explicit MutableValuePtr (T * ptr) : internal_ptr(ptr) {}
28
25
29
26
public:
30
27
MutableValuePtr (const MutableValuePtr&) = delete ;
@@ -38,11 +35,11 @@ class MutableValuePtr {
38
35
return *this ;
39
36
}
40
37
41
- type * get () const { return internal_ptr.get (); }
38
+ T * get () const { return internal_ptr.get (); }
42
39
43
40
explicit operator bool () const { return get () == nullptr ; }
44
- type & operator *() const { return *get (); }
45
- type * operator ->() const { return get (); }
41
+ T & operator *() const { return *get (); }
42
+ T * operator ->() const { return get (); }
46
43
47
44
friend class ImmutableValuePtr <T>;
48
45
@@ -52,13 +49,10 @@ class MutableValuePtr {
52
49
53
50
template <class T >
54
51
class ImmutableValuePtr {
55
- public:
56
- using type = T;
57
-
58
52
private:
59
- std::shared_ptr<type > internal_ptr;
53
+ std::shared_ptr<T > internal_ptr;
60
54
61
- explicit ImmutableValuePtr (type * ptr) : internal_ptr(ptr) {}
55
+ explicit ImmutableValuePtr (T * ptr) : internal_ptr(ptr) {}
62
56
63
57
public:
64
58
constexpr ImmutableValuePtr () : internal_ptr(nullptr ) {}
@@ -83,11 +77,11 @@ class ImmutableValuePtr {
83
77
return *this ;
84
78
}
85
79
86
- type * get () const { return internal_ptr.get (); }
80
+ T * get () const { return internal_ptr.get (); }
87
81
88
82
explicit operator bool () const { return get () == nullptr ; }
89
- type & operator *() const { return *get (); }
90
- type * operator ->() const { return get (); }
83
+ T & operator *() const { return *get (); }
84
+ T * operator ->() const { return get (); }
91
85
92
86
MutableValuePtr<T> get_mutable_copy () const {
93
87
return MutableValuePtr<T>(new T (*internal_ptr));
0 commit comments