Skip to content

[std] Use \libmember and \libglobal everywhere #3911

Open
@Eelis

Description

@Eelis

These macros were added by #3096 but are currently almost unused. That's a shame, because in principle their use enables more precise indexing and linking, which I would love to take advantage of in cxxdraft-htmlgen.

For example, a link such as http://eel.is/c++draft/string.iterators#lib:basic_string,cbegin currently points to begin rather than cbegin, because the index entry for cbegin is actually located just before the itemdecl that declares both begin and cbegin. Had \libmember been used here, I could link specifically to the declaration of cbegin.

Although.. that brings up the question of how these macros are intended to be used with overloaded names like begin. Is the intent to:

  1. use the macro on all overloads
  2. use the macro only on the first overload
  3. not use the macro at all for overloaded names
  4. something else? :)

I'd be happy to make a pull request to use these macros everywhere, but do need guidance on this issue of how to handle overloaded names. @jensmaurer do you remember whether you considered overloaded names when you made these macros?

Metadata

Metadata

Assignees

No one assigned

    Labels

    bigAn issue causing a large set of changes, scattered across most of the text.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions