Template:par/doc

This is one of the family of templates used for creation of parameter list.

par begin
 * starts the parameter list

par end
 * ends the parameter list

parameter
 * adds an item to the parameter list.

par hreq
 * results in "Type requirements"

requirement
 * adds a generic type requirement

parameter_name
 * adds a named requirement.

expression
 * adds a named requirement on the result of dereference of type

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

Specific cases
 * functions passed as parameters:

parameter_name
 * predicate with no arguments

parameter_name
 * unary predicate

parameter_name
 * binary predicate

parameter_name
 * binary equality predicate

parameter_name
 * comparison function

parameter_name
 * comparison function for ordering

parameter_name
 * C-style comparison function

parameter_name
 * function

parameter_name
 * unary operation

parameter_name
 * binary operation

parameter_name
 * generator


 * Parameters


 * parameter_name is the name of the predicate parameter.
 * is the expected return value when the condition is satisfied (defaults to ).
 * ,, , are types that the predicate is required to accept as its first and second parameters respectively.  and  describe a pointer parameter, i.e. it will be dereferenced before passed to the predicate. For each parameter, only one of either  or  can be used. If  are not defined,  are used for the second parameter instead.

Example
The above results in the following: