diff options
Diffstat (limited to 'doc/test/array1.xml')
-rw-r--r-- | doc/test/array1.xml | 511 |
1 files changed, 511 insertions, 0 deletions
diff --git a/doc/test/array1.xml b/doc/test/array1.xml new file mode 100644 index 0000000000..253938bcff --- /dev/null +++ b/doc/test/array1.xml @@ -0,0 +1,511 @@ +<library-reference> + <header name="boost/array.hpp"> + <namespace name="boost"> + <class name="array"> + <template> + <template-type-parameter name="T"/> + <template-nontype-parameter name="N"> + <type>std::size_t</type> + </template-nontype-parameter> + </template> + + <purpose> + <para>STL compliant container wrapper for arrays of constant size</para> + </purpose> + <typedef name="value_type"> + <type>T</type> + </typedef> + <typedef name="iterator"> + <type>T*</type> + </typedef> + <typedef name="const_iterator"> + <type>const T*</type> + </typedef> + <typedef name="reverse_iterator"> + <type> + <classname>std::reverse_iterator</classname><iterator> + </type> + </typedef> + <typedef name="const_reverse_iterator"> + <type> + <classname>std::reverse_iterator</classname><const_iterator> + </type> + </typedef> + <typedef name="reference"> + <type>T&</type> + </typedef> + <typedef name="const_reference"> + <type>const T&</type> + </typedef> + <typedef name="size_type"> + <type>std::size_t</type> + </typedef> + <typedef name="difference_type"> + <type>std::ptrdiff_t</type> + </typedef> + + <static-constant name="static_size"> + <type>size_type</type> + <default>N</default> + </static-constant> + + <copy-assignment> + <template> + <template-type-parameter name="U"/> + </template> + <parameter name="other"> + <paramtype>const <classname>array</classname><U, N>&</paramtype> + </parameter> + <effects> + <simpara> + <code> + std::copy(rhs.<methodname>begin</methodname>(),rhs.<methodname>end</methodname>(), <methodname>begin</methodname>()) + </code> + </simpara> + </effects> + </copy-assignment> + + <method-group name="iterator support"> + <overloaded-method name="begin"> + <signature> + <type>iterator</type> + </signature> + <signature cv="const"> + <type>const_iterator</type> + </signature> + + <returns> + <simpara>iterator for the first element</simpara> + </returns> + <throws> + <simpara>will not throw</simpara> + </throws> + </overloaded-method> + + <overloaded-method name="end"> + <signature> + <type>iterator</type> + </signature> + <signature cv="const"> + <type>const_iterator</type> + </signature> + + <returns> + <simpara>iterator for position after the last element</simpara> + </returns> + <throws> + <simpara>will not throw</simpara> + </throws> + </overloaded-method> + </method-group> + + <method-group name="reverse iterator support"> + <overloaded-method name="rbegin"> + <signature> + <type>reverse_iterator</type> + </signature> + <signature cv="const"> + <type>const_reverse_iterator</type> + </signature> + + <returns> + <simpara>reverse iterator for the first element of reverse iteration</simpara> + </returns> + </overloaded-method> + + <overloaded-method name="rend"> + <signature> + <type>reverse_iterator</type> + </signature> + <signature cv="const"> + <type>const_reverse_iterator</type> + </signature> + + <returns> + <simpara>reverse iterator for position after the last element in reverse iteration</simpara> + </returns> + </overloaded-method> + </method-group> + + <method-group name="capacity"> + <method name="size"> + <type>size_type</type> + <returns> + <simpara> + <code>N</code> + </simpara> + </returns> + </method> + <method name="empty"> + <type>bool</type> + <returns> + <simpara> + <code>N==0</code> + </simpara> + </returns> + <throws> + <simpara>will not throw</simpara> + </throws> + </method> + <method name="max_size"> + <type>size_type</type> + <returns> + <simpara> + <code>N</code> + </simpara> + </returns> + <throws> + <simpara>will not throw</simpara> + </throws> + </method> + </method-group> + + <method-group name="element access"> + <overloaded-method name="operator[]"> + <signature> + <type>reference</type> + <parameter name="i"> + <paramtype>size_type</paramtype> + </parameter> + </signature> + + <signature cv="const"> + <type>const_reference</type> + <parameter name="i"> + <paramtype>size_type</paramtype> + </parameter> + </signature> + + <requires> + <simpara> + <code>i < N</code> + </simpara> + </requires> + <returns> + <simpara> + element with index <code>i</code> + </simpara> + </returns> + <throws> + <simpara>will not throw.</simpara> + </throws> + </overloaded-method> + + <overloaded-method name="at"> + <signature> + <type>reference</type> + <parameter name="i"> + <paramtype>size_type</paramtype> + </parameter> + </signature> + + <signature cv="const"> + <type>const_reference</type> + <parameter name="i"> + <paramtype>size_type</paramtype> + </parameter> + </signature> + + <returns> + <simpara> + element with index <code>i</code> + </simpara> + </returns> + <throws> + <simpara> + <code> + <classname>std::range_error</classname> + </code> if <code>i >= N</code> + </simpara> + </throws> + </overloaded-method> + + <overloaded-method name="front"> + <signature> + <type>reference</type> + </signature> + <signature cv="const"> + <type>const_reference</type> + </signature> + <requires> + <simpara> + <code>N > 0</code> + </simpara> + </requires> + <returns> + <simpara>the first element</simpara> + </returns> + <throws> + <simpara>will not throw</simpara> + </throws> + </overloaded-method> + + <overloaded-method name="back"> + <signature> + <type>reference</type> + </signature> + <signature cv="const"> + <type>const_reference</type> + </signature> + <requires> + <simpara> + <code>N > 0</code> + </simpara> + </requires> + <returns> + <simpara>the last element</simpara> + </returns> + <throws> + <simpara>will not throw</simpara> + </throws> + </overloaded-method> + + <method name="data" cv="const"> + <type>const T*</type> + <returns> + <simpara> + <code>elems</code> + </simpara> + </returns> + <throws> + <simpara>will not throw</simpara> + </throws> + </method> + + <method name="c_array"> + <type>T*</type> + <returns> + <simpara> + <code>elems</code> + </simpara> + </returns> + <throws> + <simpara>will not throw</simpara> + </throws> + </method> + </method-group> + + <method-group name="modifiers"> + <method name="swap"> + <type>void</type> + <parameter name="other"> + <paramtype><classname>array</classname><T, N>&</paramtype> + </parameter> + <effects> + <simpara> + <code> + std::swap_ranges(<methodname>begin</methodname>(), <methodname>end</methodname>(), other.<methodname>begin</methodname>()) + </code> + </simpara> + </effects> + <complexity> + <simpara> + linear in <code>N</code> + </simpara> + </complexity> + </method> + <method name="assign"> + <type>void</type> + <parameter name="value"> + <paramtype>const T&</paramtype> + </parameter> + <effects> + <simpara> + <code> + std::fill_n(<methodname>begin</methodname>(), N, value) + </code> + </simpara> + </effects> + </method> + </method-group> + + <data-member name="elems[N]"> + <!-- HACK --> + <type>T</type> + </data-member> + + <free-function-group name="specialized algorithms"> + <function name="swap"> + <template> + <template-type-parameter name="T"/> + <template-nontype-parameter name="N"> + <type>std::size_t</type> + </template-nontype-parameter> + </template> + + <type>void</type> + + <parameter name="x"> + <paramtype><classname>array</classname><T, N>&</paramtype> + </parameter> + <parameter name="y"> + <paramtype><classname>array</classname><T, N>&</paramtype> + </parameter> + + <effects> + <simpara> + <code> + x.<methodname>swap</methodname>(y) + </code> + </simpara> + </effects> + <throws> + <simpara>will not throw.</simpara> + </throws> + </function> + </free-function-group> + + <free-function-group name="comparisons"> + <function name="operator=="> + <template> + <template-type-parameter name="T"/> + <template-nontype-parameter name="N"> + <type>std::size_t</type> + </template-nontype-parameter> + </template> + + <type>bool</type> + + <parameter name="x"> + <paramtype>const <classname>array</classname><T, N>&</paramtype> + </parameter> + <parameter name="y"> + <paramtype>const <classname>array</classname><T, N>&</paramtype> + </parameter> + + <returns> + <simpara> + <code> + std::equal(x.<methodname>begin</methodname>(), x.<methodname>end</methodname>(), y.<methodname>begin</methodname>()) + </code> + </simpara> + </returns> + </function> + + <function name="operator!="> + <template> + <template-type-parameter name="T"/> + <template-nontype-parameter name="N"> + <type>std::size_t</type> + </template-nontype-parameter> + </template> + + <type>bool</type> + + <parameter name="x"> + <paramtype>const <classname>array</classname><T, N>&</paramtype> + </parameter> + <parameter name="y"> + <paramtype>const <classname>array</classname><T, N>&</paramtype> + </parameter> + + <returns> + <simpara> + <code>!(x == y)</code> + </simpara> + </returns> + </function> + + <function name="operator<"> + <template> + <template-type-parameter name="T"/> + <template-nontype-parameter name="N"> + <type>std::size_t</type> + </template-nontype-parameter> + </template> + + <type>bool</type> + + <parameter name="x"> + <paramtype>const <classname>array</classname><T, N>&</paramtype> + </parameter> + <parameter name="y"> + <paramtype>const <classname>array</classname><T, N>&</paramtype> + </parameter> + + <returns> + <simpara> + <code> + std::lexicographical_compare(x.<methodname>begin</methodname>(), x.<methodname>end</methodname>(), y.<methodname>begin</methodname>(), y.<methodname>end</methodname>()) + </code> + </simpara> + </returns> + </function> + + <function name="operator>"> + <template> + <template-type-parameter name="T"/> + <template-nontype-parameter name="N"> + <type>std::size_t</type> + </template-nontype-parameter> + </template> + + <type>bool</type> + + <parameter name="x"> + <paramtype>const <classname>array</classname><T, N>&</paramtype> + </parameter> + <parameter name="y"> + <paramtype>const <classname>array</classname><T, N>&</paramtype> + </parameter> + + <returns> + <simpara> + <code>y < x</code> + </simpara> + </returns> + </function> + + <function name="operator<="> + <template> + <template-type-parameter name="T"/> + <template-nontype-parameter name="N"> + <type>std::size_t</type> + </template-nontype-parameter> + </template> + + <type>bool</type> + + <parameter name="x"> + <paramtype>const <classname>array</classname><T, N>&</paramtype> + </parameter> + <parameter name="y"> + <paramtype>const <classname>array</classname><T, N>&</paramtype> + </parameter> + + <returns> + <simpara> + <code>!(y < x)</code> + </simpara> + </returns> + </function> + + <function name="operator>="> + <template> + <template-type-parameter name="T"/> + <template-nontype-parameter name="N"> + <type>std::size_t</type> + </template-nontype-parameter> + </template> + + <type>bool</type> + + <parameter name="x"> + <paramtype>const <classname>array</classname><T, N>&</paramtype> + </parameter> + <parameter name="y"> + <paramtype>const <classname>array</classname><T, N>&</paramtype> + </parameter> + + <returns> + <simpara> + <code>!(x < y)</code> + </simpara> + </returns> + </function> + </free-function-group> + </class> + </namespace> + </header> +</library-reference> + |