IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Voir le flux RSS

Bousk

  1. [Actualité] [Aller plus loin]Extraire des collections de données depuis une collection initiale

    par , 04/11/2020 à 15h11
    Dans le billet précédent, nous avons vu comment extraire des collections de données depuis un vector sans aucune allocation supplémentaire.
    La conclusion laissait entendre que ce système est applicable à d'autres collections que std::vector.

    Ça l'est, et relativement simplement.

    Pour y parvenir, il suffit d'ajouter un niveau de template, en modifiant le template pour pas être le type de l'élément mais de la collection.
    Ainsi, VectorView devient donc ContainerView: ...

    Mis à jour 04/11/2020 à 17h48 par Bousk

    Catégories
    C++ , Programmation
  2. [Actualité] Extraire des collections de données depuis une collection initiale

    par , 29/10/2020 à 17h16
    Il est commun de devoir extraire des vector depuis un vector initial.
    Si l'on veut extraire des vector d'utilisateurs par exemple, tout en s'assurant que chaque utilisateur n'est présent que dans un vector à la fois.

    La première approche d'un tel problème ressemblerait probablement à ceci :
    Code c++ : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    std::vector<..> originalData;
    std::vector<...> list1;
    std::vector<...> list2;
    std::vector<...> list3;
    std::vector<...> list4;
    ...

    Mis à jour 05/11/2020 à 23h26 par Malick

    Catégories
    C++ , Programmation
  3. [Aller plus loin]Filtrer les données d'un conteneur pendant une itération via ranged-based for loop

    par , 09/09/2019 à 05h25
    Suite à mon précédent billet j'ai voulu pousser un peu pour arriver à une syntaxe telle que for (auto value : vec | [](...){...}) que je trouve plutôt attrayante. Et surtout ne pas avoir à taper le nom de la classe au complet, chose que je trouve des plus pénibles.

    Ce fût étonnamment rapide puisque le simple ajout d'un opérateur libre permet d'y parvenir :
    Code c++ : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    template<class Container>
    ForRangedLoopFilter<Container> operator|(Container& container, std::function<bool(const
    ...
  4. [Actualité] Filtrer les données d'un conteneur pendant une itération via ranged-based for loop

    par , 05/08/2019 à 17h55
    Les ranged-base for loop apparues en C++11 sont un excellent moyen d'itérer sur l'ensemble des données d'un conteneur.
    Mais si l'on veut ne traiter que certaines entrées selon un critère/filtre, il faut alors ajouter le filtre dans la boucle afin de ne pas exécuter l'opération sur cette entrée, ce qui n'est pas très élégant.
    En attendant une solution du langage, possiblement via les ranged, dans une version future, voici un moyen relativement simple de filtrer dans la boucle, en C++11 ...

    Mis à jour 23/08/2019 à 14h42 par Bousk

    Catégories
    C++ , Programmation