Template:dsc/doc

This is one of the family of templates used for creation of description list. These templates should be used to design function, variable or type lists.

dsc begin
 * starts the description list

dsc end
 * ends the description list

heading
 * adds heading to the description list (h3 level)

heading
 * adds sub-heading to the description list (h5 level)

dsc header
 * adds explanation which header the features come from

dsc namespace
 * adds explanation which namespace the features are in

dsc sep
 * adds a separator

name
 * adds a generic item to the description list. If explanation is omitted, the item spans through both columns.

name
 * adds a highlighted item to the description list. If explanation is omitted, the item spans through both columns.

location
 * Sets variable to location, includes the template from location and unsets the variable. Use this template whenever copying dsc items from a template; this will add an edit link to them. The unnamed parameters param1, param2, ... are passed to the template.

dsc break
 * breaks the columns. The width of the columns above does not depend on the content below and vice-versa.

reason
 * adds a todo item (similar to todo)

Specialized templates
There are templates already specialized for most of the usage cases.


 * Classes

link
 * adds an item linking to a description of a class.

link
 * adds an item linking to a description of a class template.

link
 * adds an item linking to a description of an alias template.

link
 * adds an item linking to a description of a class template specialization.

link
 * adds an item linking to a description of a member class.

link
 * adds an item linking to a description of an exposition-only member class.

link
 * adds an item linking to a description of an exposition-only member class template.


 * Functions

link
 * adds an item linking to a description of a function

link
 * adds an item linking to a description of a function template.

link
 * adds an item linking to a description of a public member function.

link
 * adds an item linking to a description of a protected member function.

link
 * adds an item linking to a description of a private member function.

link
 * adds an item linking to a description of an exposition-only member function.

link
 * adds an item linking to a description of a public constructor.

link
 * adds an item linking to a description of a protected constructor.

link
 * adds an item linking to a description of a public destructor.

link
 * adds an item linking to a description of a protected destructor.

link
 * adds an item linking to a description of a virtual public destructor.

link
 * adds an item linking to a description of a virtual protected destructor.

link
 * adds an item linking to a description of a static member function.

link
 * adds an item linking to a description of a virtual public member function template.

link
 * adds an item linking to a description of a virtual protected member function template.

link
 * adds an item linking to a description of a function macro.


 * Constants

link
 * adds an item linking to a description of a macro constant.

link
 * adds an item linking to a description of a global constant variable.

link
 * adds an item linking to a description of a constant member variable.

link
 * adds an item linking to a description of a static constant member variable.


 * Objects

link
 * adds an item linking to a description of a member object.

link
 * adds an item linking to a description of a protected member object.

link
 * adds an item linking to a description of a private member object.

link
 * adds an item linking to a description of a customization point object.

link
 * adds an item linking to a description of a niebloid.


 * Headers

name for link
 * adds an item linking to a description of a header from C++ standard library or TS.


 * Miscellaneous

link
 * adds an item linking to a description of a.

link
 * adds an item linking to a description of an or.

link
 * adds an item linking to a description of a.

link
 * adds an item linking to a description of an.

link
 * adds an item linking to a description of a named requirement.

link
 * adds an item linking to a description of a operator macro.

link
 * adds an item linking to a description of a keyword macro.

link
 * adds an item linking to a description of a preprocessing directive.


 * Parameters

link
 * this parameter controls the link target.

=link title
 * this parameter overrides the link title

=link notes
 * this parameter adds text besides the link that is not the part of the link

explanation
 * the explanation of the feature.

All templates accept parameter. In that case no link is made, the formatting is the same.

The templates for member objects accept parameter. This should be used if the functionality is described inline in the page of the class.

See also templates
Used in see also lists.

location
 * adds a link to C++ documentation of a feature.

location
 * adds a link to C documentation of a feature.


 * Parameters

location
 * this parameter controls the link target.

nomono
 * if serif font should be used for the title

title1, title2, ...
 * this parameter overrides the title (default the title is guessed from location). Commas are placed between titles if several of them are provided.

Example
The above results in the following:

dsc member
page
 * Default title of the link is page. Custom title can be supplied via the second unnamed parameter or parameter. If  is true, no link is produced.


 * Default font of the link is bold monospace. If is true, the font is normal serif.


 * Additional notes to be placed in the right of the link can be passed through parameter.


 * Both and  can accept &lt;br&gt; tags without breaking the layout.

dsc mark mem
link
 * Outputs potentially appending additional description of the class the function/class is member of.


 * Specifically, the template checks if the parent of the page linked to by is a parent of the page the template is used in (i.e. they are siblings). For example, consider  = a/b/c and page the page the template is used in. Then the template would append the additional description if  equals to z/z/z, or a/z, or a/b/z/z, but not if page is a/b/z or a/b.


 * If is true then additional description is never appended.


 * The template fetches information about the name of the parent class from a/b/title page.


 * If is true then the name of the parent class is fetched from a/b/c/title template. This is used when a class includes descriptions of its members inline.

dsc editlink
dsc editlink
 * Outputs an [edit] text with a link pointing to a page for editing the template whose name is defined in variable. At least one dummy parameter must be passed to this template, as Mediawiki software employs some optimizations that break the implementation.