﻿<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="thpdoc.xsl"?>
<page id="template" suffix=" Keyword">
  <subsection>Defines a templated primitive.<code>template &lt;Type1 arg1, ..., TypeN argN = DefaultN&gt; ...
{
	Contents;
}</code>
	THDL++ allows defining templated entities, classes and functions. See the related pages for more details.
</subsection>
<section name="Remarks">
	<p>THDL++ are similar to VHDL generics. However, unlike VHDL generics that are limited to numbers, any THDL++ primitive can be specified as a template argument. E.g. an entity, class, template, or a list. Use the <kw>any</kw> keyword when specifying type for such "extended" template arguments.</p>
</section>
  <seealso id="entity"/>
  <seealso id="functions"/>
  <seealso id="class"/>
</page>