@@ -122,7 +122,7 @@ struct smart_holder {
122
122
vptr_is_external_shared_ptr{false }, is_populated{false }, is_disowned{false },
123
123
pointee_depends_on_holder_owner{false } {}
124
124
125
- bool has_pointee () const { return vptr. get () != nullptr ; }
125
+ bool has_pointee () const { return vptr != nullptr ; }
126
126
127
127
template <typename T>
128
128
static void ensure_pointee_is_destructible (const char *context) {
@@ -180,7 +180,7 @@ struct smart_holder {
180
180
}
181
181
182
182
void ensure_use_count_1 (const char *context) const {
183
- if (vptr. get () == nullptr ) {
183
+ if (vptr == nullptr ) {
184
184
throw std::invalid_argument (std::string (" Cannot disown nullptr (" ) + context + " )." );
185
185
}
186
186
// In multithreaded environments accessing use_count can lead to
@@ -194,7 +194,7 @@ struct smart_holder {
194
194
}
195
195
}
196
196
197
- void reset_vptr_deleter_armed_flag (bool armed_flag) {
197
+ void reset_vptr_deleter_armed_flag (bool armed_flag) const {
198
198
auto vptr_del_ptr = std::get_deleter<guarded_delete>(vptr);
199
199
if (vptr_del_ptr == nullptr ) {
200
200
throw std::runtime_error (
@@ -259,7 +259,7 @@ struct smart_holder {
259
259
void release_disowned () { vptr.reset (); }
260
260
261
261
// SMART_HOLDER_WIP: review this function.
262
- void ensure_can_release_ownership (const char *context = " ensure_can_release_ownership" ) {
262
+ void ensure_can_release_ownership (const char *context = " ensure_can_release_ownership" ) const {
263
263
ensure_is_not_disowned (context);
264
264
ensure_vptr_is_using_builtin_delete (context);
265
265
ensure_use_count_1 (context);
0 commit comments