Tag: STD-RANGES
Estoy intentando usar la biblioteca ranges de c++20 y tengo este bucle simple. for (const int& num : vec | std::views::drop(2)) { std::cout << num << ' '; } Obtengo un mensaje de error que dice error: 'std::views' no se ha declarado. No obtengo errores sobre la inclusión del encabezado. . . . Read more
Quiero poner la definición de una vista en una unidad de compilación separada, pero para exportar la vista necesito su tipo. // .h auto GetView(int index, int size); // .cpp auto GetView(int index, int size) { auto view = ranges::views::ints(-2, 3) | ranges::views::transform([=](auto i) { return i + index; } . . . Read more
Con c++ 20 obtenemos muchas características nuevas con rangos, spans y demás. Ahora, si necesito iterar sobre un contenedor, pero solo los primeros n elementos, ¿cuál sería la forma más apropiada y hay alguna diferencia práctica sucediendo detrás de escena? ¿O es tal vez una mejor idea volver a los . . . Read more
Este código funciona y devuelve un iterador a foo{5} desde el vector: struct foo { int value; }; auto main() -> int { auto ints = std::vector<foo>{{3}, {2}, {5}, {6}, {7}, {0}, {4}, {6}}; std::ranges::sort(ints, {}, &foo::value); auto it = std::upper_bound( ints.begin(), ints.end(), 4, [](const int v, const foo f) . . . Read more
Estoy intentando implementar repetir n veces usando los rangos de C++20. Funciona, pero todos los enfoques que se me ocurren necesitan una variable ficticia (una para la variable del bucle for, otra para la aridad de la lambda). static constexpr int kIterations = 3; void f1(){ auto c = '.'; . . . Read more