The Vish Visualization Shell 0.3
Vish
Public Member Functions | List of all members
MemCore::OmegaPtr< Object > Class Template Reference

The Omega pointer - forcibly makes an end to objects. More...

#include <elementary/memcore/OmegaPtr.hpp>

Inheritance diagram for MemCore::OmegaPtr< Object >:
MemCore::StrongPtr< Object, StrongPtr< Object >::ObjectBase_t >

Public Member Functions

 OmegaPtr (const WeakPtr< Object > &Obj)
 Construct from weak pointer.
 
 OmegaPtr (Object *Obj, const NotNullPtr &)
 Construct from strong pointer.
 
 ~OmegaPtr ()
 Destructor, destructs the object itself, disregarding how many ref pointers still refer to it.
 

Additional Inherited Members

Detailed Description

template<class Object>
class MemCore::OmegaPtr< Object >

The Omega pointer - forcibly makes an end to objects.

A specially lethal pointer which destructs the object that it points to, no matter how many other strong reference pointers might refer to it. All other strong and weak pointers to the same object will be invalidated.

Omega pointers keep reference-counted objects alive, same as strong pointers, but while with strong pointers the last one kills the respective object, for Omega pointers the first one kills it. Once a Omega pointer gets ahold of an object, no strong pointer can keep that object alive.

, WeakPtr, DynPtr