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

PRESENTATION DE LA PROGRAMMATION GENERIQUE
un exemple de calcul ``classique''


 
struct buffer
{
  type_t type;
  size_t size;
  voiddata;
};

int_u8 mean_int_u8( const buffer* buf )
{
  int_u16 cumul = 0;
  int_u8* data = buf->data;
  for ( size_t i = 0; i < buf->size; ++i )
    cumul += data[i];
  return cumul / buf->size;
}

anonymous_type mean( const buffer* buf )
{
  switch( buf->type )
  {
    case int_u8:
      return int_u8_to_anonymous( mean_int_u8( buf ) );
    //...
  }
  return 0;
}