boostorg / docca

Boost.Book XSLT C++ documentation system

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

very confused output, and unsure why

vinniefalco opened this issue · comments

In this branch:
https://github.com/vinniefalco/url/tree/docca

Some very weird things are happening. For example here is the member declaration for userinfo():
https://github.com/vinniefalco/url/blob/4a8df7369af8946a56ee8ff88b599b4cc5b3c544/include/boost/url/url_view_base.hpp#L633

And yet it is being rendered as a static member:
image

And a regular member:
image

Something similar is happening to string_view_base. These operators are declared as friends (free functions):
https://github.com/vinniefalco/url/blob/4a8df7369af8946a56ee8ff88b599b4cc5b3c544/include/boost/url/grammar/string_view_base.hpp#L783

But they are showing up as static members, protected DATA members, and regular members at the same time (lol)!
image

image

image

Something ain't right :)

commented

This is looking normal for me on my superboost install @develop with (boost url from the new master submodule.

The key difference seems to be that you added grouping¹.

Spelunking through the XSL I spot this:

  <!--
    ASSUMPTION (for now): At least one member per section (table) must not be in a user-defined group.
    Also, we may need a more robust mapping between a user-defined group's members and the sections
    in which they belong. For now, we are using this partial test.
  -->

All in all it seems like there might be a known issue around mxing user-defined groups with the automatic section grouping.

Perhaps it might be helpful to define an explicit group (@defgroup/@InGroup). I couldn't immediately make it work though.


¹ Keep in mind that Docca stipulates that DISTRIBUTE_GROUP_DOC = YES be set

I'm taking a look. Thank you @sehe for your investigation so far!

I've been having trouble reproducing this behavior. I have the "docca" branch checked out from vinniefalco/url...

I can see why it's happening from the XSLT code, but without being able to get the same Doxygen XML as input, it's hard to properly diagnose & fix. I'm not sure what I'm doing differently.

My hypothesis is that docca never did properly support user-defined groups and that when I wrote that code (including the comment above) I didn't even know what they were exactly. Also, my suspicion is that Doxygen is not giving us all the info we need (but I'll bracket that for now, because I'm not sure).

@vinniefalco Let me ask you this. What is your intention for using grouping here? If it's not intentional, then all you have to do is delete lines 627 and 641 from here to make the problem go away (I predict): https://github.com/vinniefalco/url/blob/4a8df7369af8946a56ee8ff88b599b4cc5b3c544/include/boost/url/url_view_base.hpp#L627

I still want to make sure we properly support grouping, but I'm wondering if this workaround is an easy "fix" for you in the mean time? 😅