@@ -122,46 +122,46 @@ Synopsis
122122| |– |– | | const_reference | |
123123| Lifetime types |✓|– | | cloner_type |[2]: copier_type |
124124| |✓|✓| | deleter_type | |
125- | Construction |✓|✓| | value_ptr() noexcept |... |
126- | |– |✓| C++11 | value_ptr( std::nullptr_t ) noexcept|... |
127- | |✓|– | | value_ptr( pointer p ) noexcept |... |
128- | |✓|✓| | value_ptr( value_ptr const & other ) |... |
129- | |✓|✓| C++11 | value_ptr( value_ptr && other ) noexcept |... |
130- | |✓| 1 | | value_ptr( element_type const & value ) |... |
131- | |✓| 1 | C++11 | value_ptr( element_type && value ) noexcept |... |
132- | |– |– | C++11 | template< class... Args ><br>explicit value_ptr( in_place_type_t(T), Args&&... args ) |... |
133- | |– |– | C++11 | template< class U, class... Args ><br>explicit value_ptr( in_place_type_t(T), std::initializer_list<U> il, Args&&... args ) |... |
134- | |✓|– | | value_ptr( cloner_type const & cloner ) |... |
135- | |✓|– | C++11 | value_ptr( cloner_type && cloner ) noexcept |... |
136- | |– |– | | value_ptr( deleter_type const & deleter ) |... |
137- | |– |– | C++11 | value_ptr( deleter_type && deleter ) noexcept |... |
138- | |✓|– | C++11 | template< class V, class ClonerOrDeleter ><br>value_ptr( V && value, ClonerOrDeleter && cloner_or_deleter ) |... |
139- | |– |– |<C++11 | template< class V, class ClonerOrDeleter ><br>value_ptr( V const & value, ClonerOrDeleter const & cloner_or_deleter ) |... |
140- | |✓|– | C++11 | template< class V, class C, class D ><br>value_ptr( V && value, C && cloner, D && deleter ) |... |
141- | |– |– |<C++11 | template< class V, class C, class D ><br>value_ptr( V const & value, C const & cloner, D const & deleter ) |... |
142- | Destruction |– |– | C++11 | ~value_ptr() |... |
143- | Assignment |– |– | C++11 | value_ptr & operator=( std::nullptr_t ) noexcept |... |
144- | |– |– | | value_ptr & operator=( T const & value ) |... |
145- | |– |– | C++11 | template< class U, ... ><br>value_ptr & operator=( U && value ) |... |
146- | |– |✓| | value_ptr & operator=( value_ptr const & rhs ) |... |
147- | |– |✓| C++11 | value_ptr & operator=( value_ptr && rhs ) noexcept |... |
148- | Emplace |– |– | C++11 | template< class... Args ><br>void emplace( Args&&... args ) |... |
149- | |– |– | C++11 | template< class U, class... Args ><br>void emplace( std::initializer_list<U> il, Args&&... args ) |... |
150- | Observers |✓|✓| | pointer get() noexcept |... |
125+ | Construction |✓|✓| | value_ptr() noexcept | |
126+ | |– |✓| C++11 | value_ptr( std::nullptr_t ) noexcept| |
127+ | |✓|– | | value_ptr( pointer p ) noexcept | |
128+ | |✓|✓| | value_ptr( value_ptr const & other ) | |
129+ | |✓|✓| C++11 | value_ptr( value_ptr && other ) noexcept | |
130+ | |✓| 1 | | value_ptr( element_type const & value ) | |
131+ | |✓| 1 | C++11 | value_ptr( element_type && value ) noexcept | |
132+ | |– |– | C++11 | template< class... Args ><br>explicit value_ptr( in_place_type_t(T), Args&&... args ) | |
133+ | |– |– | C++11 | template< class U, class... Args ><br>explicit value_ptr( in_place_type_t(T), std::initializer_list<U> il, Args&&... args ) | |
134+ | |✓|– | | value_ptr( cloner_type const & cloner ) | |
135+ | |✓|– | C++11 | value_ptr( cloner_type && cloner ) noexcept | |
136+ | |– |– | | value_ptr( deleter_type const & deleter ) | |
137+ | |– |– | C++11 | value_ptr( deleter_type && deleter ) noexcept | |
138+ | |✓|– | C++11 | template< class V, class ClonerOrDeleter ><br>value_ptr( V && value, ClonerOrDeleter && cloner_or_deleter ) | |
139+ | |– |– |<C++11 | template< class V, class ClonerOrDeleter ><br>value_ptr( V const & value, ClonerOrDeleter const & cloner_or_deleter ) | |
140+ | |✓|– | C++11 | template< class V, class C, class D ><br>value_ptr( V && value, C && cloner, D && deleter ) | |
141+ | |– |– |<C++11 | template< class V, class C, class D ><br>value_ptr( V const & value, C const & cloner, D const & deleter ) | |
142+ | Destruction |– |– | C++11 | ~value_ptr() | |
143+ | Assignment |– |– | C++11 | value_ptr & operator=( std::nullptr_t ) noexcept | |
144+ | |– |– | | value_ptr & operator=( T const & value ) | |
145+ | |– |– | C++11 | template< class U, ... ><br>value_ptr & operator=( U && value ) | |
146+ | |– |✓| | value_ptr & operator=( value_ptr const & rhs ) | |
147+ | |– |✓| C++11 | value_ptr & operator=( value_ptr && rhs ) noexcept | |
148+ | Emplace |– |– | C++11 | template< class... Args ><br>void emplace( Args&&... args ) | |
149+ | |– |– | C++11 | template< class U, class... Args ><br>void emplace( std::initializer_list<U> il, Args&&... args ) | |
150+ | Observers |✓|✓| | pointer get() noexcept | |
151151| |✓|✓| | cloner_type & get_cloner() noexcept |[2]: get_copier() |
152- | |✓|✓| | deleter_type & get_deleter() noexcept |... |
153- | |✓|✓| | reference operator*() const |... |
154- | |✓|✓| | pointer operator->() const noexcept |... |
155- | |✓|✓| C++11 | explicit operator bool() const noexcept |... |
156- | |– |– |<C++11 | operator safe_bool() const noexcept |... |
157- | |– |– | | bool has_value() const nsvp_noexcept |... |
158- | |– |– | | element_type const & value() const |... |
159- | |– |– | | element_type & value() |... |
160- | |– |– | C++11 | template< class U ><br>constexpr element_type value_or( U && v ) const |... |
161- | |– |– |<C++11 | template< class U ><br>constexpr element_type value_or( U const & v ) const |... |
162- | Modifiers |✓|✓| | pointer release() noexcept |... |
163- | |– |– | | void reset( pointer p = pointer() ) noexcept |... |
164- | |– |✓| | void swap( value_ptr & other ) noexcept |... |
152+ | |✓|✓| | deleter_type & get_deleter() noexcept | |
153+ | |✓|✓| | reference operator*() const | |
154+ | |✓|✓| | pointer operator->() const noexcept | |
155+ | |✓|✓| C++11 | explicit operator bool() const noexcept | |
156+ | |– |– |<C++11 | operator safe_bool() const noexcept | |
157+ | |– |– | | bool has_value() const nsvp_noexcept | |
158+ | |– |– | | element_type const & value() const | |
159+ | |– |– | | element_type & value() | |
160+ | |– |– | C++11 | template< class U ><br>constexpr element_type value_or( U && v ) const | |
161+ | |– |– |<C++11 | template< class U ><br>constexpr element_type value_or( U const & v ) const | |
162+ | Modifiers |✓|✓| | pointer release() noexcept | |
163+ | |– |– | | void reset( pointer p = pointer() ) noexcept | |
164+ | |– |✓| | void swap( value_ptr & other ) noexcept | |
165165
166166**Notes:**<br>
1671671. [2] has various converting constructors.
0 commit comments