CrystalSpace

Public API Reference

csPtr< T > Class Template Reference

A pointer encapsulator. More...

#include <csutil/ref.h>

List of all members.

Public Member Functions

 csPtr (const csPtr< T > &copy)
template<class T2>
 csPtr (csRef< T2 > const &r)
 csPtr (T *p)

Friends

class csRef< T >


Detailed Description

template<class T>
class csPtr< T >

A pointer encapsulator.

Represents a single, owned, one-time-transferable reference to an object and should be used only as the return value of a function, or when creating a brand new object which is assigned directly to a csRef<>. csPtr<> simply stores the pointer (it never invokes IncRef() or DecRef()). It is very specialized, and exists solely as a mechanism for transferring an existing reference into a csRef<>.

Important: There is only one valid way to use the result of a function which returns a csPtr<>: assign it to a csRef<>.

Remarks:
An extended explanation on smart pointers - how they work and what type to use in what scenario - is contained in the User's manual, section "Correctly Using Smart Pointers".

Definition at line 85 of file ref.h.


The documentation for this class was generated from the following file:
Generated for Crystal Space by doxygen 1.4.7