gdcm::SmartPointer< ObjectType > Class Template Reference

Class for Smart Pointer. More...

`#include <gdcmSmartPointer.h>`

Inheritance diagram for gdcm::SmartPointer< ObjectType >:
[legend]

## Public Member Functions

| SmartPointer ()
| SmartPointer (const SmartPointer< ObjectType > &p)
| SmartPointer (ObjectType *p)
| SmartPointer (ObjectType const &p)
| ~SmartPointer ()
ObjectType * | GetPointer () const
| Explicit function to retrieve the pointer.
| operator ObjectType * () const
| Return pointer to object.
ObjectType & | operator* () const
ObjectType * | operator-> () const
| Overload operator ->.
SmartPointer & | operator= (ObjectType *r)
| Overload operator assignment.
SmartPointer & | operator= (ObjectType const &r)
SmartPointer & | operator= (SmartPointer const &r)
| Overload operator assignment.

## Detailed Description

template<class ObjectType>
class gdcm::SmartPointer< ObjectType >

Class for Smart Pointer.

Will only work for subclass of gdcm::Object See tr1/shared_ptr for a more general approach (not invasive) #include <tr1/memory> { shared_ptr<Bla> b(new Bla); }

Note
  Class partly based on post by Bill Hubauer: http://groups.google.com/group/comp.lang.c++/msg/173ddc38a827a930

See also
  http://www.davethehat.com/articles/smartp.htm

and itk::SmartPointer

Examples
  CStoreQtProgress.cxx, ChangeSequenceUltrasound.cxx, DumpGEMSMovieGroup.cxx, DumpPhilipsECHO.cxx, DumpToshibaDTI.cxx, DumpToshibaDTI2.cxx, DumpVisusChange.cxx, Extracting_All_Resolution.cxx, Fake_Image_Using_Stream_Image_Writer.cxx, FixBrokenJ2K.cxx, GenAllVR.cxx, GenFakeIdentifyFile.cxx, GenFakeImage.cxx, GenLongSeqs.cxx, GenSeqs.cxx, GetSubSequenceData.cxx, LargeVRDSExplicit.cxx, ReadAndDumpDICOMDIR.cxx, ReadExplicitLengthSQIVR.cxx, SimpleScanner.cxx, gdcmrtionplan.cxx, and gdcmrtplan.cxx.

## Constructor & Destructor Documentation

## SmartPointer() [1/4]

template<class ObjectType>

gdcm::SmartPointer< ObjectType >::SmartPointer | ( |  | ) |

inline

## SmartPointer() [2/4]

template<class ObjectType>

gdcm::SmartPointer< ObjectType >::SmartPointer | ( | const SmartPointer< ObjectType > & | p | ) |

inline

## SmartPointer() [3/4]

template<class ObjectType>

gdcm::SmartPointer< ObjectType >::SmartPointer | ( | ObjectType * | p | ) |

inline

## SmartPointer() [4/4]

template<class ObjectType>

gdcm::SmartPointer< ObjectType >::SmartPointer | ( | ObjectType const & | p | ) |

inline

## ~SmartPointer()

template<class ObjectType>

gdcm::SmartPointer< ObjectType >::~SmartPointer | ( |  | ) |

inline

## Member Function Documentation

## GetPointer()

template<class ObjectType>

ObjectType * gdcm::SmartPointer< ObjectType >::GetPointer | ( |  | ) | const

inline

Explicit function to retrieve the pointer.

## operator ObjectType *()

template<class ObjectType>

gdcm::SmartPointer< ObjectType >::operator ObjectType * | ( |  | ) | const

inline

Return pointer to object.

## operator*()

template<class ObjectType>

ObjectType & gdcm::SmartPointer< ObjectType >::operator* | ( |  | ) | const

inline

## operator->()

template<class ObjectType>

ObjectType * gdcm::SmartPointer< ObjectType >::operator-> | ( |  | ) | const

inline

Overload operator ->.

## operator=() [1/3]

template<class ObjectType>

SmartPointer & gdcm::SmartPointer< ObjectType >::operator= | ( | ObjectType * | r | ) |

inline

Overload operator assignment.

## operator=() [2/3]

template<class ObjectType>

SmartPointer & gdcm::SmartPointer< ObjectType >::operator= | ( | ObjectType const & | r | ) |

inline

## operator=() [3/3]

template<class ObjectType>

SmartPointer & gdcm::SmartPointer< ObjectType >::operator= | ( | SmartPointer< ObjectType > const & | r | ) |

inline

Overload operator assignment.

Referenced by gdcm::SmartPointer< Value >::operator=(), and gdcm::SmartPointer< Value >::operator=().

The documentation for this class was generated from the following files:

- gdcmObject.h
- gdcmSmartPointer.h