FREE Subscription to Dr. Dobb’s Digest: Same Great Content, New Digital Edition
Site Archive (Complete)
C++
Email
Print
Reprint

add to:
Del.icio.us
Digg
Google
Furl
Slashdot
Y! MyWeb
Blink
April 01, 2004

STL Sequences & the View Concept

(Page 4 of 5)
April 04:

Listing 2: Excerpt from the view's interface.

template
<
    typename StoredIterator,
    class Container = std::vector<StoredIterator>>

class view { public: // iterators for transparent access typedef view_iterator<typename Container::iterator> iterator; typedef view_iterator<typename Container::const_iterator> const_iterator; // iterators for raw container traversal typedef typename Container::iterator v_iterator; typedef typename Container::const_iterator v_const_iterator; // ... // iterators: iterator begin() { return iterator(container_.begin()); } iterator end() { return iterator(container_.end()); } // ... // raw container iterators: v_iterator v_begin() { return container_.begin(); } v_iterator v_end() { return container_.end(); } // capacity: size_type size() const { return container_.size(); } // ... // element access: reference operator[](size_type n) { return *(container_[n]); } // ... // modifiers: void push_back(const StoredIterator &i) { container_.push_back(i); } // ... private: Container container_; };

Previous Page | 1 | 2 | 3 | 4 | 5 Next Page
TOP 5 ARTICLES
No Top Articles.



MICROSITES
FEATURED TOPIC

ADDITIONAL TOPICS

INFO-LINK