template<class AType> class TOnlyPointerTo : public TPointerTo<AType> {
public:
TOnlyPointerTo(AType* adopt = NIL);
TOnlyPointerTo(TOnlyPointerTo<AType>& transfer);
~TOnlyPointerTo();
TOnlyPointerTo&operator=(AType* adopt);
TOnlyPointerTo&operator=(TOnlyPointerTo& transfer);
AType*Orphan();
Boolean operator== (const TOnlyPointerTo<AType>&);
Boolean operator!= (const TOnlyPointerTo<AType>&);
Boolean operator== (const AType*) const;
Boolean operator!= (const AType*) const;
};
template<class AType> Boolean
operator== (const AType* l, const TOnlyPointerTo<AType>& r);
template<class AType> Boolean
operator!= (const AType* l, const TOnlyPointerTo<AType>& r);
template<class AType> void
Resurrect (TOnlyPointerTo<AType>& p, TStream& from)
{auto AType* raw; Resurrect (raw, from); p = raw;}
template<class AType> void
Resurrect (TOnlyPointerTo<AType>& p, TStream& from, TMemoryHeap& heap)
{auto AType* raw; Resurrect (raw, from, heap); p = raw;}
template<class AType> void
Resurrect (TOnlyPointerTo<AType>& p, TStream& from, EHeapType t, const void* o)
{auto AType* raw; Resurrect (raw, from, t, o); p = raw;}