ELEMENTS DE
METAPROGRAMMATION GENERIQUE
 

Ce document propose un aperçu des possibilités de la métaprogrammation générique, approche qui repose sur le mécanisme de spécialisation statique (communément appelée "instanciation partielle") pour les patrons de composants (les génériques, ou templates en C++). La métaprogrammation générique est notamment utilisée pour le calcul scientifique, car elle permet des performances accrues tout en proposant des composants logiciels génériques et extensibles. Avant d'aborder la métaprogrammation générique, des notions fondamentales sur les patrons de composants sont nécessaires. Elles sont détaillées dans le document .

Voici un bref résumé de chacun des chapitres de ce document. Ils sont présentés sous la forme d'un diaporama qui, je l'espère, sera assez explicite.


  • Introduit brièvement la métaprogrammation générique, avant de présenter le mécanisme de spécialisation statique pour les patrons de composants, dont l'objectif est comparable à celui de l'héritage (i.e. étendre des composants par spécialisation), mais en employant une approche centrée sur les paramètres des composants génériques.


  • Présentation de plusieurs exemples d'applications de la métaprogrammation générique: évaluation partielle, classes de traits, métafonctions, structures de types (typelists), patrons d'expressions (template expressions).