MezzanineEngine 
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Classes | Namespaces | Constant Groups | Enumerations | Functions
countedptr.h File Reference

This file describes and implements a reference counted pointer that is NOT threadsafe. More...

#include "datatypes.h"
+ Include dependency graph for countedptr.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  Mezzanine::CountedPtr< TypePointedTo >
 A simple reference counting pointer. More...
 
class  Mezzanine::CountedPtr< TypePointedTo >
 A simple reference counting pointer. More...
 
class  Mezzanine::CountedPtrCastImpl< ReturnPointer, OriginalPointer, CountedPointerCastingState >
 This is used as to determine how a CountedPtr performs castin between pointer types internally. More...
 
class  Mezzanine::CountedPtrCastImpl< ReturnPointer, OriginalPointer, CountedPointerCastingState >
 This is used as to determine how a CountedPtr performs castin between pointer types internally. More...
 
class  Mezzanine::CountedPtrCastImpl< OriginalPointer, OriginalPointer, CastNoneError >
 An implementation of the CountedPtrCast that always return the pointer passed reached via CastNoneError in the ReferenceCountTraits of the target class. More...
 
class  Mezzanine::CountedPtrCastImpl< ReturnPointer, OriginalPointer, CastDynamic >
 An implementation of the CountedPtrCast that naively dynamic casts the passed pointer. Reached by putting CastDynamic in the ReferenceCountTraits of the target class. More...
 
class  Mezzanine::CountedPtrCastImpl< ReturnPointer, OriginalPointer, CastImplicit >
 An implementation of the CountedPtrCast that casts the passed pointer. Reached by putting CastStatic in the ReferenceCountTraits of the target class. More...
 
class  Mezzanine::CountedPtrCastImpl< ReturnPointer, OriginalPointer, CastNoneReturnZero >
 An implementation of the CountedPtrCast that always returns 0 cast to the original pointer type. Reached by putting CastNoneReturnZero in the ReferenceCountTraits of the target class. More...
 
class  Mezzanine::CountedPtrCastImpl< ReturnPointer, OriginalPointer, CastStatic >
 An implementation of the CountedPtrCast that naively static casts the passed pointer. Reached by putting CastStatic in the ReferenceCountTraits of the target class. More...
 
class  Mezzanine::IntrusiveRefCount
 A sample class that implements a minimal intrusive reference counting scheme. More...
 
class  Mezzanine::ReferenceCount< TypePointedTo >
 This exists once per object managed by a group of shared pointer to track items in memory. More...
 
class  Mezzanine::ReferenceCountTraits< T >
 This is used to deduce at compile if a specific class has built-in reference counting or needs an external reference count. More...
 
class  Mezzanine::ReferenceCountTraits< T >
 This is used to deduce at compile if a specific class has built-in reference counting or needs an external reference count. More...
 
class  Mezzanine::ReferenceCountTraits< IntrusiveRefCount >
 An Example ReferenceCountTraits implmentation. More...
 

Namespaces

 Mezzanine
 The bulk of the engine components go in this namspace.
 

Constant Groups

 Mezzanine
 The bulk of the engine components go in this namspace.
 

Enumerations

enum  Mezzanine::CountedPointerCastingState {
  Mezzanine::CastNoneError = -2, Mezzanine::CastNoneReturnZero = -1, Mezzanine::CastImplicit = 1, Mezzanine::CastStatic = 2,
  Mezzanine::CastDynamic = 3
}
 CountedPointer casting implementation states. More...
 

Functions

template<typename ReturnType , typename OtherPointerTargetType >
CountedPtr< ReturnType > Mezzanine::CountedPtrCast (CountedPtr< OtherPointerTargetType > &Original)
 A compile time cast that uses only the implicit conversion of the underlying raw pointers. More...
 
template<typename ReturnType , typename OtherPointerTargetType >
CountedPtr< ReturnType > Mezzanine::CountedPtrDynamicCast (CountedPtr< OtherPointerTargetType > &Original)
 A Runtime cast that uses dynamic casting conversion of the underlying raw pointers but only works on internally reference count types. More...
 
template<typename Pointer >
Pointer * Mezzanine::CountedPtrInternalCast (Pointer *Original)
 Used internally by CounterPtr to abstract away casts in the case where the return type would match the input type. More...
 
template<typename ReturnPointer , typename OriginalPointer >
ReturnPointer * Mezzanine::CountedPtrInternalCast (const OriginalPointer *Original)
 Used internally by CounterPtr to abstract away casts in the case where the return type would NOT match the input type. More...
 
template<typename ReturnType , typename OtherPointerTargetType >
CountedPtr< ReturnType > Mezzanine::CountedPtrStaticCast (CountedPtr< OtherPointerTargetType > &Original)
 A compile time cast that uses static casting conversion of the underlying raw pointers but only works on internally reference count types. More...
 

Detailed Description

This file describes and implements a reference counted pointer that is NOT threadsafe.

Definition in file countedptr.h.