#include <CTBretObj.hxx>
Inheritance diagram for CTBretObj:
Public Methods | |
CTBretObj () | |
CTBretObj (CTBretObj< T > &rhs) | |
CTBretObj (T &rhs) | |
CTBretObj< T > & | operator= (CTBretObj< T > &rhs) |
CTBretObj< T > & | operator= (T &rhs) |
T()
T(T&,bool)
-- grab constructor T::Grab(T&)
-- grab method
class foo; typedef CTBretObj<foo> fooRet; class foo { foo(); // default constructor foo(foo& rhs, bool b_grab); // grab constructor foo(fooRet& rhs); // construct from return object Grab(foo& rhs); foo& operator=(fooRet& rhs); // assign from return object }; foo::foo(fooRet& rhs):....{....} // exactly like grab constructor foo& operator=(fooRet& rhs) { Grab(rhs); return *this; }
Typical usage for template classes:
template <class T> class foo { typedef CTBretObj<foo<T> > RetObj; foo(); // default constructor foo(foo<T>& rhs, bool b_grab); // grab constructor foo(foo<T>::RetObj& rhs); // construct from return object Grab(foo<T>& rhs); foo<T>& operator=(foo<T>::RetObj& rhs); // assign from return object }; template <class T> foo<T>::foo(foo<T>::RetObj& rhs):....{....} // exactly like grab constructor template <class T> foo<T>& foo<T>::operator=(foo<T>::RetObj& rhs) { Grab(rhs); return *this; }
Definition at line 17 of file CTBretObj.hxx.
|
Default constructor. Builds a return object with a default constructed T. Definition at line 77 of file CTBretObj.icc. |
|
Copy constructor (grabs rhs).
Definition at line 84 of file CTBretObj.icc. |
|
Construct from object (grabs rhs).
Definition at line 92 of file CTBretObj.icc. |
|
Assignment (grabs rhs).
Definition at line 100 of file CTBretObj.icc. |
|
Assignment (grabs rhs).
Definition at line 110 of file CTBretObj.icc. |