Bonjour tout le monde,

Pour mon projet actuel, j'ai d� cr�er un conteneur personnalis�.
Je souhaite maintenant faire une fonction g�n�rique permettant de faire la conversion entre les conteneurs de la stl (vector, set).

Voici ce que donne la classe (en simplifi�e bien s�r):

Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <vector>
 
template <typename AClass>
class GenClass
{
private:
  std::vector <AClass*> m_datas;
 
public:
  template<template <typename T> class Container>
  void convertToGenClass(const Container<AClass*>& myContainer)
  {
    m_datas.reserve(myContainer.size());
    for (typename Container<AClass*>::const_iterator it = myContainer.begin(); it != myContainer.end(); ++it)
      {
	//other treatments done here
	// ...
	m_datas.push_back(*it);
      }
  }
};
Ce bout de code compile. Le probl�me c'est que je ne sais pas comment l'appeler... ce qui peut �tre un peu probl�matique

Voici comment je proc�de:
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
11
12
int main()
{
  std::vector<int*> testVector;
  GenClass<int> myVector;
  int val = 42;
 
  testVector.push_back(&val);
 
  myVector.convertToGenClass(testVector);
 
  return 0;
}
J'ai essay� de mettre <std::vector> ou <std::vector<int> > apr�s convertToGenClass mais rien ne change.

Savez-vous comment compiler ce genre de code?

Y-a-t-il une fa�on plus �l�gante pour traiter ce genre de conversion?

Merci pour tout!