es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Tag: STD-RANGES

Obtener el valor proyectado de los algoritmos de std::ranges.

Estoy utilizando algoritmos de std::ranges (max y max_element) con una proyección. ¿Es posible que el resultado también sea el valor proyectado? Actualmente tengo que llamar nuevamente a la función de proyección en el valor devuelto. Ejemplo: Aquí quiero obtener el tamaño de la cadena más larga, pero los algoritmos solo . . . Read more

¿Es correcto std::views::reverse en un rango infinito?

Mira este ejemplo de código: enlace: #include <ranges> int main() { for(auto i : std::ranges::iota_view(1) | std::views::reverse) break; } Se compila en gcc (no puedo verificar en clang/msvc, ya que no admiten rangos). Por supuesto, se ejecuta “infinitamente” y no hace nada. También verifiqué que hacer std::ranges::rbegin(inf) o std::ranges::rend(inf) en . . . Read more

¿Se supone que std::ranges::size debe devolver un entero sin signo?

Aquí se indica que std::ranges::size debería devolver un entero sin signo. Sin embargo, cuando lo utilizo en un vector de Eigen (con Eigen 3.4), lo siguiente se compila: Eigen::VectorXd x; static_assert(std::same_as<eigen::vectorxd::index, decltype(std::ranges::size(x))=””>); donde Eigen::VectorXd::Index es notoriamente un entero con signo. Al observar la implementación de std::ranges::size, noté que el tipo . . . Read more

Los vectores no cumplen con std::ranges::contiguous_range en Eigen 3.4.

¿Por qué Eigen::VectorXd no satisface el concepto std::ranges::contiguous_range? Es decir, static_assert(std::ranges::contiguous_range<Eigen::VectorXd>); no se compila. Además, ¿existe la posibilidad de especializar una plantilla para que los vectores de Eigen cumplan con el concepto de rango continuo? Por ejemplo, podemos especializar std::ranges::enable_borrowed_range para que cualquier rango cumpla con el concepto std::range::borrowed_range. En . . . Read more