1<?xml version="1.0" standalone="yes"?> 2<library-reference id="example_reference"><title>Example Reference</title><header name="boost/example.hpp"> 3<namespace name="example"> 4<class name="example"><purpose>Documentation for class example. </purpose><description><para>Detailed documentation</para><para><programlisting language="c++">void class_code_sample(); 5</programlisting> </para></description><class name="inner_class"><data-member name="x"><type>int</type></data-member> 6</class><enum name="class_enum"><enumvalue name="enumerator"/></enum> 7<typedef name="documented_type1"><description><para>This type has documentation. </para></description><type>int</type></typedef> 8<typedef name="documented_type2"><purpose>This type has documentation. </purpose><type>long</type></typedef> 9<typedef name="documented_type3"><description><para>This type has documentation. </para></description><type>long double</type></typedef> 10<typedef name="undocumented_type1"><type>short</type></typedef> 11<typedef name="undocumented_type2"><type>double</type></typedef> 12<data-member name="integer"><type>int</type></data-member> 13<data-member name="mutable_integer" specifiers="mutable"><type>int</type></data-member> 14<data-member name="const_integer"><type>const int</type></data-member> 15<data-member name="static_integer" specifiers="static"><type>int</type></data-member> 16<data-member name="static_const_integer" specifiers="static"><type>const int</type></data-member> 17<method-group name="public member functions"> 18<method name="virtual_method" specifiers="virtual"><type>int</type></method> 19<method name="virtual_abstract_method" cv="= 0" specifiers="virtual"><type>int</type></method> 20<method name="virtual_const_method" cv="const" specifiers="virtual"><type>int</type></method> 21<method name="method_with_default_value"><type>int</type><parameter name=""><paramtype>int</paramtype><default>default_value</default></parameter></method> 22<method name="method_with_fp"><type>int</type><parameter name="fp"><paramtype>int(*)()</paramtype></parameter><parameter name=""><paramtype>volatile char</paramtype></parameter></method> 23<method name="method_with_string_default1"><type>int</type><parameter name=""><paramtype>char *</paramtype><default>")"</default></parameter><parameter name=""><paramtype>volatile char</paramtype></parameter></method> 24<method name="method_with_string_default2"><type>int</type><parameter name=""><paramtype>char *</paramtype><default>"("</default></parameter><parameter name=""><paramtype>volatile char</paramtype></parameter></method> 25<method name="method_with_char_default1"><type>int</type><parameter name=""><paramtype>char</paramtype><default>'('</default></parameter><parameter name=""><paramtype>volatile char</paramtype></parameter></method> 26<method name="method_with_char_default2"><type>int</type><parameter name=""><paramtype>char</paramtype><default>')'</default></parameter><parameter name=""><paramtype>volatile char</paramtype></parameter></method> 27<method name="volatile_method_with_fp" cv="volatile"><type>int</type><parameter name="fp"><paramtype>int(*)()</paramtype></parameter><parameter name=""><paramtype>volatile char</paramtype></parameter></method> 28<method name="volatile_method_with_string_default1" cv="volatile"><type>int</type><parameter name=""><paramtype>char *</paramtype><default>")"</default></parameter><parameter name=""><paramtype>volatile char</paramtype></parameter></method> 29<method name="volatile_method_with_string_default2" cv="volatile"><type>int</type><parameter name=""><paramtype>char *</paramtype><default>"("</default></parameter><parameter name=""><paramtype>volatile char</paramtype></parameter></method> 30<method name="volatile_method_with_char_default1" cv="volatile"><type>int</type><parameter name=""><paramtype>char</paramtype><default>'('</default></parameter><parameter name=""><paramtype>volatile char</paramtype></parameter></method> 31<method name="volatile_method_with_char_default2" cv="volatile"><type>int</type><parameter name=""><paramtype>char</paramtype><default>')'</default></parameter><parameter name=""><paramtype>volatile char</paramtype></parameter></method> 32<method name="const_method" cv="const"><type>void</type></method> 33<method name="volatile_method" cv="volatile"><type>void</type></method> 34<method name="trad_noexcept" cv="noexcept"><type>void</type></method> 35<method name="trad_noexcept_if" cv="noexcept(a==b &&(c||d)))"><type>void</type></method> 36<method name="boost_noexcept" cv="noexcept"><type>void</type></method> 37<method name="boost_noexcept_if" cv="noexcept(condition)"><type>void</type></method> 38<method name="trad_constexpr" cv="constexpr"><type>void</type></method> 39<method name="boost_constexpr" cv="constexpr"><type>void</type></method> 40<method name="boost_constexpr_or_const" cv="constexpr"><type>void</type></method> 41<method name="constexpr_noexcept" cv="constexpr noexcept"><type>void</type></method> 42<method name="conversion-operator" specifiers="explicit"><type>int</type></method> 43</method-group> 44<constructor cv="= default"><parameter name=""><paramtype><classname>example</classname> const &</paramtype></parameter></constructor> 45<copy-assignment cv="= delete"><type><classname>example</classname> &</type><parameter name=""><paramtype><classname>example</classname> const &</paramtype></parameter></copy-assignment> 46<method-group name="public static functions"> 47<method name="static_method" specifiers="static"><type>int</type></method> 48<method name="static_constexpr" cv="constexpr" specifiers="static"><type>int</type></method> 49</method-group> 50</class><struct name="example_template"><template> 51 <template-type-parameter name="TypeParameter"><purpose><para>A template parameter </para></purpose></template-type-parameter> 52 <template-nontype-parameter name="NonTypeParameter"><type>int</type><purpose><para>This is a non-type template parameter </para></purpose></template-nontype-parameter> 53 <template-type-parameter name="TypeParameterWithDefault"><default>int</default><purpose><para>This is a template parameter with a default argument </para></purpose></template-type-parameter> 54 </template><description><para>Test some doxygen markup</para><para><warning><para>This is just an example.</para></warning> 55Embedded docbook list:</para><para> 56<orderedlist><listitem><simpara>1</simpara></listitem><listitem><simpara>2</simpara></listitem></orderedlist> 57</para><para><emphasis>Special</emphasis> <emphasis role="bold">Bold</emphasis> <computeroutput>Typewriter</computeroutput> <emphasis>Italics</emphasis> <emphasis>emphasis</emphasis> <computeroutput>parameter</computeroutput> </para><para><itemizedlist> 58<listitem><para>Arg1 first argument. </para></listitem> 59<listitem><para>Arg2 second argument.</para></listitem> 60</itemizedlist> 61<itemizedlist> 62<listitem><para>First list item. </para></listitem> 63<listitem><para>Second list item</para></listitem> 64</itemizedlist> 65Line 1<sbr/> 66Line 2</para><para><programlisting language="c++">void foo() {} 67void foo2() {} 68</programlisting></para><para><programlisting language="c++">void bar() {} 69 70void bar2() {} 71</programlisting></para><para>Alternative way of writing code, has a complicated workaround because doxygen treats the empty line as a paragraph separator:</para><programlisting> 72int bar(); 73 74int bar2(); 75</programlisting><para>Unfortunately the workaround will merge consecutive blocks, like this:</para><programlisting> 76int foo(); 77 78 79 80int foo2(); 81</programlisting><para> 82</para></description></struct><struct name="specialization_test"><template> 83 <template-type-parameter name="T"/> 84 </template></struct><struct-specialization name="specialization_test"><template> 85 <template-type-parameter name="T"/> 86 </template><specialization><template-arg>T *</template-arg></specialization><method-group name="public member functions"> 87</method-group> 88<constructor><description><para>A constructor. </para></description></constructor> 89<destructor><description><para>A destructor. </para></description></destructor> 90<copy-assignment><type><emphasis>unspecified</emphasis></type><parameter name=""><paramtype>const <classname>specialization_test</classname> &</paramtype></parameter><description><para>An assignment operator. </para></description></copy-assignment> 91</struct-specialization><enum name="namespace_enum"><enumvalue name="enumerator"/></enum> 92<data-member name="namespace_integer"><type>int</type></data-member> 93<data-member name="namespace_static_integer" specifiers="static"><type>int</type></data-member> 94<data-member name="namespace_const_integer"><type>const int</type></data-member> 95<data-member name="namespace_static_const_integer" specifiers="static"><type>const int</type></data-member> 96<function name="free_function"><type>void</type><parameter name="x"><paramtype>int</paramtype><description><para>Parameter description.</para></description></parameter><description><para> 97<programlisting language="c++">void function_code_sample(); 98</programlisting> </para></description></function> 99<function name="namespace_func"><type>int</type><parameter name="i"><paramtype>int</paramtype><description><para>A function parameter </para></description></parameter><parameter name="j"><paramtype>int</paramtype><description><para>Another </para></description></parameter><description><para> 100 101 102This is a test function. <classname alt="example::example">Link to class</classname> <classname alt="example::example_template">Link to class template</classname> <note><para>This is a note.</para></note> 103<para><emphasis role="bold">See Also:</emphasis><para><classname alt="example::example">example::example</classname> and <classname alt="example::example_template">example_template</classname> </para></para> 104</para></description><requires><para>i > j</para></requires><returns><para>The answer </para></returns></function> 105<function name="namespace_func_template"><type>void</type><template> 106 <template-type-parameter name="TypeParameter"><purpose><para>A template parameter </para></purpose></template-type-parameter> 107 <template-nontype-parameter name="NonTypeParameter"><type>int</type><purpose><para>This is a non-type template parameter </para></purpose></template-nontype-parameter> 108 </template><description><para>Testing a function template. 109</para></description></function> 110</namespace> 111<macro name="EXAMPLE" kind="functionlike"><macro-parameter name="m"/><purpose>Documentation for macro example. </purpose></macro> 112</header> 113</library-reference>