#include <mbl_cloneable_ptr.h>
The pointer is guaranteed to always point to something. Used to record base class pointers to objects When copied, the object pointed to gets cloned. When written or read to/from binary streams, suitable polymorphic I/O is invoked.
Definition at line 129 of file mbl_cloneable_ptr.h.
Public Member Functions | |
| ~mbl_cloneable_nzptr () | |
| Destructor. | |
| mbl_cloneable_nzptr (const mbl_cloneable_nzptr< BaseClass > &cp) | |
| Copy constructor. | |
| mbl_cloneable_nzptr (const BaseClass &r) | |
| Construct from pointer, making a clone of r. | |
| mbl_cloneable_nzptr (BaseClass *p) | |
| Constructor from pointer, taking ownership of *p. | |
| mbl_cloneable_nzptr< BaseClass > & | operator= (const mbl_cloneable_nzptr< BaseClass > &cp) |
| Copy operator. | |
| mbl_cloneable_nzptr< BaseClass > & | operator= (const BaseClass &r) |
| Copy operator - takes clone of r. | |
| mbl_cloneable_nzptr< BaseClass > & | operator= (BaseClass *p) |
| Copy operator - takes responsibility for *p. | |
| bool | isDefined () const |
| Return true. | |
| const BaseClass * | operator-> () const |
| Make object behave like pointer to BaseClass. | |
| BaseClass * | operator-> () |
| Make object behave like pointer to BaseClass. | |
| const BaseClass * | ptr () const |
| Return actual pointer. | |
| BaseClass * | ptr () |
| Return actual pointer. | |
| BaseClass * | replace (BaseClass *p) |
| Return and give up ownership of wrapped pointer, while taking ownership a new pointer. | |
| operator BaseClass & () | |
| Cast to allow object to look like thing pointed to. | |
| operator const BaseClass & () const | |
| Cast to allow object to look like thing pointed to. | |
| BaseClass & | operator * () |
| Dereferencing the pointer. | |
| const BaseClass & | operator * () const |
| Dereferencing the pointer. | |
| void | b_write (vsl_b_ostream &bfs) const |
| Save to binary stream. | |
| void | b_read (vsl_b_istream &bfs) |
| Load from binary stream. | |
Private Attributes | |
| BaseClass * | ptr_ |
| mbl_cloneable_nzptr< BaseClass >::~mbl_cloneable_nzptr | ( | ) | [inline] |
| mbl_cloneable_nzptr< BaseClass >::mbl_cloneable_nzptr | ( | const mbl_cloneable_nzptr< BaseClass > & | cp | ) | [inline] |
Copy constructor.
There is no default constructor.
Definition at line 139 of file mbl_cloneable_ptr.h.
| mbl_cloneable_nzptr< BaseClass >::mbl_cloneable_nzptr | ( | const BaseClass & | r | ) | [inline] |
Construct from pointer, making a clone of r.
There is no default constructor.
Definition at line 144 of file mbl_cloneable_ptr.h.
| mbl_cloneable_nzptr< BaseClass >::mbl_cloneable_nzptr | ( | BaseClass * | p | ) | [inline] |
Constructor from pointer, taking ownership of *p.
There is no default constructor.
Definition at line 148 of file mbl_cloneable_ptr.h.
| mbl_cloneable_nzptr<BaseClass>& mbl_cloneable_nzptr< BaseClass >::operator= | ( | const mbl_cloneable_nzptr< BaseClass > & | cp | ) | [inline] |
| mbl_cloneable_nzptr<BaseClass>& mbl_cloneable_nzptr< BaseClass >::operator= | ( | const BaseClass & | r | ) | [inline] |
| mbl_cloneable_nzptr<BaseClass>& mbl_cloneable_nzptr< BaseClass >::operator= | ( | BaseClass * | p | ) | [inline] |
Copy operator - takes responsibility for *p.
Sets internal pointer to p, and takes responsibility for deleting *p
Definition at line 175 of file mbl_cloneable_ptr.h.
| bool mbl_cloneable_nzptr< BaseClass >::isDefined | ( | ) | const [inline] |
| const BaseClass* mbl_cloneable_nzptr< BaseClass >::operator-> | ( | ) | const [inline] |
| BaseClass* mbl_cloneable_nzptr< BaseClass >::operator-> | ( | ) | [inline] |
| const BaseClass* mbl_cloneable_nzptr< BaseClass >::ptr | ( | ) | const [inline] |
| BaseClass* mbl_cloneable_nzptr< BaseClass >::ptr | ( | ) | [inline] |
| BaseClass* mbl_cloneable_nzptr< BaseClass >::replace | ( | BaseClass * | p | ) | [inline] |
Return and give up ownership of wrapped pointer, while taking ownership a new pointer.
Definition at line 200 of file mbl_cloneable_ptr.h.
| mbl_cloneable_nzptr< BaseClass >::operator BaseClass & | ( | ) | [inline] |
Cast to allow object to look like thing pointed to.
Definition at line 204 of file mbl_cloneable_ptr.h.
| mbl_cloneable_nzptr< BaseClass >::operator const BaseClass & | ( | ) | const [inline] |
Cast to allow object to look like thing pointed to.
Definition at line 207 of file mbl_cloneable_ptr.h.
| BaseClass& mbl_cloneable_nzptr< BaseClass >::operator * | ( | ) | [inline] |
| const BaseClass& mbl_cloneable_nzptr< BaseClass >::operator * | ( | ) | const [inline] |
| void mbl_cloneable_nzptr< BaseClass >::b_write | ( | vsl_b_ostream & | bfs | ) | const [inline] |
| void mbl_cloneable_nzptr< BaseClass >::b_read | ( | vsl_b_istream & | bfs | ) | [inline] |
BaseClass* mbl_cloneable_nzptr< BaseClass >::ptr_ [private] |
Definition at line 131 of file mbl_cloneable_ptr.h.
1.5.1