Generic iterators

4/6/99


Click here to start


Table of Contents

Generic iterators

Example from last lecture

The example generalized

Implications

More implications

An example

Making find work with built-in arrays

Generalizing find to other types

What's going on here?

How might we make this find more useful?

Defining ranges without counting

Advantages of off-the-end pointers

Why is == important?

The next revision of find

Assumptions about type P

We can fill out the assumptions

Why no null iterators?

The answer is subtle

Another reason to return end

Input iterator requirements

Output iterator requirements

Using input and output iterators

A copy example

Why is this abstraction useful?

Other categories of iterators

Using bidirectional iterators

A more compact version

The swap function

Using random-access iterators

Iterator category summary

How the library uses these abstractions

Discussion

Example

Should type decisions be at compile time?

Generic applications

Summary

Shorter summary

Projects

Project dates

Project scheduling

Author: Andrew Koenig

Email: ark@research.att.com

Home Page: http://www.research.att.com/info/ark