Шаблоны (дженерики)
Шаблоны позволяют создавать классы. Это концепция взята из языка C++, где она часто используется. FPC, начиная с версии 2.2, официально поддерживает шаблоны. Они реализованы как вид макроса, который хранится в файлах модулей, создаваемых компилятором, и используются, когда создаётся шаблонный класс.
В данный момент можно создавать шаблоны только для классов. В будущем может быть добавлена поддержка шаблонов записей, функций и массивов.
Создание шаблонов — двухступенчатый процесс. Сначала шаблонный класс объявляется как новый тип: это шаблон кода, макрос, который можно использовать позже. Затем происходит спецификация шаблонного класса: это определяет второй класс, который является конкретной реализацией шаблона класса.