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;
};