Skip to content

Order of Doxygen entries results in failure using inline namespaces #222

Description

@Lunarix

Hello,

I am using doxygen to generate the index.xml and forward it to exhale & breathe generating a sphinx docu.

My code contains inline namespaces, e.g.:

namespace spaceA {
namespace spaceB {
inline namespace v1 {

struct ObjectSize {
    double length = 0; 
};

struct Version {
    uint16_t major = 0;
};

} // namespace v1
} // namespace spaceB
} // namespace spaceA

Now I generate the doxygen index.xml:


 <compound refid="a00355" kind="struct"><name>spaceA::spaceB::ObjectSize</name>
    <member refid="a00355_1a928b11f5716331f0b89abe7d8d4124b4" kind="variable"><name>length</name></member>
  </compound>
  <compound refid="a00355" kind="struct"><name>spaceA::spaceB::v1::ObjectSize</name>
    <member refid="a00355_1a928b11f5716331f0b89abe7d8d4124b4" kind="variable"><name>length</name></member>
  </compound>
 <compound refid="a00359" kind="struct"><name>spaceA::spaceB::v1::Version</name>
    <member refid="a00359_1a600930655b7237315b72223c48327ea8" kind="variable"><name>major</name></member>
  </compound>
  <compound refid="a00359" kind="struct"><name>spaceA::spaceB::Version</name>
    <member refid="a00359_1a600930655b7237315b72223c48327ea8" kind="variable"><name>major</name></member>
  </compound>

As you can see the order of ObjectSize & Version are different. This might be because of the alphabetic ordering of doxygen in the index.xml.

Now using exhale & breathe to generate sphinx docu results in an error. The ObjectSize struct is displayed correct (spaceA::spaceB::v1::ObjectSize), but the Version struct is not found, it searches for spaceA::spaceB::v1::spaceA::spaceB::Version, which is not found.

Image

It seems that the order of entries in the doxygen xml is important, when having inline namespaces in c++.

Best regards.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions