Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

Missing functionality in bulk visit

Abierto
#324 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
4/5
Tiempo estimado
3-5 días
Aptitud para principiantes
35/100
Tipo de issue
Nueva funcionalidad
Claridad
Bastante claro
Estado de actividad
Estancado
Stack tecnológico
cpp
Área
api

Línea de trabajo

Comienza leyendo la API cvisit existente y sus overloads, centrándote en cómo recorre el rango de claves e invoca el callback. Determina dónde se define el comportamiento de bulk-visit y cómo se prueban los overloads basados en iteradores. Se considera terminado cuando el iterador adicional solicitado pueda recorrerse en orden de claves y reciba la posición de resultado correspondiente.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

I want to write a concurrent cache where I can lookup multiple items at once:

template <class K, class V>
std::vector<std::optional<V>> lookup(const concurrent_flat_map<K, V>& map, const std::vector<K>& keys){
    std::vector<std::optional<V>> result;
    map.cvisit(keys.begin(), keys.end(), [&](const auto& x){
        // PROBLEM: how to get 'i'??
        result[i] = x->second;
    });
    return result;
}

I can't find a way to write this with the current API. I would like a new function that traverses an additional iterator in the same order:

template <class K, class V>
std::vector<std::optional<V>> lookup(const concurrent_flat_map<K, V>& map, const std::vector<K>& keys){
    std::vector<std::optional<V>> result;
    map.cvisit(keys.begin(), keys.end(), result.begin(), [&](const auto& x, auto& it){
        *it = x->second;
    });
    return result;
}
Lenguaje dominante
C++
Estrellas
92
Forks
88
Métricas de merge de PR
Sin PR fusionados en 30 d

Preparar el entorno

Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de boostorg/unordered

Todos los issues de boostorg/unordered

Issues similares

Más issues de C++

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.