Iterators and Ranges - Comparing C++ to D to Rust
Offered By: CppNow via YouTube
Course Description
Overview
Explore the differences between iterator and range models in C++, D, and Rust in this comprehensive conference talk from CppNow 2021. Delve into the STL iterator abstraction in C++ and compare it to alternative approaches in D and Rust. Examine the strengths and weaknesses of each language's model through implementations of common operations like map, filter, and find_if. Gain insights into the nuances of iterator-pair models versus other iteration paradigms used in languages such as Python and Java. Learn from detailed code examples and analysis of how these different approaches impact language design and usage.
Syllabus
Intro
Basis Operations
Basic C++ Range Structure
Implementing map in C++ (transform)
Implementing filter in C++
The D Ranges Model
Basic D Range Structure
Implementing map in D
Implementing filter in D
Reading Languages
C++ Iterators vs D Ranges: find if
C++ Iterators vs D Ranges: splitting
The Rust Iterator Model
Basic Rust Iterator Structure
Implementing map in Rust
Implementing filter in Rust
The Rust/Python Iterator Model
Implementing filter in Python
Implementing filter in Java
Implementing peek in Rust
Iterator Languages: find if
Iterator Languages: group_by
Taught by
CppNow
Related Courses
Your Favorite Undefined Behavior in C++CppNow via YouTube Under the Hood - Assembly, System Calls, and Hardware in C++
CppNow via YouTube Carbon Language Successor Strategy - From C++ Interop to Memory Safety
CppNow via YouTube Value Oriented Programming Part 1 - You Say You Want to Write a Function
CppNow via YouTube Introducing a Memory-Safe Successor Language in Large C++ Code Bases
CppNow via YouTube