0Pricing
C++ Academy · Lesson

Range Adaptors views::filter transform take

Compose lazy range pipelines with views::filter, views::transform, and views::take.

The Three Core Adaptors

The most common range adaptors:

  • std::views::filter — keep elements matching a predicate
  • std::views::transform — apply a function to each
  • std::views::take — keep the first n

views::filter

Lazy filter — returns a view that yields only matching elements.

auto evens = v | std::views::filter([](int x) { return x % 2 == 0; });
for (int x : evens) std::cout << x << " ";

All lessons in this course

  1. Iterator Categories input forward bidirectional random
  2. Common Iterator Patterns begin end advance
  3. C++20 Ranges Library Introduction
  4. Range Adaptors views::filter transform take
← Back to C++ Academy