Client adaptor - iter
class iter_clt : public iter<T> { public: iter_clt(hush::iterator* it = 0, T* = 0) : _bdy(it) { } hush::iterator* operator->() { return _body(); } void operator=(hush::iterator* it) { _bdy = it; } T* operator()() { CORBA::Object* x = _body()->next(); if (x) return (T*) dummy._narrow(x); else return 0; } protected: hush::iterator* _bdy; hush::iterator* _body() const { return (hush::iterator*) _bdy; } private: static T dummy; };