Demo C++ API with Doxygen

RST content

Need: Need inside rst NEED_1 _images/arrow-right-circle.svg
status: open
links incoming: NEED_3, NEED_2
Need: Need inside rst NEED_3 _images/arrow-right-circle.svg
status: open
links outgoing: NEED_1

C++ files

file

code/doxygen_example.hpp

/**
 * \file
 *
 * \brief This file does not even exist in the real world.
 *
 * \rst
 *
 * .. note:: An example hpp to show doxygen problem
 *
 * .. need:: Need inside hpp
 *    :id: NEED_2
 *    :status: open
 *    :links: NEED_1
 *
 *    Unique content string to easily identify in generated xml files: FOOBAR2021
 *
 * Link test to :need:`NEED_1`
 *
 * \endrst
 */

namespace example
{
namespace doxygen
{
} // namespace doxygen
} // namespace example

Doxygen include

.. doxygenfile:: doxygen_example.hpp
   :project: doxygen_example

doxygenfile result starts here:

This file does not even exist in the real world.

Note

An example hpp to show doxygen problem

Need: Need inside hpp NEED_2 _images/arrow-right-circle.svg
status: open
links outgoing: NEED_1

Unique content string to easily identify in generated xml files: FOOBAR2021

Link test to Need inside rst (NEED_1)

namespace example
namespace doxygen

Analysis

ID

Title

Status

Outgoing

Incoming

NEED_1

Need inside rst

open

NEED_2

Need inside hpp

open

NEED_3

Need inside rst

open

@startuml

' Nodes definition 

node "<size:12>Need</size>\n**Need inside rst**\n<size:10>NEED_1</size>" as NEED_1 [[../index.html#NEED_1]] #9856a5 
node "<size:12>Need</size>\n**Need inside rst**\n<size:10>NEED_3</size>" as NEED_3 [[../index.html#NEED_3]] #9856a5 
node "<size:12>Need</size>\n**Need inside hpp**\n<size:10>NEED_2</size>" as NEED_2 [[../index.html#NEED_2]] #9856a5 

' Connection definition 

NEED_3 --> NEED_1
NEED_2 --> NEED_1

@enduml