#include <poly.h>
Public Member Functions | |
T * | operator-> () |
T & | operator* () |
const T * | operator-> () const |
const T & | operator* () const |
bool | operator== (const polyref &x) |
template<class U > | |
bool | operator!= (const U &x) const |
operator bool () const | |
template<class U > | |
polyref | addObject () |
add object of type U | |
template<class U , class A > | |
polyref | addObject (A x) |
template<class U , class A1 , class A2 > | |
polyref | addObject (A1 x1, A2 x2) |
template<class U > | |
U & | cast () |
cast target to type U. Throws if not possible | |
template<class U > | |
const U & | cast () const |
![]() | |
bool | operator== (const ref &x) const |
bool | operator== (const classdesc::poly< T, TT > *x) const |
bool | operator== (const classdesc::poly< T, TT > &x) const |
ref (const ref &x) | |
ref (const classdesc::poly< T, TT > &x) | |
ref & | operator= (const ref &x) |
ref & | operator= (const classdesc::poly< T, TT > &x) |
classdesc::poly< T, TT > * | operator-> () |
dereference - creates default object if null | |
const classdesc::poly< T, TT > * | operator-> () const |
dereference - throws in debug mode if null | |
functional::bound_method< classdesc::poly< T, TT >, M > | operator->* (M &m) |
functional::bound_method< classdesc::poly< T, TT >, M > | operator->* (M &m) const |
classdesc::poly< T, TT > & | operator* () |
dereference - creates default object if null | |
const classdesc::poly< T, TT > & | operator* () const |
dereference - throws in debug mode if null | |
void | nullify () |
make reference null | |
bool | nullref () const |
true if reference is null | |
operator bool () const | |
equivalent to nullref | |
int | refCount () const |
return the payloads reference count | |
bool | operator!= (const U &x) const |
bool | operator< (const ref &x) const |
void | swap (ref &x) |
reference counted polymorphic smart pointer class - copies are shallow