i6engine  1.0
sharedPtr.h File Reference
#include <atomic>
#include <list>
#include <memory>
#include <mutex>
#include <new>
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  i6e::utils::sharedPtrWrapper< T >
 struct handling threadsafe destruction of the wrapped pointer More...
 
class  i6e::utils::sharedPtr< T, U >
 A shared pointer counting references and adds objects being not referenced any more to an internal list required external call of clear to delete all objects, no automatic deletion to stay threadsafe T = type of the pointer, U = base type of the pointer. More...
 
class  i6e::utils::weakPtr< T, Base >
 A weak pointer observing a sharedPtr. More...
 
class  i6e::utils::sharedPtr< T, U >
 A shared pointer counting references and adds objects being not referenced any more to an internal list required external call of clear to delete all objects, no automatic deletion to stay threadsafe T = type of the pointer, U = base type of the pointer. More...
 

Namespaces

 i6e
 
 i6e::utils
 

Functions

template<typename T1 , typename T2 , typename U >
sharedPtr< T1, U > i6e::utils::dynamic_pointer_cast (const sharedPtr< T2, U > &base)
 casts a sharedPtr of dynamic type T2 to dynamic type T1 More...
 
template<typename T , typename U , typename... Args>
sharedPtr< T, U > i6e::utils::make_shared (Args &&...)
 
template<typename T , typename U , typename... Args>
sharedPtr< T, U > i6e::utils::make_shared (Args &&...args)
 creates a new sharedPtr with dynamic type T and static type U, Args are constructor arguments More...
 
template<class T , class U >
T * i6e::utils::get_pointer (const sharedPtr< T, U > &p)
 gets pointer of a shared pointer necessary for luabind and boost::python More...