| glibmm 2.66.7
    | 
WeakRef<> is a weak reference smartpointer. More...
#include <glibmm/weakref.h>
| Public Member Functions | |
| WeakRef () noexcept | |
| Default constructor.  More... | |
| WeakRef (const WeakRef & src) noexcept | |
| Copy constructor.  More... | |
| WeakRef (WeakRef && src) noexcept | |
| Move constructor.  More... | |
| template<typename T_CastFrom > | |
| WeakRef (const WeakRef< T_CastFrom > & src) noexcept | |
| Copy constructor from different, but castable type.  More... | |
| template<typename T_CastFrom > | |
| WeakRef (WeakRef< T_CastFrom > && src) noexcept | |
| Move constructor from different, but castable type.  More... | |
| template<typename T_CastFrom > | |
| WeakRef (const RefPtr< T_CastFrom > & src) noexcept | |
| Constructor from a RefPtr of the same or a castable type.  More... | |
| ~WeakRef () noexcept | |
| Destructor.  More... | |
| void | swap (WeakRef & other) noexcept | 
| Swap the contents of two WeakRef<>.  More... | |
| WeakRef & | operator= (const WeakRef & src) noexcept | 
| Copy assignment operator.  More... | |
| WeakRef & | operator= (WeakRef && src) noexcept | 
| Move assignment operator.  More... | |
| template<typename T_CastFrom > | |
| WeakRef & | operator= (const WeakRef< T_CastFrom > & src) noexcept | 
| Copy assignment from different, but castable type.  More... | |
| template<typename T_CastFrom > | |
| WeakRef & | operator= (WeakRef< T_CastFrom > && src) noexcept | 
| Move assignment from different, but castable type.  More... | |
| template<typename T_CastFrom > | |
| WeakRef & | operator= (const RefPtr< T_CastFrom > & src) noexcept | 
| Assignment from a RefPtr of the same or a castable type.  More... | |
| operator bool () const noexcept | |
| Test whether the WeakRef<> points to any underlying instance.  More... | |
| RefPtr< T_CppObject > | get () const noexcept | 
| Create a strong reference to the underlying object.  More... | |
| void | reset () noexcept | 
| Make this WeakRef empty.  More... | |
| Static Public Member Functions | |
| template<typename T_CastFrom > | |
| static WeakRef | cast_dynamic (const WeakRef< T_CastFrom > & src) noexcept | 
| Dynamic cast to derived class.  More... | |
| template<typename T_CastFrom > | |
| static WeakRef | cast_static (const WeakRef< T_CastFrom > & src) noexcept | 
| Static cast to derived class.  More... | |
| template<typename T_CastFrom > | |
| static WeakRef | cast_const (const WeakRef< T_CastFrom > & src) noexcept | 
| Cast to non-const.  More... | |
| Related Functions | |
| (Note that these are not member functions.) | |
| template<class T_CppObject > | |
| void | swap (WeakRef< T_CppObject > & lhs, WeakRef< T_CppObject > & rhs) noexcept | 
| Swap the contents of two WeakRef<>.  More... | |
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<>.