Compiler User GuidePreface Overview of the Compiler Getting Started with the Compiler Compiler Features Compiler Coding Practices Compiler Diagnostic Messages Using the Inline and Embedded Assemblers of the AR Compiler Command-line Options Language Extensions Compiler-specific Features C and C++ Implementation Details Character sets and identifiers in ARM C and C++ Basic data types in ARM C and C++ Operations on basic data types ARM C and C++ Structures, unions, enumerations, and bitfields in Using the ::operator new function in ARM C++ Tentative arrays in ARM C++ Old-style C parameters in ARM C++ functions Anachronisms in ARM C++ Template instantiation in ARM C++ Namespaces in ARM C++ C++ exception handling in ARM C++ Extern inline functions in ARM C++ C++11 supported features What is Semihosting? Via File Syntax Summary Table of GNU Language Extensions Standard C Implementation Definition Standard C++ Implementation Definition C and C++ Compiler Implementation Limits
Template instantiation in ARM C++
10.9 Template instantiation in ARM C++
The compiler does all template instantiations automatically, and makes sure there is only one definition of each template entity left after linking.
The compiler does this by emitting template entities in named common sections. Therefore, all duplicate common sections, that is, common sections with the same name, are eliminated by the linker.
You can limit the number of concurrent instantiations of a given template with the
When implicit inclusion is enabled, the compiler assumes that if it requires a definition to instantiate a template entity declared in a
To find the template definition file for a given template entity the compiler has to know the full path name of the file where the template is declared and whether the file is included using the system include syntax, for example,
The compiler looks for the definition-file suffixes
You can turn implicit inclusion mode on or off with the command-line options
Implicit inclusions are only performed during the normal compilation of a file, that is, when not using the
of your data.