в 413 public: // Объявление к

Автор admin Пятница, 12 июня 2009 11:32

в 413 public: // Объявление класса необходимо для того, чтобы // следующее объявление ‘friend’ видело итератор ‘iterator’ // вместо std: iterator: class iterator: friend class iterator: class iterator : public std::iterator< std::bidirectional_iterator_tag.T.ptrdiff_t>{ typename list:iterator it: list* r: public: iterator(list& 1st. const typename list::iterators i) : r(Slst). it(i) {} bool operator™=(const iterators x) const { return it == x.it: } bool operator!-(const iterators x) const { return !(*this — x): } typename 1i st::reference operator*() const { return *it: } iterators operator++() { ++it: if(it — r->end()) it – r->begin(); return *this: } iterator operator++(int) { iterator tmp – *this; ++*this: return tmp: } iterators operator–() { if(it = r->begin()) it = r->end(): –it: return *this: } iterator operator–(int) { iterator tmp – *this: -*this: return tmp: } iterator insert(const TS x){ return iterator(*r. r->insert(it. x)): } iterator eraseO { return iterator(*r. r->erase(it)); } }: void push_back(const TS x) { lst.push_back(x); } iterator beginO { return iteratordst. 1st


Комментарии закрыты.