Global Information Lookup Global Information

Template metaprogramming information


Template metaprogramming (TMP) is a metaprogramming technique in which 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 constants, data structures, and complete functions. The use of templates can be thought of as compile-time polymorphism. The technique is used by a number of languages, the best-known being C++, but also Curl, D, Nim, and XL.

Template metaprogramming was, in a sense, discovered accidentally.[1][2]

Some other languages support similar, if not more powerful, compile-time facilities (such as Lisp macros), but those are outside the scope of this article.

  1. ^ Scott Meyers (12 May 2005). Effective C++: 55 Specific Ways to Improve Your Programs and Designs. Pearson Education. ISBN 978-0-13-270206-5.
  2. ^ See History of TMP on Wikibooks

and 13 Related for: Template metaprogramming information

Request time (Page generated in 0.8238 seconds.)

Template metaprogramming

Last Update:

Template metaprogramming (TMP) is a metaprogramming technique in which templates are used by a compiler to generate temporary source code, which is merged...

Word Count : 3113

Template

Last Update:

documents Template (word processing), a standard document containing layout and styles used to configure word processing software Template metaprogramming, a...

Word Count : 329

Metaprogramming

Last Update:

reflection. Reflection is a valuable language feature to facilitate metaprogramming. Metaprogramming was popular in the 1970s and 1980s using list processing languages...

Word Count : 1432

Expression templates

Last Update:

Expression templates are a C++ template metaprogramming technique that builds structures representing a computation at compile time, where expressions...

Word Count : 1428

Curiously recurring template pattern

Last Update:

quantification Abrahams, David; Gurtovoy, Aleksey (January 2005). C++ Template Metaprogramming: Concepts, Tools, and Techniques from Boost and Beyond. Addison-Wesley...

Word Count : 1753

Generic programming

Last Update:

above template in a template constraint: auto fun(Range)(Range range) if (isInputRange!Range) { // ... } In addition to template metaprogramming, D also...

Word Count : 7708

Spirit Parser Framework

Last Update:

parser generator framework implemented using template metaprogramming techniques. Expression templates allow users to approximate the syntax of extended...

Word Count : 298

TMP

Last Update:

precursor to polymers Tab Mix Plus, a Mozilla Firefox extension Template metaprogramming .tmp, a temporary folder in Unix or Linux systems Trusted Platform...

Word Count : 253

List of programming languages by type

Last Update:

(class-based), metaprogramming) Curry (concurrent, functional, logic) D (generic, imperative, functional, object-oriented (class-based), metaprogramming) Dart...

Word Count : 7022

Program optimization

Last Update:

"Lisp-like macros". A similar effect can be achieved by using template metaprogramming in C++. In both cases, work is moved to compile-time. The difference...

Word Count : 4487

Andrei Alexandrescu

Last Update:

for his pioneering work on policy-based design implemented via template metaprogramming. These ideas are articulated in his book Modern C++ Design and...

Word Count : 851

Fundamental theorem of software engineering

Last Update:

layers. Indirection Abrahams, David; Gurtovoy, Aleksey (2005). C++ Template Metaprogramming. Addison Wesley. p. 13. Lampson, Butler. "Principles for Computer...

Word Count : 213

List of Romanian inventors and discoverers

Last Update:

Alexandrescu: pioneering work on policy-based design implemented via template metaprogramming; co-inventor of D programming language. Ana Aslan: inventor of...

Word Count : 1405

PDF Search Engine © AllGlobal.net