Појам генеричког програмирања: параметризоване структуре података и алгоритми. Генеричко програмирање на језику C++: темплејти функција, преклапање (оверлоад) генеричких функција, темплејти класа, специјализација темплејта класа (делимична и потпуна). Статички полиморфизам: предности, недостаци и комбиновање са динамичким. Појам темплејт мета-програмирања: историја, облик функционалног програмирања, извршавање дела алгоритма у време превођења, предности и недостаци, рекурзија и гранање, напредне могућности (темплејт параметри, темплејти са променљивим бројем параметара). Механизам избора најбоље алтернативе међу више функција истог имена (overload resolution). Тачка прилагођавања (point of customization) у генеричком алгоритму. Primeне: стандардна библиотека (STL, touple, initializer_list), одређивање и провера типова, израчунавање и провера вредности доступних у време превођења, оптимизација кода, policy based design.
2980-genericko-programiranje