SourcePro® C++ API Reference Guide

Product Documentation:
   SourcePro C++
Documentation Home
List of all members | Public Types | Public Member Functions | Protected Member Functions
RWTPointer< Body > Class Template Reference

Base class for smart-pointer classes. More...

#include <rw/pointer/RWTPointer.h>

Inheritance diagram for RWTPointer< Body >:
RWTCountedPointer< Body > RWTCountingPointer< Body, Counter > RWTOnlyPointer< Body >

Public Types

typedef Body BodyType
 

Public Member Functions

 ~RWTPointer (void)
 
bool isValid (void) const
 
bool operator!= (const RWTPointer< Body > &second) const
 
bool operator!= (const Body *ptr) const
 
bool operator== (const RWTPointer< Body > &second) const
 
bool operator== (const Body *ptr) const
 
void swapWith (RWTPointer< Body > &second)
 
void validate (void) const
 

Protected Member Functions

 RWTPointer (void)
 
 RWTPointer (RWStaticCtor)
 
 RWTPointer (Body *bodyP)
 
 RWTPointer (const RWTPointer< Body > &second)
 
Body * get (void) const
 
RWTPointer< Body > & operator= (Body *ptr)
 

Detailed Description

template<class Body>
class RWTPointer< Body >

Base class for the smart-pointer classes in the Smart Pointer package.

Member Typedef Documentation

template<class Body>
typedef Body RWTPointer< Body >::BodyType

The type of the body.

Constructor & Destructor Documentation

template<class Body>
RWTPointer< Body >::~RWTPointer ( void  )

Destructor. Throws no exceptions.

template<class Body>
RWTPointer< Body >::RWTPointer ( void  )
protected

Constructs a handle instance with a pointer value of rwnil. Throws no exceptions.

template<class Body>
RWTPointer< Body >::RWTPointer ( RWStaticCtor  )
protected

Constructor for static pointers that may be used before constructed. Throws no exceptions.

template<class Body>
RWTPointer< Body >::RWTPointer ( Body *  bodyP)
protected

Constructs a handle instance that points to the specified body. Throws no exceptions.

template<class Body>
RWTPointer< Body >::RWTPointer ( const RWTPointer< Body > &  second)
protected

Constructs a handle instance that points to the same body as second. Throws no exceptions.

Member Function Documentation

template<class Body>
Body* RWTPointer< Body >::get ( void  ) const
protected

Retrieves the handle's pointer value without validating it. Throws no exceptions.

template<class Body >
bool RWTPointer< Body >::isValid ( void  ) const
inline

Returns true if the pointer is non-nil (rwnil), otherwise returns false. Throws no exceptions.

template<class Body>
bool RWTPointer< Body >::operator!= ( const RWTPointer< Body > &  second) const

Tests to see if this instance points to a different body than the second instance points to. Throws no exceptions.

template<class Body>
bool RWTPointer< Body >::operator!= ( const Body *  ptr) const

Tests to see if this instance points to a different body than ptr. Throws no exceptions.

template<class Body>
RWTPointer<Body>& RWTPointer< Body >::operator= ( Body *  ptr)
protected

Assigns a new pointer value to the handle. The parameter ptr is Body*. Throws no exceptions.

template<class Body>
bool RWTPointer< Body >::operator== ( const RWTPointer< Body > &  second) const

Tests to see if this instance points to the same body that the second instance points to. Throws no exceptions.

template<class Body>
bool RWTPointer< Body >::operator== ( const Body *  ptr) const

Tests to see if this instance points to the same body as ptr. Throws no exceptions.

template<class Body>
void RWTPointer< Body >::swapWith ( RWTPointer< Body > &  second)

Swap bodies, if any, pointed to by this and second. Throws no exceptions.

template<class Body >
void RWTPointer< Body >::validate ( void  ) const
inline

Check if the pointer is valid. Throws an RWTHRInvalidPointer exception if the pointer is rwnil.

Copyright © 2016 Rogue Wave Software, Inc. All Rights Reserved.
Rogue Wave and SourcePro are registered trademarks of Rogue Wave Software, Inc. in the United States and other countries. All other trademarks are the property of their respective owners.
Provide feedback to Rogue Wave about its documentation.