The templates tag is used in multiple contexts: generic programming (especially C++), and data/document generation using template engines. When using this tag on implementation heavy questions - tag the code language the implementation is written in.
The templates tag is used in multiple contexts:
- Generic programming, especially c++.
- Data or document generation using template engines.
C++ templates
Templates in c++ allow for generic programming and meta-programming. The C++ Book Guide contains books treating templates as well, especially:
- C++ Templates: The Complete Guide - Introduction and Reference
- Modern C++ Design - Introduction & overview for generic programming and meta-programming
Before asking a question, consider looking into these FAQs first:
- ISOCPP template FAQ section
- C++ FAQ lite / template section
- C++ templates FAQ
- Comeau Tech Talk about templates
There are also useful questions on StackOverflow:
- What are the differences between Generics in C# and Java… and Templates in C++?
- C++ template gotchas
- Is it possible to write a C++ template to check for a function's existence?
- Best introduction to C++ template metaprogramming?
Books
Other templates (PHP, django, drupal, mediawiki, etc.)
There are several varieties of template engines used with web servers, web applications, and web scripting languages. Questions for these types of templates should use the language specific tag.
The web server or scripting language templates are different from templates as used in c++ or generics as used in java. These templates are used to help with separating view or presentation of data with the business logic generating or transforming the data.
PHP template questions should use the specific template product tag such as smarty, twig, etc.
django template questions should use django-templates.
drupal template questions should use drupal-templates.
mediawiki template questions should use mediawiki-templates.