Content deleted Content added
m link [mM]emory footprint |
change paradigms template to navbox (see Template talk:Programming paradigms#too long) |
||
Line 1:
{{Short description|Metaprogramming technique}}
{{More footnotes needed|date=June 2010}}
{{Programming paradigms}}▼
'''Template metaprogramming''' ('''TMP''') is a [[metaprogramming]] technique in which [[Generic programming|templates]] are used by a [[compiler]] to generate temporary [[source code]], which is merged by the compiler with the rest of the source code and then compiled. The output of these templates can include [[compile time|compile-time]] [[constant (programming)|constant]]s, [[data structure]]s, and complete [[function (computer science)|function]]s. The use of templates can be thought of as [[Compile-time function execution|compile-time polymorphism]]. The technique is used by a number of languages, the best-known being [[C++]], but also [[Curl programming language|Curl]], [[D programming language|D]], [[Nim (programming language)|Nim]], and [[XL Programming Language|XL]].
Line 429 ⟶ 428:
* {{cite web | url = http://www.codeproject.com/Articles/20180/Template-Meta-Programming-and-Number-Theory-Part | title = Template Meta Programming and Number Theory: Part 2 | first = Zeeshan | last = Amjad | date = 24 August 2007 }}
* {{cite web | url = http://www.intelib.org/intro.html | title = A library for LISP-style programming in C++ }}
▲{{Programming paradigms navbox}}
[[Category:Metaprogramming]]
|