Browse Source

vlc_shared_data_ptr: accept implicit ctor for null

The main constructor, accepting a pointer, is explicit:

    my_ptr_type *p = ...;
    MySharedPtr ptr = p;   /* invalid */
    MySharedPtr ptr{ p };  /* ok */

This prevents to mistakenly assign a pointer to a shared pointer.

However, assignment to nullptr should be acceptable:

    MySharedPtr ptr = nullptr;  /* should be ok */
pull/141/head
Romain Vimont 4 years ago
committed by Steve Lhomme
parent
commit
98d7763c81
  1. 5
      include/vlc_cxx_helpers.hpp

5
include/vlc_cxx_helpers.hpp

@ -171,6 +171,11 @@ public:
HOLD(ptr);
}
vlc_shared_data_ptr(std::nullptr_t)
: ptr(nullptr)
{
}
vlc_shared_data_ptr(const vlc_shared_data_ptr &other)
: vlc_shared_data_ptr(other.ptr) {}

Loading…
Cancel
Save