API Documentation

hdoc's main feature is the generating API documentation. hdoc will go through your codebase, scan for symbols and documentation attached to them, and then use this information to construct a website.

hdoc collects information on four categories of symbols:

  • Functions and methods (including templates)
  • Classes, structs, and unions (including templates)
  • Enums
  • Namespaces

If you'd like to see what hdoc is capable of first-hand, take a look at the demo.

Supported Commands

hdoc supports a small subset of Doxygen's commands. hdoc supports both the @ and \ conventions for commands, meaning you can use @brief or \brief interchangeably.

For functions and methods:

  • @brief
  • @param
  • @returns
  • @tparam

For classes, structs, and unions:

  • @brief
  • Comments attached to member variables (i.e. ///<)
  • @tparam

For enums:

  • @brief
  • Comments attached to enumeration values (i.e. ///<)

Additional Documentation

hdoc will also include other documentation attached to a declaration assuming it's using a supported comment syntax. For example, the function declaration below will parse the @brief, @param, and @returns commands. It will also extract the comment about n-dimensional imaginary matrix transforms and attach it to the page for this function.

/// @brief Applies Foo's algorithm on x
///
/// This is a n-dimensional imaginary matrix transform that is
/// that makes our flux capacitor work.
///
/// @param x the distilled essence of the matrix Z
/// @returns The hypercombobulated entangled version of x
int foobar(int x) { return x + 1; }