glibmm 2.66.6
|
WeakRef<> is a weak reference smartpointer. More...
#include <glibmm/weakref.h>
Public Member Functions | |
WeakRef () noexcept | |
Default constructor. | |
WeakRef (const WeakRef &src) noexcept | |
Copy constructor. | |
WeakRef (WeakRef &&src) noexcept | |
Move constructor. | |
template <typename T_CastFrom > | |
WeakRef (const WeakRef< T_CastFrom > &src) noexcept | |
Copy constructor from different, but castable type. | |
template <typename T_CastFrom > | |
WeakRef (WeakRef< T_CastFrom > &&src) noexcept | |
Move constructor from different, but castable type. | |
template <typename T_CastFrom > | |
WeakRef (const RefPtr< T_CastFrom > &src) noexcept | |
Constructor from a RefPtr of the same or a castable type. | |
~WeakRef () noexcept | |
Destructor. | |
void | swap (WeakRef &other) noexcept |
Swap the contents of two WeakRef<>. | |
WeakRef & | operator= (const WeakRef &src) noexcept |
Copy assignment operator. | |
WeakRef & | operator= (WeakRef &&src) noexcept |
Move assignment operator. | |
template <typename T_CastFrom > | |
WeakRef & | operator= (const WeakRef< T_CastFrom > &src) noexcept |
Copy assignment from different, but castable type. | |
template <typename T_CastFrom > | |
WeakRef & | operator= (WeakRef< T_CastFrom > &&src) noexcept |
Move assignment from different, but castable type. | |
template <typename T_CastFrom > | |
WeakRef & | operator= (const RefPtr< T_CastFrom > &src) noexcept |
Assignment from a RefPtr of the same or a castable type. | |
operator bool () const noexcept | |
Test whether the WeakRef<> points to any underlying instance. | |
RefPtr< T_CppObject > | get () const noexcept |
Create a strong reference to the underlying object. | |
void | reset () noexcept |
Make this WeakRef empty. | |
Static Public Member Functions | |
template <typename T_CastFrom > | |
static WeakRef | cast_dynamic (const WeakRef< T_CastFrom > &src) noexcept |
Dynamic cast to derived class. | |
template <typename T_CastFrom > | |
static WeakRef | cast_static (const WeakRef< T_CastFrom > &src) noexcept |
Static cast to derived class. | |
template <typename T_CastFrom > | |
static WeakRef | cast_const (const WeakRef< T_CastFrom > &src) noexcept |
Cast to non-const. | |
Related Symbols | |
(Note that these are not member symbols.) | |
template <class T_CppObject > | |
void | swap (WeakRef< T_CppObject > &lhs, WeakRef< T_CppObject > &rhs) noexcept |
Swap the contents of two WeakRef<>. | |
WeakRef<> is a weak reference smartpointer.
WeakRef can store a pointer to any class that is derived from Glib::ObjectBase, and whose reference() method is noexcept. In glibmm and gtkmm, that is anything derived from Glib::ObjectBase.
Unlike a RefPtr, a WeakRef does not contribute to the reference counting of the underlying object.
|
inlinenoexcept |
Default constructor.
Create an empty weak reference.
|
inlinenoexcept |
Copy constructor.
|
inlinenoexcept |
Move constructor.
|
inlinenoexcept |
Copy constructor from different, but castable type.
|
inlinenoexcept |
Move constructor from different, but castable type.
|
inlinenoexcept |
|
inlinenoexcept |
Destructor.
|
inlinestaticnoexcept |
Cast to non-const.
The WeakRef can't be cast with the usual notation so instead you can use
|
inlinestaticnoexcept |
Dynamic cast to derived class.
The WeakRef can't be cast with the usual notation so instead you can use
|
inlinestaticnoexcept |
Static cast to derived class.
The WeakRef can't be cast with the usual notation so instead you can use
|
inlinenoexcept |
|
inlineexplicitnoexcept |
Test whether the WeakRef<> points to any underlying instance.
Mimics usage of ordinary pointers:
In a multi-threaded program a true
return value can become obsolete at any time, even before the caller has a chance to test it, because the underlying instance may lose its last reference in another thread. Use get() if this is not acceptable.
|
inlinenoexcept |
Assignment from a RefPtr of the same or a castable type.
|
inlinenoexcept |
Copy assignment operator.
|
inlinenoexcept |
Copy assignment from different, but castable type.
|
inlinenoexcept |
Move assignment operator.
|
inlinenoexcept |
Move assignment from different, but castable type.
|
inlinenoexcept |
Make this WeakRef empty.
|
inlinenoexcept |
Swap the contents of two WeakRef<>.
|
related |
Swap the contents of two WeakRef<>.