Я использую библиотеку cmcstl2 с предлагаемыми C ++ диапазонами с gcc 8
std::string text = "Let me split this into words";
std::string pattern = " ";
auto splitText = text | ranges::view::split(pattern) |
ranges::view::reverse;
Но это не работает, поскольку представление является только прямым диапазоном, а не двунаправленным диапазоном, который требуется для диапазона (который являетсячто я думаю происходит).Зачем?если
text | ranges::view::split(pattern)
выводит представление поддиапазонов.Разве это мнение не может быть обращено вспять?
Также в cmcstl2 я должен сделать следующее, чтобы распечатать его.
for (auto x : splitText)
{
for (auto m : x)
std::cout << m;
std::cout << " ";
}
Но в версии range-v3 / 0.4.0 я могу сделать:
for (auto x : splitText)
std::cout << x << '\n';
Зачем?Какой тип х?