Spinning Topp Logo BlackTopp Studios
inc
Classes | Namespaces | 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.
 

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.