This event has ended. View the official site or create your own event → Check it out
This event has ended. Create your own
View analytic
Wednesday, September 21 • 9:00am - 10:00am
From Zero to Iterators: Building and Extending the Iterator Hierarchy in a Modern, Multicore World

Log in to save this to your schedule and see who's attending!

You've likely used the STL before, and you are probably comfortable using std::vector some algorithms, but you may not be quite so comfortable with STL iterators. What even are "single pass writable iterators"? What does that mean to me as a user of the STL?

In this talk, we will motivate the iterator concept hierarchy as it exists in the STL today by looking at useful algorithms and how they traverse their input and output ranges. We will take these concrete examples and slowly begin to abstract, building up the STL iterator concepts, step-by-step.

After presenting the iterator concepts that exist in the STL today, we will build up to two further iterator concepts by looking at useful algorithms and then generalizing from them. First, we will motivate contiguous iterators, which have been voted into the C++17 working draft. Then, we will motivate a less-commonly known iterator concept, segmented iterators, and show how they can help us write parallel and cache-aware algorithms.

You should come away from this talk with an appreciation for generic programming, experience with the syntax in the Concepts Lite Technical Specification, and a better understanding of why iterators are fundamental to the algorithms you write every day.

avatar for Patrick Niedzielski

Patrick Niedzielski

Patrick is a Senior at Cornell University, pursuing a BA in Linguistics and Computer Science. In particular, he is interested in compiler technologies and building high-level, easy-to-use abstractions that maintain well-defined performance characteristics. With over ten years experience in C++ through open source, academic, and industry work, Patrick is enthusiastic about pushing the our understanding of C++ forward. To that end, Patrick teaches... Read More →

Wednesday September 21, 2016 9:00am - 10:00am
Prince Theater (2nd Floor) Meydenbauer Center