Lists

Doxygen provides a number of ways to create lists of items.

Using dashes

By putting a number of column-aligned minus (-) signs at the start of a line, a bullet list will automatically be generated. Instead of the minus sign also plus (+) or asterisk (*) can be used.

Numbered lists can also be generated by using a minus followed by a hash (#) or by using a number followed by a dot.

Lists with as indicator a checked or unchecked check box are possible when having a minus followed by optional spaces and followed by [ ] for an unchecked check box and [x] or [X] for a checked check box.

Nesting of lists is allowed and is based on indentation of the items.

Here is an example:

  /*! 
   *  A list of events:
   *    - mouse events
   *         -# mouse move event
   *         -# mouse click event\n
   *            More info about the click event.
   *         -# mouse double click event
   *    - keyboard events
   *         1. key down event
   *         2. key up event
   *    - checkbox list
   *         - [ ] unchecked
   *         - [x] checked
   *
   *  More text here.
   */

The result will be:

A list of events:

  • mouse events
    1. mouse move event
    2. mouse click event
      More info about the click event.
    3. mouse double click event
  • keyboard events
    1. key down event
    2. key up event
  • checkbox list
    • unchecked
    • checked

More text here.

If you use tabs for indentation within lists, please make sure that TAB_SIZE in the configuration file is set to the correct tab size.

You can end a list by starting a new paragraph or by putting a dot (.) on an empty line at the same indentation level as the list you would like to end.

Here is an example that speaks for itself:

/**
 * Text before the list
 * - list item 1
 *   - sub item 1
 *     - sub sub item 1
 *     - sub sub item 2
 *     . 
 *     The dot above ends the sub sub item list.
 *
 *     More text for the first sub item
 *   .
 *   The dot above ends the first sub item.
 *
 *   More text for the first list item
 *   - sub item 2
 *   - sub item 3
 * - list item 2
 * .
 * More text in the same paragraph.
 *
 * More text in a new paragraph.
 */

Using HTML commands

If you like you can also use HTML commands inside the documentation blocks.

Here is the above example with HTML commands:

  /*! 
   *  A list of events:
   *  <ul>
   *  <li> mouse events
   *     <ol>
   *     <li>mouse move event
   *     <li>mouse click event<br>
   *         More info about the click event.
   *     <li>mouse double click event
   *     </ol>
   *  <li> keyboard events
   *     <ol>     
   *     <li>key down event
   *     <li>key up event
   *     </ol>
   *  </ul>
   *  More text here.
   */
Note
In this case the indentation is not important.

Using \arg or \li

For compatibility with the Qt Software's internal documentation tool qdoc and with KDoc, Doxygen has two commands that can be used to create simple unnested lists.

See \arg and \li for more info.

Go to the next section or return to the index.