Template metaprogramming: Difference between revisions

Content deleted Content added
Citation bot (talk | contribs)
Alter: template type. | Use this bot. Report bugs. | #UCB_CommandLine
Fixed references. Please see Category:CS1 errors: unsupported parameter.
Line 370:
; Compile-time versus execution-time tradeoff : If a great deal of template metaprogramming is used.
; [[Generic programming]] : Template metaprogramming allows the programmer to focus on architecture and delegate to the compiler the generation of any implementation required by client code. Thus, template metaprogramming can accomplish truly generic code, facilitating code minimization and better maintainability{{Citation needed|date=June 2014}}.
; Readability : With respect to C++ prior to C++11, the syntax and idioms of template metaprogramming were esoteric compared to conventional C++ programming, and template metaprograms could be very difficult to understand.<ref>{{cite documentweb
| first1 = K.
| last1 = Czarnecki
Line 385:
|quote=''C++ Template Metaprogramming suffers from a number of limitations, including portability problems due to compiler limitations (although this has significantly improved in the last few years), lack of debugging support or IO during template instantiation, long compilation times, long and incomprehensible errors, poor readability of the code, and poor error reporting.''
| ref = Czarnecki, O’Donnell, Striegnitz, Taha - DSL implementation in metaocaml, template haskell, and C++
}}</ref><ref>{{cite documentweb
| first1 = Tim
| last1 = Sheard