Bonjour,
Ayant à ma disposition un mpl::vector, je souhaiterai modifier le n°ième type.
J'aurais par exemple voulu écrire :
Je n'ai pas trouvé cette fonctionnalité dans la mpl ( une fonction se rapprochant de ça est la fonction replace : replace<V,T1,T2,Inserter> qui remplace toutes les occurences de T1 par T2 ).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 typedef mpl::vector<int,double> vector_t; //! remplacer l'élément d'indice 0 par le type float. typedef replace<vector_t,0,float>::type new_vector_t;
Je pense qu'une solution serait de recopier le vector avec un parcours récursif et lorsqu'on est sur le n°ième élément, remplacer par le nouveau type.
Mais peut-être y-a-t-il plus simple ?
Merci pour votre aide.
Partager