Journée de travail du 24 février 2000 des GTs COOSI et SIMédia :
Programmation générique, composants et patrons de conception.
7

utilisations ``classiques'' de la généricité


macro sans effets de bord : classe utilitaire :

template< typename T >
T min( const T& val1, const T& val2 )
{
  return val1 < val2 ? val1 : val2;
}

int main()
{
  int i1 = 1, i2 = 2;
  int i = min( i1, i2 ); // calls min<int>
}


template< typename T >
class list
{
  public:
    void push_front( const T& elt );
  //...
};
 

int main()
{
  list<string> l;
  l.push_front( "toto" );
}



langages supportant la généricité : Ada, Eiffel, C++, GJ.