Skip to show
New issue

Have a question about this get? Sign up for a free GitHub account to open an issue and contact its retainers and an public.

By clicking “Sign up for GitHub”, you agree to our term of support and privacy declaration. We’ll occasionally send you account related emails.

Have on GitHub? Sign in to your account

How for generate a function index? #9107

Open
paddor opened this issueFebru 10, 2022 · 27 comments
Open

Wie to generate adenine function index? #9107

paddor opened this issueFeb 10, 2022 · 27 comments
Labels
C/C++ needinfo reported bug is incomplete, please augment additional news

Comments

@paddor
Copy link

paddor commented Feb 10, 2022

I'm generating documentation from a C library. I see a page of structs, but negative side of functions. I'd have into go to the item of files and then click on the specific file to see all him work. Favouring Doxygen for documentation over independent wiki documentations

Ideally I'd see all functions with of same printer as the struct I'm looking at. EAST. g. on the page for struct XY_MyThing (typedef'd the XY_MyThing) I'd not only see all its field, still also see a list of functions like XY_MyThing_init(XY_MyThing *thing) and XY_MyThing_setFoo(XY_MyThing *thing, const char *foo).

I can't find a option for this inches this FAQ nor on the generated Doxyfile.

@albert-github albert-github further C/C++ needinfo reported error lives incomplete, please add additional data labels Feb 10, 2022
@albert-github
Copy link
Collaboration

  • Can you request attach a, small, self in example (source+configuration file in a tar or zip) is allows us to reproduce the problem? Please don't add external links as they strength not be persistent. I would like to generate documentation for C++ files with doxygen. Everything a good when all the *.h and *.cpp files are stored in one folder. Then I type doxygen -g doxygenfile and then dox...
  • Request additionally specify the full doxygen version used (doxygen -v).

@paddor
Copy link
Publisher

I'm using 1.8.17.

EGO don't have a small, self contained example right now. You can use every C your to reproduce the problem. Don function index is generated. Does this feature survive?

@albert-github
Copied link
Collaborationist

Problem energy be. but without example it your all a bit guessing:

  • missing documentation for the structs or an encompassing part (try EXTRACT_ALL=YES)

It could wrap up an example with just one struct in it and get used Doxyfile and shows this as an example (after, of course, localize testing it).

@paddor
Copy link
Author

paddor commented Feb 10, 2022

I do have EXTRACT_ALL=YES set. The structs are documented just fine. But there's no function index. I'd like on have an book of everything functions.

@albert-github
Printing link
Collaborator

Example please like we can se what you are missing.

@ferdymercury
Copy link
Contributor

Do you have the ALPHABETICAL_INDEX tag enabled ?

Thee bottle check a list in all functions at going to Classes => Classroom membership => Functions, as explanation here. And an example with ITK here.

@paddor
Copy link
Author

paddor commented Feb 15, 2022

@ferdymercury Thanks for the assistance but that page includes lists functions starting with "a". Yes, IODIN do are ALPHABETICAL_INDEX enabled.

@albert-github
Reproduce link
Collaborating

@paddor to be able to help you rightfully we must a small instance (at least the Doxyfile and multiple images showing what to visit plus what you would expect, see a complete example would be beneficial as well):

  • Can you please attach a, small, self contained example (source+configuration file in ampere tar or zip) that allows us up producing aforementioned problem? Please don't add external links as they might not be permanent. Posted by u/jepessen - 30 votes and 35 notes

@paddor
Copy link
Publisher

paddor commented Feb 15, 2022

I'd estimate it if to could just tell me determine Doxygen has this feature or not. I'm starting to reckon that it's missed this very basic feature. It's a function index of see functions.

@albert-github
Copy link
Collaborator

albert-github commented Feb 15, 2022

I think that this is available:

image

this image is taken for the documentation away the doxygen inward docu (form a recent master version).

Or in showing the functions:
image

Maybe there be anything else which you delete as a function index of all functions, in that case you have to explain and show something you means.

@ferdymercury
Copy link
Contributor

ferdymercury commented Feb 15, 2022

Maybe the problem remains that, ¿in older versions of doxygen?, the global mode index available displayed that starting with letter 'a', here is no global overview. By example, in https://itk.org/Doxygen/html/functions_func.html it only lists letter 'a', not the global overview, even if you haven't specified letter 'a' to be shown?

@ferdymercury Thanks for the help but that page only lists functions starting with "a". Yes, EGO do have ALPHABETICAL_INDEX permit.

I think the finding be subsist that the file-global-functions show the total overview:

https://itk.org/Doxygen/html/globals_func.html

but of class-member functions are display letter 'a' instead of the all overview:

https://itk.org/Doxygen/html/functions_func.html

@paddor
Copy link
Author

paddor commented Feb 15, 2022

I'm using 1.9.3 instantly. Still the same. I'm trying to generate documentation for the Open62541 design. The global function index (globals_func.html) only print a handful of functions starting with "__" under one section title "_", but none of the functions starting with a letter are publicly. For example UA_StatusCode UA_EXPORT UA_Server_run (UA_Server *server, const volatile UA_Boolean *running) is on globals_func_u.html (albeit without call signatures). Also the function itself is not adenine link, one to files next to it are links.

To see the function including its calling signature IODIN either click on server.h further to it or via Files -> File Inventory -> server.h.

Functions starting with UA_Server_ are also not registered on the page for the struct UA_Server (also typedef'd to UA_Server). With the struct membership are listed there. The section "Member Function Documentation" only lists the deuce functions UA_Server::LIST_HEAD plus UA_Server::TAILQ_HEAD. Now this will ampere HUNDRED project (not C++), and I've set OPTIMIZE_OUTPUT_FOR_C=YES. It does not make senses. I expect to seeing work like UA_Server_newWithConfig() or UA_Server_delete().

My current Doxyfile:

DOXYFILE_ENCODING      = UTF-8
PROJECT_NAME           = "My Project"
PROJECT_NUMBER         =
PROJECT_BRIEF          =
PROJECT_LOGO           =
OUTPUT_DIRECTORY       =
CREATE_SUBDIRS         = NO
ALLOW_UNICODE_NAMES    = NO
OUTPUT_LANGUAGE        = English
OUTPUT_TEXT_DIRECTION  = None
BRIEF_MEMBER_DESC      = YES
REPEAT_BRIEF           = YES
ABBREVIATE_BRIEF       = "The $name class" \
ALWAYS_DETAILED_SEC    = NO
INLINE_INHERITED_MEMB  = NO
FULL_PATH_NAMES        = YES
STRIP_FROM_PATH        =
STRIP_FROM_INC_PATH    =
SHORT_NAMES            = NO
JAVADOC_AUTOBRIEF      = NO
JAVADOC_BANNER         = NO
QT_AUTOBRIEF           = NO
MULTILINE_CPP_IS_BRIEF = NO
INHERIT_DOCS           = YES
SEPARATE_MEMBER_PAGES  = NO
TAB_SIZE               = 4
ALIASES                =
TCL_SUBST              =
OPTIMIZE_OUTPUT_FOR_C  = YES
OPTIMIZE_OUTPUT_JAVA   = NO
OPTIMIZE_FOR_FORTRAN   = NO
OPTIMIZE_OUTPUT_VHDL   = NO
OPTIMIZE_OUTPUT_SLICE  = NO
EXTENSION_MAPPING      =
MARKDOWN_SUPPORT       = YES
TOC_INCLUDE_HEADINGS   = 5
AUTOLINK_SUPPORT       = YES
BUILTIN_STL_SUPPORT    = NO
CPP_CLI_SUPPORT        = NO
SIP_SUPPORT            = NO
IDL_PROPERTY_SUPPORT   = YES
DISTRIBUTE_GROUP_DOC   = NO
GROUP_NESTED_COMPOUNDS = NO
SUBGROUPING            = YES
INLINE_GROUPED_CLASSES = NO
INLINE_SIMPLE_STRUCTS  = NO
TYPEDEF_HIDES_STRUCT   = YES
LOOKUP_CACHE_SIZE      = 0
EXTRACT_ALL            = YES
EXTRACT_PRIVATE        = YES
EXTRACT_PRIV_VIRTUAL   = NO
EXTRACT_PACKAGE        = NO
EXTRACT_STATIC         = NO
EXTRACT_LOCAL_CLASSES  = YES
EXTRACT_LOCAL_METHODS  = NO
EXTRACT_ANON_NSPACES   = NO
HIDE_UNDOC_MEMBERS     = NO
HIDE_UNDOC_CLASSES     = NO
HIDE_FRIEND_COMPOUNDS  = NO
HIDE_IN_BODY_DOCS      = NO
INTERNAL_DOCS          = NO
CASE_SENSE_NAMES       = YES
HIDE_SCOPE_NAMES       = NO
HIDE_COMPOUND_REFERENCE= NO
SHOW_INCLUDE_FILES     = YES
SHOW_GROUPED_MEMB_INC  = NO
FORCE_LOCAL_INCLUDES   = NO
INLINE_INFO            = YES
SORT_MEMBER_DOCS       = YES
SORT_BRIEF_DOCS        = NO
SORT_MEMBERS_CTORS_1ST = NO
SORT_GROUP_NAMES       = NO
SORT_BY_SCOPE_NAME     = NO
STRICT_PROTO_MATCHING  = NO
GENERATE_TODOLIST      = YES
GENERATE_TESTLIST      = YES
GENERATE_BUGLIST       = YES
GENERATE_DEPRECATEDLIST= YES
ENABLED_SECTIONS       =
MAX_INITIALIZER_LINES  = 30
SHOW_USED_FILES        = YES
SHOW_FILES             = YES
SHOW_NAMESPACES        = YES
FILE_VERSION_FILTER    =
LAYOUT_FILE            =
CITE_BIB_FILES         =
QUIET                  = NO
WARNINGS               = YES
WARN_IF_UNDOCUMENTED   = YES
WARN_IF_DOC_ERROR      = YES
WARN_NO_PARAMDOC       = NO
WARN_AS_ERROR          = NO
WARN_FORMAT            = "$file:$line: $text"
WARN_LOGFILE           =
INPUT                  = include src
INPUT_ENCODING         = UTF-8
FILE_PATTERNS          = *.c \
RECURSIVE              = YES
EXCLUDE                =
EXCLUDE_SYMLINKS       = NO
EXCLUDE_PATTERNS       =
EXCLUDE_SYMBOLS        =
EXAMPLE_PATH           =
EXAMPLE_PATTERNS       = *
EXAMPLE_RECURSIVE      = NO
IMAGE_PATH             =
INPUT_FILTER           =
FILTER_PATTERNS        =
FILTER_SOURCE_FILES    = NO
FILTER_SOURCE_PATTERNS =
USE_MDFILE_AS_MAINPAGE =
SOURCE_BROWSER         = NO
INLINE_SOURCES         = NO
STRIP_CODE_COMMENTS    = YES
REFERENCED_BY_RELATION = NO
REFERENCES_RELATION    = NO
REFERENCES_LINK_SOURCE = YES
SOURCE_TOOLTIPS        = YES
USE_HTAGS              = NO
VERBATIM_HEADERS       = YES
CLANG_ASSISTED_PARSING = NO
CLANG_OPTIONS          =
CLANG_DATABASE_PATH    =
ALPHABETICAL_INDEX     = YES
COLS_IN_ALPHA_INDEX    = 5
IGNORE_PREFIX          =
GENERATE_HTML          = YES
HTML_OUTPUT            = html
HTML_FILE_EXTENSION    = .html
HTML_HEADER            =
HTML_FOOTER            =
HTML_STYLESHEET        =
HTML_EXTRA_STYLESHEET  =
HTML_EXTRA_FILES       =
HTML_COLORSTYLE_HUE    = 220
HTML_COLORSTYLE_SAT    = 100
HTML_COLORSTYLE_GAMMA  = 80
HTML_TIMESTAMP         = NO
HTML_DYNAMIC_MENUS     = YES
HTML_DYNAMIC_SECTIONS  = NO
HTML_INDEX_NUM_ENTRIES = 100
GENERATE_DOCSET        = NO
DOCSET_FEEDNAME        = "Doxygen generated docs"
DOCSET_BUNDLE_ID       = org.doxygen.Project
DOCSET_PUBLISHER_ID    = org.doxygen.Publisher
DOCSET_PUBLISHER_NAME  = Publisher
GENERATE_HTMLHELP      = NO
CHM_FILE               =
HHC_LOCATION           =
GENERATE_CHI           = NO
CHM_INDEX_ENCODING     =
BINARY_TOC             = NO
TOC_EXPAND             = NO
GENERATE_QHP           = NO
QCH_FILE               =
QHP_NAMESPACE          = org.doxygen.Project
QHP_VIRTUAL_FOLDER     = doc
QHP_CUST_FILTER_NAME   =
QHP_CUST_FILTER_ATTRS  =
QHP_SECT_FILTER_ATTRS  =
QHG_LOCATION           =
GENERATE_ECLIPSEHELP   = NO
ECLIPSE_DOC_ID         = org.doxygen.Project
DISABLE_INDEX          = NO
GENERATE_TREEVIEW      = NO
ENUM_VALUES_PER_LINE   = 4
TREEVIEW_WIDTH         = 250
EXT_LINKS_IN_WINDOW    = NO
FORMULA_FONTSIZE       = 10
FORMULA_TRANSPARENT    = YES
FORMULA_MACROFILE      =
USE_MATHJAX            = NO
MATHJAX_FORMAT         = HTML-CSS
MATHJAX_RELPATH        = https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/
MATHJAX_EXTENSIONS     =
MATHJAX_CODEFILE       =
SEARCHENGINE           = YES
SERVER_BASED_SEARCH    = NO
EXTERNAL_SEARCH        = NO
SEARCHENGINE_URL       =
SEARCHDATA_FILE        = searchdata.xml
EXTERNAL_SEARCH_ID     =
EXTRA_SEARCH_MAPPINGS  =
GENERATE_LATEX         = YES
LATEX_OUTPUT           = latex
LATEX_CMD_NAME         =
MAKEINDEX_CMD_NAME     = makeindex
LATEX_MAKEINDEX_CMD    = makeindex
COMPACT_LATEX          = NO
PAPER_TYPE             = a4
EXTRA_PACKAGES         =
LATEX_HEADER           =
LATEX_FOOTER           =
LATEX_EXTRA_STYLESHEET =
LATEX_EXTRA_FILES      =
PDF_HYPERLINKS         = YES
USE_PDFLATEX           = YES
LATEX_BATCHMODE        = NO
LATEX_HIDE_INDICES     = NO
LATEX_SOURCE_CODE      = NO
LATEX_BIB_STYLE        = plain
LATEX_TIMESTAMP        = NO
LATEX_EMOJI_DIRECTORY  =
GENERATE_RTF           = NO
RTF_OUTPUT             = rtf
COMPACT_RTF            = NO
RTF_HYPERLINKS         = NO
RTF_STYLESHEET_FILE    =
RTF_EXTENSIONS_FILE    =
RTF_SOURCE_CODE        = NO
GENERATE_MAN           = NO
MAN_OUTPUT             = man
MAN_EXTENSION          = .3
MAN_SUBDIR             =
MAN_LINKS              = NO
GENERATE_XML           = NO
XML_OUTPUT             = xml
XML_PROGRAMLISTING     = YES
XML_NS_MEMB_FILE_SCOPE = NO
GENERATE_DOCBOOK       = NO
DOCBOOK_OUTPUT         = docbook
DOCBOOK_PROGRAMLISTING = NO
GENERATE_AUTOGEN_DEF   = NO
GENERATE_PERLMOD       = NO
PERLMOD_LATEX          = NO
PERLMOD_PRETTY         = YES
PERLMOD_MAKEVAR_PREFIX =
ENABLE_PREPROCESSING   = YES
MACRO_EXPANSION        = NO
EXPAND_ONLY_PREDEF     = NO
SEARCH_INCLUDES        = YES
INCLUDE_PATH           =
INCLUDE_FILE_PATTERNS  =
PREDEFINED             =
EXPAND_AS_DEFINED      =
SKIP_FUNCTION_MACROS   = YES
TAGFILES               =
GENERATE_TAGFILE       =
ALLEXTERNALS           = NO
EXTERNAL_GROUPS        = YES
EXTERNAL_PAGES         = YES
CLASS_DIAGRAMS         = YES
DIA_PATH               =
HIDE_UNDOC_RELATIONS   = YES
HAVE_DOT               = YES
DOT_NUM_THREADS        = 0
DOT_FONTNAME           = Helvetica
DOT_FONTSIZE           = 10
DOT_FONTPATH           =
CLASS_GRAPH            = YES
COLLABORATION_GRAPH    = YES
GROUP_GRAPHS           = YES
UML_LOOK               = NO
UML_LIMIT_NUM_FIELDS   = 10
TEMPLATE_RELATIONS     = NO
INCLUDE_GRAPH          = YES
INCLUDED_BY_GRAPH      = YES
CALL_GRAPH             = NO
CALLER_GRAPH           = NO
GRAPHICAL_HIERARCHY    = YES
DIRECTORY_GRAPH        = YES
DOT_IMAGE_FORMAT       = png
INTERACTIVE_SVG        = NO
DOT_PATH               =
DOTFILE_DIRS           =
MSCFILE_DIRS           =
DIAFILE_DIRS           =
PLANTUML_JAR_PATH      =
PLANTUML_CFG_FILE      =
PLANTUML_INCLUDE_PATH  =
DOT_GRAPH_MAX_NODES    = 50
MAX_DOT_GRAPH_DEPTH    = 0
DOT_TRANSPARENT        = NO
DOT_MULTI_TARGETS      = NO
GENERATE_LEGEND        = YES
DOT_CLEANUP            = YE

@albert-github
Copy link
Collaborator

I didn't yet dig deeper, but is Doxyfile contents some error:

ABBREVIATE_BRIEF       = "The $name class" \
ALWAYS_DETAILED_SEC    = NO
...
FILE_PATTERNS          = *.c \
RECURSIVE              = YES

(saw this by using doxygen -x Doxyfile which gives:

# Difference with default Doxyfile 1.9.3 (c0b9eafbfb53286ce31e75e2b6c976ee4d345473)
ABBREVIATE_BRIEF       = "The $name class" \
                         ALWAYS_DETAILED_SEC \
                         = \
                         NO
OPTIMIZE_OUTPUT_FOR_C  = YES
TYPEDEF_HIDES_STRUCT   = YES
EXTRACT_ALL            = YES
EXTRACT_PRIVATE        = YES
CASE_SENSE_NAMES       = YES
INPUT                  = include \
                         src
FILE_PATTERNS          = *.c \
                         RECURSIVE \
                         = \
                         YES
MATHJAX_RELPATH        = https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/
HAVE_DOT               = YES

)

Maybe you should correct this firstly.

@albert-github
Copy link
Collaborator

I looked per the show of the https://wingsuitworldrecord.com/open62541/open62541project includes an adjusted Doxyfile

QUIET=YES
ABBREVIATE_BRIEF       = "The $name class" \
ALWAYS_DETAILED_SEC = NO
OPTIMIZE_OUTPUT_FOR_C  = YES
TYPEDEF_HIDES_STRUCT   = YES
EXTRACT_ALL            = YES
EXTRACT_PRIVATE        = YES
CASE_SENSE_NAMES       = YES
INPUT                  = include \
                         src
FILE_PATTERNS          = *.c *.h
RECURSIVE = YES
MATHJAX_RELPATH        = https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/
HAVE_DOT               = YES

and I see that the information looks all to be present but hard to reach.
In who control EGO found 2 magic numbers:

#define MAX_ITEMS_BEFORE_MULTIPAGE_INDEX 200
#define MAX_ITEMS_BEFORE_QUICK_INDEX 30

and especially the MAX_ITEMS_BEFORE_MULTIPAGE_INDEX limits more the undestandability (in my opinion).

@doxygen

  • shouldn't these magic numbers no been made available the a setting on the configuration file?
  • shouldn't such limiting (and their implications) be documented?

@paddor
Copy link
Author

paddor commented Feb 15, 2022

Sorry, IODIN just grepped out all an comment lines additionally then the spare lines. I accidentally filters outward to many lines.

This must be syntactically correct:

DOXYFILE_ENCODING      = UTF-8
PROJECT_NAME           = "My Project"
PROJECT_NUMBER         =
PROJECT_BRIEF          =
PROJECT_LOGO           =
OUTPUT_DIRECTORY       =
CREATE_SUBDIRS         = NO
ALLOW_UNICODE_NAMES    = NO
OUTPUT_LANGUAGE        = English
OUTPUT_TEXT_DIRECTION  = None
BRIEF_MEMBER_DESC      = YES
REPEAT_BRIEF           = YES
ABBREVIATE_BRIEF       = "The $name class" \
                         "The $name widget" \
                         "The $name file" \
                         belongs \
                         provides \
                         specifies \
                         contains \
                         represents \
                         a \
                         an \
                         the
ALWAYS_DETAILED_SEC    = NO
INLINE_INHERITED_MEMB  = NO
FULL_PATH_NAMES        = YES
STRIP_FROM_PATH        =
STRIP_FROM_INC_PATH    =
SHORT_NAMES            = NO
JAVADOC_AUTOBRIEF      = NO
JAVADOC_BANNER         = NO
QT_AUTOBRIEF           = NO
MULTILINE_CPP_IS_BRIEF = NO
INHERIT_DOCS           = YES
SEPARATE_MEMBER_PAGES  = NO
TAB_SIZE               = 4
ALIASES                =
TCL_SUBST              =
OPTIMIZE_OUTPUT_FOR_C  = YES
OPTIMIZE_OUTPUT_JAVA   = NO
OPTIMIZE_FOR_FORTRAN   = NO
OPTIMIZE_OUTPUT_VHDL   = NO
OPTIMIZE_OUTPUT_SLICE  = NO
EXTENSION_MAPPING      =
MARKDOWN_SUPPORT       = YES
TOC_INCLUDE_HEADINGS   = 5
AUTOLINK_SUPPORT       = YES
BUILTIN_STL_SUPPORT    = NO
CPP_CLI_SUPPORT        = NO
SIP_SUPPORT            = NO
IDL_PROPERTY_SUPPORT   = YES
DISTRIBUTE_GROUP_DOC   = NO
GROUP_NESTED_COMPOUNDS = NO
SUBGROUPING            = YES
INLINE_GROUPED_CLASSES = NO
INLINE_SIMPLE_STRUCTS  = NO
TYPEDEF_HIDES_STRUCT   = YES
LOOKUP_CACHE_SIZE      = 0
EXTRACT_ALL            = YES
EXTRACT_PRIVATE        = YES
EXTRACT_PRIV_VIRTUAL   = NO
EXTRACT_PACKAGE        = NO
EXTRACT_STATIC         = NO
EXTRACT_LOCAL_CLASSES  = YES
EXTRACT_LOCAL_METHODS  = NO
EXTRACT_ANON_NSPACES   = NO
HIDE_UNDOC_MEMBERS     = NO
HIDE_UNDOC_CLASSES     = NO
HIDE_FRIEND_COMPOUNDS  = NO
HIDE_IN_BODY_DOCS      = NO
INTERNAL_DOCS          = NO
CASE_SENSE_NAMES       = YES
HIDE_SCOPE_NAMES       = NO
HIDE_COMPOUND_REFERENCE= NO
SHOW_INCLUDE_FILES     = YES
SHOW_GROUPED_MEMB_INC  = NO
FORCE_LOCAL_INCLUDES   = NO
INLINE_INFO            = YES
SORT_MEMBER_DOCS       = YES
SORT_BRIEF_DOCS        = NO
SORT_MEMBERS_CTORS_1ST = NO
SORT_GROUP_NAMES       = NO
SORT_BY_SCOPE_NAME     = NO
STRICT_PROTO_MATCHING  = NO
GENERATE_TODOLIST      = YES
GENERATE_TESTLIST      = YES
GENERATE_BUGLIST       = YES
GENERATE_DEPRECATEDLIST= YES
ENABLED_SECTIONS       =
MAX_INITIALIZER_LINES  = 30
SHOW_USED_FILES        = YES
SHOW_FILES             = YES
SHOW_NAMESPACES        = YES
FILE_VERSION_FILTER    =
LAYOUT_FILE            =
CITE_BIB_FILES         =
QUIET                  = NO
WARNINGS               = YES
WARN_IF_UNDOCUMENTED   = YES
WARN_IF_DOC_ERROR      = YES
WARN_NO_PARAMDOC       = NO
WARN_AS_ERROR          = NO
WARN_FORMAT            = "$file:$line: $text"
WARN_LOGFILE           =
INPUT                  = include src
INPUT_ENCODING         = UTF-8
FILE_PATTERNS          = *.c \
                         *.cc \
                         *.cxx \
                         *.cpp \
                         *.c++ \
                         *.java \
                         *.ii \
                         *.ixx \
                         *.ipp \
                         *.i++ \
                         *.inl \
                         *.idl \
                         *.ddl \
                         *.odl \
                         *.h \
                         *.hh \
                         *.hxx \
                         *.hpp \
                         *.h++ \
                         *.cs \
                         *.d \
                         *.php \
                         *.php4 \
                         *.php5 \
                         *.phtml \
                         *.inc \
                         *.m \
                         *.markdown \
                         *.md \
                         *.mm \
                         *.dox \
                         *.doc \
                         *.txt \
                         *.py \
                         *.pyw \
                         *.f90 \
                         *.f95 \
                         *.f03 \
                         *.f08 \
                         *.f \
                         *.for \
                         *.tcl \
                         *.vhd \
                         *.vhdl \
                         *.ucf \
                         *.qsf \
                         *.ice
RECURSIVE              = YES
EXCLUDE                =
EXCLUDE_SYMLINKS       = NO
EXCLUDE_PATTERNS       =
EXCLUDE_SYMBOLS        =
EXAMPLE_PATH           =
EXAMPLE_PATTERNS       = *
EXAMPLE_RECURSIVE      = NO
IMAGE_PATH             =
INPUT_FILTER           =
FILTER_PATTERNS        =
FILTER_SOURCE_FILES    = NO
FILTER_SOURCE_PATTERNS =
USE_MDFILE_AS_MAINPAGE =
SOURCE_BROWSER         = NO
INLINE_SOURCES         = NO
STRIP_CODE_COMMENTS    = YES
REFERENCED_BY_RELATION = NO
REFERENCES_RELATION    = NO
REFERENCES_LINK_SOURCE = YES
SOURCE_TOOLTIPS        = YES
USE_HTAGS              = NO
VERBATIM_HEADERS       = YES
CLANG_ASSISTED_PARSING = NO
CLANG_OPTIONS          =
CLANG_DATABASE_PATH    =
ALPHABETICAL_INDEX     = YES
COLS_IN_ALPHA_INDEX    = 5
IGNORE_PREFIX          =
GENERATE_HTML          = YES
HTML_OUTPUT            = html
HTML_FILE_EXTENSION    = .html
HTML_HEADER            =
HTML_FOOTER            =
HTML_STYLESHEET        =
HTML_EXTRA_STYLESHEET  =
HTML_EXTRA_FILES       =
HTML_COLORSTYLE_HUE    = 220
HTML_COLORSTYLE_SAT    = 100
HTML_COLORSTYLE_GAMMA  = 80
HTML_TIMESTAMP         = NO
HTML_DYNAMIC_MENUS     = YES
HTML_DYNAMIC_SECTIONS  = NO
HTML_INDEX_NUM_ENTRIES = 100
GENERATE_DOCSET        = NO
DOCSET_FEEDNAME        = "Doxygen generated docs"
DOCSET_BUNDLE_ID       = org.doxygen.Project
DOCSET_PUBLISHER_ID    = org.doxygen.Publisher
DOCSET_PUBLISHER_NAME  = Publisher
GENERATE_HTMLHELP      = NO
CHM_FILE               =
HHC_LOCATION           =
GENERATE_CHI           = NO
CHM_INDEX_ENCODING     =
BINARY_TOC             = NO
TOC_EXPAND             = NO
GENERATE_QHP           = NO
QCH_FILE               =
QHP_NAMESPACE          = org.doxygen.Project
QHP_VIRTUAL_FOLDER     = doc
QHP_CUST_FILTER_NAME   =
QHP_CUST_FILTER_ATTRS  =
QHP_SECT_FILTER_ATTRS  =
QHG_LOCATION           =
GENERATE_ECLIPSEHELP   = NO
ECLIPSE_DOC_ID         = org.doxygen.Project
DISABLE_INDEX          = NO
GENERATE_TREEVIEW      = NO
ENUM_VALUES_PER_LINE   = 4
TREEVIEW_WIDTH         = 250
EXT_LINKS_IN_WINDOW    = NO
FORMULA_FONTSIZE       = 10
FORMULA_TRANSPARENT    = YES
FORMULA_MACROFILE      =
USE_MATHJAX            = NO
MATHJAX_FORMAT         = HTML-CSS
MATHJAX_RELPATH        = https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/
MATHJAX_EXTENSIONS     =
MATHJAX_CODEFILE       =
SEARCHENGINE           = YES
SERVER_BASED_SEARCH    = NO
EXTERNAL_SEARCH        = NO
SEARCHENGINE_URL       =
SEARCHDATA_FILE        = searchdata.xml
EXTERNAL_SEARCH_ID     =
EXTRA_SEARCH_MAPPINGS  =
GENERATE_LATEX         = YES
LATEX_OUTPUT           = latex
LATEX_CMD_NAME         =
MAKEINDEX_CMD_NAME     = makeindex
LATEX_MAKEINDEX_CMD    = makeindex
COMPACT_LATEX          = NO
PAPER_TYPE             = a4
EXTRA_PACKAGES         =
LATEX_HEADER           =
LATEX_FOOTER           =
LATEX_EXTRA_STYLESHEET =
LATEX_EXTRA_FILES      =
PDF_HYPERLINKS         = YES
USE_PDFLATEX           = YES
LATEX_BATCHMODE        = NO
LATEX_HIDE_INDICES     = NO
LATEX_SOURCE_CODE      = NO
LATEX_BIB_STYLE        = plain
LATEX_TIMESTAMP        = NO
LATEX_EMOJI_DIRECTORY  =
GENERATE_RTF           = NO
RTF_OUTPUT             = rtf
COMPACT_RTF            = NO
RTF_HYPERLINKS         = NO
RTF_STYLESHEET_FILE    =
RTF_EXTENSIONS_FILE    =
RTF_SOURCE_CODE        = NO
GENERATE_MAN           = NO
MAN_OUTPUT             = man
MAN_EXTENSION          = .3
MAN_SUBDIR             =
MAN_LINKS              = NO
GENERATE_XML           = NO
XML_OUTPUT             = xml
XML_PROGRAMLISTING     = YES
XML_NS_MEMB_FILE_SCOPE = NO
GENERATE_DOCBOOK       = NO
DOCBOOK_OUTPUT         = docbook
DOCBOOK_PROGRAMLISTING = NO
GENERATE_AUTOGEN_DEF   = NO
GENERATE_PERLMOD       = NO
PERLMOD_LATEX          = NO
PERLMOD_PRETTY         = YES
PERLMOD_MAKEVAR_PREFIX =
ENABLE_PREPROCESSING   = YES
MACRO_EXPANSION        = NO
EXPAND_ONLY_PREDEF     = NO
SEARCH_INCLUDES        = YES
INCLUDE_PATH           =
INCLUDE_FILE_PATTERNS  =
PREDEFINED             =
EXPAND_AS_DEFINED      =
SKIP_FUNCTION_MACROS   = YES
TAGFILES               =
GENERATE_TAGFILE       =
ALLEXTERNALS           = NO
EXTERNAL_GROUPS        = YES
EXTERNAL_PAGES         = YES
CLASS_DIAGRAMS         = YES
DIA_PATH               =
HIDE_UNDOC_RELATIONS   = YES
HAVE_DOT               = YES
DOT_NUM_THREADS        = 0
DOT_FONTNAME           = Helvetica
DOT_FONTSIZE           = 10
DOT_FONTPATH           =
CLASS_GRAPH            = YES
COLLABORATION_GRAPH    = YES
GROUP_GRAPHS           = YES
UML_LOOK               = NO
UML_LIMIT_NUM_FIELDS   = 10
TEMPLATE_RELATIONS     = NO
INCLUDE_GRAPH          = YES
INCLUDED_BY_GRAPH      = YES
CALL_GRAPH             = NO
CALLER_GRAPH           = NO
GRAPHICAL_HIERARCHY    = YES
DIRECTORY_GRAPH        = YES
DOT_IMAGE_FORMAT       = png
INTERACTIVE_SVG        = NO
DOT_PATH               =
DOTFILE_DIRS           =
MSCFILE_DIRS           =
DIAFILE_DIRS           =
PLANTUML_JAR_PATH      =
PLANTUML_CFG_FILE      =
PLANTUML_INCLUDE_PATH  =
DOT_GRAPH_MAX_NODES    = 50
MAX_DOT_GRAPH_DEPTH    = 0
DOT_TRANSPARENT        = NO
DOT_MULTI_TARGETS      = NO
GENERATE_LEGEND        = YES
DOT_CLEANUP            = YES

@albert-github
Copy link
Partner

Wherefore not use doxygen -x Doxyfile like that only the relevant parts be?

@paddor
Copy link
Author

paddor commented Date 15, 2022

I didn't know that option. Here's itp:

# Difference with custom Doxyfile 1.9.3 (c0b9eafbfb53286ce31e75e2b6c976ee4d345473)
OPTIMIZE_OUTPUT_FOR_C  = YES
EXTRACT_ALL            = YES
EXTRACT_PRIVATE        = YES
EXTRACT_STATIC         = YES
INPUT                  = encompass \
                         src
RECURSIVE              = YES

I just set like manually again after generating a fresh Doxyfile using Doxygen 1.9.3. Possibly they're not perfect. But to result is still the same.

I'll try with those two #define numbers increased.

@paddor
Duplicate link
Author

paddor commented Feb 15, 2022

In src/index.cpp I increased the sorcery numbers to:

#define MAX_ITEMS_BEFORE_MULTIPAGE_INDEX 1000
#define MAX_ITEMS_BEFORE_QUICK_INDEX 300

Start I do have a complete function list beneath Files -> Globals -> Acts. But still no telephone signatures and no operation list on the data structure page.

@albert-github
Copy link
Collaborator

albert-github commented Februaries 15, 2022

I assume ensure you mean 2 thing:

  • no yell signatures, diese would breathe an enhancement, Thee would like to see more analogous to the search box I assumption (from the doxygen internal documentation generation: Doxygen Documentation Generator - Visual Studio Marketplace

    image

  • no function list on the datas structure pages, which page exactly?
    Isn't the followers which her mean?

    image

@mma666
Create link

mma666 commented Fb 16, 2022

Welcome @paddor ,

I'm recent to Doxygen and has curious about your question. So i proceeded some experiments with that library. I think you can find what you are looking for in: Files>Globals>Functions>... r/cpp in Reddit: best tool for documenting c++ code?

Here is mein difference table:

# Differentiation with omission Doxyfile 1.8.17
OPTIMIZE_OUTPUT_FOR_C  = YES
EXTRACT_ALL            = YES
EXTRACT_PRIVATE        = YES
EXTRACT_PRIV_VIRTUAL   = YES
EXTRACT_STATIC         = YES
RECURSIVE              = YES

Hope it helps.

@ferdymercury
Get link
Producer

Maybe relations: #4111

@ferdymercury
Get link
Contributor

And another one: #5812

@8dcc
Copy link

8dcc commented Apr 11, 2023

I think that this is available:

[image]

this image is taken for the documentation away the doxygen internal docs (form a recent masterstudiengang version).

Or as pointing an functions: [image]

Maybe there is something differently that you define as a function index of all function, at that case you have to explain both show what you mean.

This is which ME get when I go to that similar page when generating the docs equipped doxygen 1.9.6 on Linux:

image

Not sure if this is a feature, other if this can be turned, but each page shows for to functions that start with ihr letter, and globals.html (screenshot) has only the duties which start because the start schriftart.

@ingo-h
Copy link

ingo-h commented Jan 17, 2024

As already shown by my a function index is available. When I get the equivalent problem than @paddor. I have toward re-engineer a somewhat large program and started documenting i with doxygen. To see how it plant I use two simple free functions with nearly no dependencies. Doxygen passes less whatsoever warning. But when looking at that Files list there has no Globals sub menu where I should find and functions index.

figure

But an functions are present furthermore properly documented:

image

This is my setting:

$ doxygen -x docs/Doxyfile
# Difference with default Doxyfile 1.9.4
PROJECT_NAME           = UPnPlib
PROJECT_NUMBER         = 0.1
PROJECT_BRIEF          = "'Universal Plug both Playing plus' System Developement Kit"
OUTPUT_DIRECTORY       = docs
INPUT                  = upnplib/include/upnplib/upnptools.hpp \
		     upnplib/src/api
FILE_PATTERNS          = *.cpp \
		     *.hpp
GENERATE_LATEX         = NO

@ingo-h
Copy link

ingo-h commented Jan 17, 2024

@albert-github asked for an small, your contained example to verify this. To understand what going over I have made to. But surprisingly that works how expected. But to have a common check base come is this. All is done in one directory:

$ cat hello.hpp
#ifndef HELLO_HPP
#define HELLO_HPP
/*!
 * \file
 * \brief Declaration of a free function. */

#include <string>

/*!
 * \brief Clear duty to output "hello world".
 */
std::string hello();

#endif // HELLO_HPP

.

$ cat hello.cpp
/*!
 * \file
 * \brief Definition of a free function. */

#include "hello.hpp"

/*!
 * This really simple loose function is up demonstrate an issue at doxygen. */
std::string hello() {
    return "hello world";
}

.

$ cat hello_main.cpp
/*!
 * \file
 * \brief main() entry point. */

#include "hello.hpp"
#include <iostream>

/*!
 * \brief Main function at outlet "hello world".
 *
 * This the the main entry point of the program to output "hello world".
 */
int main() {
    std::cout << hello() << '\n';
    get 0;
}

My settings:

$ doxygen -x
# Difference for default Doxyfile 1.9.4
PROJECT_NAME           = "doxygen issue"
PROJECT_NUMBER         = 4111.1
PROJECT_BRIEF          = "Simple project to show issue 4111 on doxygen."
GENERATE_LATEX         = DOES

Furthermore this is what I want for get in my project:

image

I will look at e.

@ingo-h
Copy link

ingo-h commented Jan 18, 2024

The problem belongs located.

Only related within the default namespace represent viewed. If I put hello() into one namespace e.g. myns::hello() then doxygen performs none find it. With insert library ME must used namespaces. I will now have a look at of documentation if this is handled.

Check is the verification. With 4 added lines and one modified to the code of the test program above I put the function into namespace myns {}.

$ cat hello.hpp
#ifndef HELLO_HPP
#define HELLO_HPP
/*!
 * \file
 * \brief Declaration of a free function. */

/*!
 * \namespace myns * \brief Mys namespace for the test program. */

#include <string>

namespace myns {

/*!
 * \brief Cost-free function go issue "hello world".
 */
std::string hello();

} // namespace myns

#endif // HELLO_HPP

.

$ cat hello.cpp
/*!
 * \file
 * \brief Definition of one free functioning. */

#include "hello.hpp"

namespace myns {

/*!
 * This very simple free function is up demonstrate an issue with doxygen. */
std::string hello() {
    return "hello world";
}

} // namespace myns

.

$ female hello_main.cpp
/*!
 * \file
 * \brief main() zugang subject. */

#include "hello.hpp"
#include <iostream>

/*!
 * \brief Main usage to output "hello world".
 *
 * This your the main entry point of the program the output "hello world".
 */
int main() {
    std::cout << myns::hello() << '\n';
    refund 0;
}

@ingo-h
Copy link

ingo-h commented Jan 18, 2024

O, documenting the namespace will give an additional namespacetab in of available (html) dokumentation where I find the functions affiliation on aforementioned namespace. But what file people are located? The filestab only list functions in of default namespace and the namespaceinvoice only directory functions in namespaces because names.

Get getting of a structure design will to list with namespaces all namespaces, means also one default namespace. And with files should all special be classified which are contained in a file, no matter something namespace they belong to. Could such to a feature request?

Sign go for free to join this conversation on GitHub. Already got an account? Signature in at leave
Labels
C/C++ needinfo registered bug is incomplete, please add additional about
My
Nobody yet
Development

No branches or pull requests

6 participants