TAliasTo(const TAliasTo& copy) -- copies the pointer, resulting in two aliases to the same instance.
~TAliasTo() -- does nothing. Unlike the other safe pointer wrappers, the destructor does not release the object it points to.
operator=(AType* ) -- copies the pointer into the wrapper.
operator=(const TAliasTo& ) -- copies the pointer, resulting in two aliases to the same instance.
operator AType*() -- returns a copy of the pointer contained in the wrapper. Returns NIL if the wrapper contains a NIL pointer. This operator enables implicit conversion from this class to AType*. For example, for two objects L and R of type TAliasTo<AType>, "L == R" implicitly means "L.operator AType*() == R.operator AType*()". Likewise for "L != R".
Orphan() -- returns a copy of the pointer contained in the wrapper, and changes the wrapper to contain NIL. GetAlias() will subsequently return NIL.
Resurrect (TAliasTo<AType>&, TStream& from,...) -- resurrects an object from a stream, and assigns a pointer to the resurrected object into the wrapper. This function won't compile unless Resurrect(AType*&, TStream&) is available.
TAliasTo also inherits the interface and implementation of TPointerTo.