Есть ли у нас поддержка библиотеки диапазонов C ++ 20 во вновь выпущенном GCC 9?
Я скопировал приведенный ниже пример кода для библиотеки диапазонов из:
https://en.cppreference.com/w/cpp/ranges
#include <vector>
#include <ranges>
#include <iostream>
int main()
{
std::vector<int> ints{0,1,2,3,4,5};
auto even = [](int i){ return 0 == i % 2; };
auto square = [](int i) { return i * i; };
for (int i : ints | std::view::filter(even) | std::view::transform(square)) {
std::cout << i << ' ';
}
}
Но при компиляции с g ++ 9.1 (Ubuntu 18.04 LTS (Bionic Beaver)) он жалуется, что <ranges>
не может быть найден:
$ g++ -std=c++2a cpp2a.cpp
cpp2a.cpp:2:10: fatal error: ranges: No such file or directory
2 | #include <ranges>
| ^~~~~~~~
compilation terminated.
Я что-то упустил?
И появится ли библиотека диапазонов в какой-то момент времени с серией GCC 9?