Commands
Table of Contents
| Command | Description |
|---|---|
\brief |
Short summary for a documented symbol |
\class |
Documents a C++ class |
\code |
Starts a code sample (closed with \endcode) |
\def |
Documents a preprocessor macro |
\deprecated |
Marks a symbol as deprecated |
\details |
Longer description |
\dto |
Documents a DTO-style type |
\endcode |
Ends a \code region |
\enum |
Documents an enumeration |
\file |
Recognized; not processed in this version |
\fn |
Documents a function or method |
\note |
Note paragraph |
\param |
Describes one parameter (\fn / \def) |
\remark |
Extra remark |
\return |
Describes the return value (\fn /
\def) |
\see |
Cross-reference (repeatable) |
\struct |
Documents a C++ struct |
\tparam |
Recognized; not processed yet |
\typedef |
Recognized; not processed yet |
\union |
Recognized; not processed yet |
\var |
Documents a variable |
\warning |
Warning paragraph |
\brief
\brief <text>
Short summary for the symbol. <text> is getting
recognized until: the next command, another comment start, a line of ten
or more *, or the end of the block.
Example
/**
* \class Box2
* \brief Axis-aligned bounding box in 2D.
*
* A Box2 represents a rectangular box in 2D space that is aligned with the world
* coordinate axes. It is defined by two Vector2 points: min (lower-left corner)
* and max (upper-right corner).
*/\class
\class <name>
Documents the class called <name>. The name must
match the class in the header. Public members and bases come from tags
and the source.
Example
/**
* \class Box2
* \brief Class representing an axis-aligned bounding box (AABB) in 2D space.
**/
class Box2
{\code
\code
... source ...
\endcode
Captures one or more code samples. You can use several
\code … \endcode pairs in the same block.
Example
/**
* \fn void reset()
* \brief Clears internal state.
* \code
* obj.reset();
* \endcode
*/\def
\def <macro-signature>
Documents a macro. The name before ( is matched to a
macro in the file. Use \param and \return in
the same block like for \fn.
Example
/**
* \def MAX(a,b)
* \brief Expands to the larger of two values.
* \param a First operand
* \param b Second operand
*/\deprecated
\deprecated <text>
Marks the symbol as deprecated and records the reason or replacement.
Example
/**
* \class OldApi
* \deprecated Use NewApi instead.
*/\details
\details <text>
Longer description. Stops at the same boundaries as
\brief.
Example
/**
* \struct Ray
* \brief Half-line in 3D.
* \details Origin and direction;
* used for intersection tests.
*/\dto
\dto <name>
Documents a DataTransferObject called <name> and
collects its members from tags. A \dto is a stripped down
version of a struct without methods or scopes.
Example
/*************************************************************
* \dto Intersection
* \brief DataTransferObject for octree intersection methods
*************************************************************/
struct Intersection
{
Vector3 normal;
Vector3 point;
f32 depth;
};\endcode
\endcode
Closes a region opened with \code. Every
\code must have a matching \endcode.
Example
/**
* \code
* float x = 1.f;
* \endcode
*/\enum
\enum <name>
Documents the enumeration <name> and its
enumerators. All Enumuration will be collected in
enums.html. Enumurator will be formatted as a table
name | value | brief. (optional)
brief must be a one line comment if needed.
Example
/**
* \enum LoopModes
* \brief Loop modes for animation playback
*
* These modes control how animations repeat when they reach the end,
* providing different behaviors for continuous animation playback.
**/
enum class LoopModes
{
LoopOnce = 0 // Play animation once and stop
, LoopRepeat = 1 // Repeat animation from beginning
, LoopPingPong = 2 // Reverse direction and repeat
};\file
\file <path>
Recognized for compatibility. It is not processed yet and does not create a page.
Example
/**
* \file Engine.hpp
*/\fn
\fn <full signature on one line>
Binds the comment to a function or method. The tool matches the name
to tags; private members are skipped. Use \param and
\return in the same block.
Example
/**
* \fn Vec3& multiplyVectors(const Vec3& a, const Vec3& b)
* \brief Sets this vector to a * b component-wise
* \param[in] a First vector
* \param[in] b Second vector
* \return Reference to this vector
**/
Vec3& multiplyVectors(const Vec3& a, const Vec3& b);\note
\note <text>
Adds a note paragraph in the output.
Example
/**
* \fn void tick(float dt)
* \note Must be called once per frame.
*/\param
\param[direction] <name> <description>
Describes one function or macro parameter. You may put a
direction in square brackets immediately after
\param, before the parameter name. Common forms:
| Brackets | Meaning |
|---|---|
[in] |
Input only |
[out] |
Output only (written by the callee) |
[in,out] or [inout] |
Input and output |
Any other text inside [ ] is accepted the
same way. The description runs until the next \param,
\tparam, \return, or the end of the block. To
document a default argument, end the description with
- default and the value on the same pattern the parser
expects. Used with \fn and \def.
Example
/**
* \fn Vec3& multiplyVectors(const Vec3& a, const Vec3& b)
* \brief Sets this vector to a * b component-wise
* \param[in] a First vector
* \param[in] b Second vector
* \return Reference to this vector
**/
Vec3& multiplyVectors(const Vec3& a, const Vec3& b);\remark
\remark <text>
Adds a remark paragraph.
Example
/**
* \class Camera
* \remark Thread-safe for read-only use.
*/\return
\return <text>
Describes the return value of a function, method, or macro.
Example
/**
* \fn int count()
* \return Number of items in the container.
*/\see
\see <reference>
One reference per line. Repeat \see for more than one
link or symbol. Not implemented yet.
Example
/**
* \class Mesh
* \see BufferGeometry
* \see Material
*/\struct
\struct <name>
Documents a struct named <name>, like
\class but for structs.
Example
/**
* \struct Vertex
* \brief Single vertex attributes.
*/\tparam
\tparam[direction] <name> <description>
Describes one template parameter for a function or
method documented with \fn. The same optional
[direction] rules as for \param apply
([in], [out], [in,out], or custom
tags). Use \tparam for template type or non-type
parameters; use \param for regular function parameters.
Not implemented yet.
Example
/**
* \fn T max(T a, T b)
* \tparam T Type comparable with `<`.
* \param[in] a First value.
* \param[in] b Second value.
*/\typedef
\typedef ...
Recognized for compatibility. Not implemented yet.
Example
/**
* \typedef unsigned int Id;
*/\union
\union <name>
Recognized for compatibility. Not implemented yet.
Example
/**
* \union FloatIntBits
*/\var
\var <declaration>
Documents a variable. The last identifier in the declaration is matched to a variable in the file.
Example
/**
* \var const float PI
* \brief Pi constant.
*/\warning
\warning <text>
Adds a warning paragraph.
Example
/**
* \fn void* getRaw()
* \warning Pointer is invalidated on the next resize.
*/