Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1094 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  template : utiliser un multimap

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

template : utiliser un multimap

n°1981400
guepe
J'ai du noir sur la truffe ?
Posté le 06-04-2010 à 20:42:18  profilanswer
 

J'utilise rarement les templates, mais j'aimerai écrire une fonction qui utilise en parametre une multimap dont les types sont templatés. Mais rien ne compile :-(
 

Code :
  1. template <typename Key, typename T, typename std::multimap<Key, T> &_mmap>
  2. _mmap::iterator findDataInMultiMap(_mmap &mmap,T &elem,
  3.                                    _mmap::iterator &itStart, bool useItStart = false)
  4. {
  5. ...
  6. }


 
le typename std::multimap<Key, T> &_mmap m'a ete suggere par quelques recherches :  
Avec : erreur sur la ligne 2, _mmap is not a class or namespace
Sans : erreur sur la ligne 1, ‘class std::multimap<Key, T, std::less<_Key>, std::allocator<std::pair<const _Key, _Tp> > >’ is not a valid type for a template constant parameter
 
Tout ceci dans un beau .h tout seul...
Quelle est la syntaxe ?? Je ne trouve rien  :jap:


---------------
Un blog qu'il est bien
mood
Publicité
Posté le 06-04-2010 à 20:42:18  profilanswer
 

n°1981411
Joel F
Real men use unique_ptr
Posté le 06-04-2010 à 21:05:40  profilanswer
 

typename std::multimap<Key, T> &_mmap ???

 

Jamais vu ça.

 

Et un bete

 
Code :
  1. template <typename Key, typename T>
  2. typename std::multimap<Key, T>::iterator findDataInMultiMap(_std::multimap<Key, T> &mmap,T &elem,
  3.                                    typename std::multimap<Key, T>::iterator &itStart, bool useItStart = false)
  4. {
  5. ...
  6. }
 


et bon, "hardcoded type in generic code is like magic constants".


Message édité par Joel F le 06-04-2010 à 21:08:07
n°1981416
guepe
J'ai du noir sur la truffe ?
Posté le 06-04-2010 à 21:16:59  profilanswer
 

D'accord pour le fait de hardcoder multimap, mais les accesseurs sont particuliers a une multimap : a part faire X surcharges pour supporter plein de conteneurs, que faire ?
De toutes manière, c'est pas très grave dans mon cas  :o


---------------
Un blog qu'il est bien
n°1981418
Joel F
Real men use unique_ptr
Posté le 06-04-2010 à 21:25:23  profilanswer
 

concept et type_traits et SFINAE et hop.

n°1981419
guepe
J'ai du noir sur la truffe ?
Posté le 06-04-2010 à 21:27:52  profilanswer
 

Comme je ne connais pas, et que cela pourrait peut etre interesser certains, voici une page pas pire : http://www.boost.org/doc/libs/1_42 [...] round.html
 
Bonne lecture  :o  :love:
Et merci !


---------------
Un blog qu'il est bien

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  template : utiliser un multimap

 

Sujets relatifs
[EXCEL] utiliser SI avec ET et OUImporter et utiliser des bibliothèques en vbs
template et interface+héritage[JBasic]Quel editeur/IDE utiliser?
[C++] Spécialisation d'une fonction template un peu tordue...Utiliser outils de debug pour voir l'enchaînement des fonctions
Modification du template universatil joomlaUtiliser x11ada
bien utiliser getline et sscanfcomment utiliser fpdf
Plus de sujets relatifs à : template : utiliser un multimap


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR