|
| | const_ptr () noexcept LIBCXX_INLINE |
| |
| template<typename baseClass2 > |
| | const_ptr (const const_ref< objClass, baseClass2 > &o) noexcept |
| | Copy constructor.
|
| |
| | const_ptr (const objClass *pArg) noexcept LIBCXX_INLINE |
| |
| | const_ptr (const ptrImpl< objClass > &o) noexcept LIBCXX_INLINE |
| | Copy constructor.
|
| |
| template<typename objClass2 > |
| | const_ptr (const ptrImpl< objClass2 > &o) |
| |
| template<typename baseClass2 > |
| | const_ptr (const ref< objClass, baseClass2 > &o) noexcept |
| | Copy constructor called by const_ref.
|
| |
| template<typename baseClass2 > |
| | const_ptr (const_ptr< objClass, baseClass2 > &&o) noexcept |
| |
| template<typename baseClass2 > |
| | const_ptr (const_ref< objClass, baseClass2 > &&o) noexcept |
| | Move constructor.
|
| |
| template<typename baseClass2 > |
| | const_ptr (ptr< objClass, baseClass2 > &&o) noexcept |
| |
| template<typename baseClass2 > |
| | const_ptr (ref< objClass, baseClass2 > &&o) noexcept |
| | Move constructor called by const_ref.
|
| |
| | ~const_ptr () LIBCXX_INLINE |
| | The default destructor.
|
| |
| const objClass & | operator* () const LIBCXX_INLINE |
| | Implement the "*" operator for pointer references.
|
| |
| const objClass * | operator-> () const LIBCXX_INLINE |
| | Implement the "->" operator for pointer references.
|
| |
template<typename T >
requires is_derived_from_ref_or_ptr<T> |
| std::strong_ordering | operator<=> (const T &o) const noexcept LIBCXX_INLINE |
| | Comparison operator.
|
| |
| template<typename objClass2 > |
| const_ptr< objClass, baseClass > & | operator= (const objClass2 *o) |
| |
| const_ptr< objClass, baseClass > & | operator= (const ptrImpl< objClass > &o) noexcept |
| | The assignment operator.
|
| |
| template<typename objClass2 > |
| const_ptr< objClass, baseClass > & | operator= (const ptrImpl< objClass2 > &o) |
| | Convert from a pointer reference to a different type.
|
| |
| const_ptr< objClass, baseClass > & | operator= (ptrImpl< objClass > &&o) noexcept LIBCXX_INLINE |
| | The move operator.
|
| |
template<typename T >
requires is_derived_from_ref_or_ptr<T> |
| bool | operator== (const T &o) const noexcept LIBCXX_INLINE |
| |
template<typename baseClass >
requires derived_from_obj<objClass> |
| | ptrImpl (const const_ref< objClass, baseClass > &o) noexcept |
| |
| | ptrImpl (const ptrImpl< objClass > &o) noexcept LIBCXX_INLINE |
| | The default copy constructor.
|
| |
template<typename baseClass >
requires derived_from_obj<objClass> |
| | ptrImpl (const ref< objClass, baseClass > &o) noexcept |
| |
template<typename baseClass >
requires derived_from_obj<objClass> |
| | ptrImpl (const_ptr< objClass, baseClass > &&o) noexcept |
| | Move constructor.
|
| |
template<typename baseClass >
requires derived_from_obj<objClass> |
| | ptrImpl (const_ref< objClass, baseClass > &&o) noexcept |
| |
template<typename impl_objClass = objClass>
requires derived_from_obj<impl_objClass> |
| | ptrImpl (objClass *pArg) noexcept LIBCXX_INLINE |
| | Default constructor.
|
| |
template<typename baseClass >
requires derived_from_obj<objClass> |
| | ptrImpl (ptr< objClass, baseClass > &&o) noexcept |
| | Move constructor.
|
| |
| | ptrImpl (ptrImpl< objClass > &&o) noexcept LIBCXX_INLINE |
| | Move constructor.
|
| |
template<typename baseClass >
requires derived_from_obj<objClass> |
| | ptrImpl (ref< objClass, baseClass > &&o) noexcept |
| |
| | ~ptrImpl () LIBCXX_INLINE |
| | Default destructor.
|
| |
| bool | null () const noexcept LIBCXX_INLINE |
| | Check if this is an unbound reference.
|
| |
| | operator bool () const noexcept |
| | Make it work in boolean context.
|
| |
| bool | operator! () const noexcept |
| | Make it work in boolean context.
|
| |
| ptrImpl< objClass > & | operator= (const ptrImpl< objClass > &o) noexcept LIBCXX_INLINE |
| | The default assignment operator.
|
| |
| ptrImpl< objClass > & | operator= (ptrImpl< objClass > &&o) noexcept LIBCXX_INLINE |
| | The move operator.
|
| |
template<typename objClass, typename baseClass>
class x::const_ptr< objClass, baseClass >
A pointer to a reference-counted constant object..
This is a version of ptr that dereferences into a constant object. See ptr for more information. With the sole exception being that dereferencing gives a constant object, const_ptr is identical in all other respects to ptr. This is similar to the relationship between an iterator and a const_iterator in the C++ Standard Template library.
And similar to STL iterators, ptr<objClass> can be converted to const_ptr<objClass>, but not the other way around.