BoostBook element function
function — Declares a function
Synopsis
function ::=
(
template?,
type,
parameter*,
purpose?,
description?,
requires?,
effects?,
postconditions?,
returns?,
throws?,
complexity?,
notes?,
rationale?)
Description
Функции BoostBook документируются путем указания интерфейса функции (например, ее подписи C++) и ее поведения. Конструкторы, деструкторы, функции-члены и бесплатные функции используют один и тот же метод документации, хотя теги верхнего уровня различаются.
Поведение функций в BoostBook документируется с использованием стиля, аналогичного стандарту C++, с положениями, описывающими требования, эффекты, постусловия, поведение исключений и значения возврата функций.
Следующий пример иллюстрирует некоторые конструкторы и деструктор для<boost::any
>. Обратите внимание, что один из конструкторов принимает один параметр, название которого «другой» и тип которого,<const any&
>содержится в элементе<парамтип>; таким образом может быть указано любое количество параметров.
<class name="any">
<constructor>
<postconditions><para><this->empty()></para></postconditions>
</constructor>
<constructor>
<parameter name="other">
<paramtype>const <classname>any</classname>&</paramtype>
</parameter>
<effects>
<simpara> Copy constructor that copies
content of <code>other</code> into the new instance,
so that any content is equivalent in both type and value to the
content of <code>other</code>, or empty if
<code>other</code> is
empty.
</simpara>
</effects>
<throws>
<simpara>May fail with a
<classname>std::bad_alloc</classname> exception or any
exceptions arising from the copy constructor of the
contained type.
</simpara>
</throws>
</constructor>
<destructor>
<effects><simpara>Releases any and all resources used in
management of instance.</simpara></effects>
<throws><simpara>Nothing.</simpara></throws>
</destructor>
</class>