The details follow later, but basically policies can be set by either:
-
Defining some macros that change the default behaviour: this
is the recommended method for setting installation-wide policies.
-
By instantiating a distribution object with an explicit policy: this
is mainly reserved for ad hoc policy changes.
-
By passing a policy to a special function as an optional final argument:
this is mainly reserved for ad hoc policy changes.
-
By using some helper macros to define a set of functions or distributions
in the current namespace that use a specific policy: this
is the recommended method for setting policies on a project- or translation-unit-wide
basis.
The following sections introduce these methods in more detail.