Tutorial :Doxygen not working on Public block(s) after Private block in Class



Question:

How do I tell Doxygen to document public sections after a private section in a (C++) class?

E.g.

class Brg {    public:        //! this function will be documented      void documentedFunction1()     private:        void irrelevantFunction()     public:          //! this function will _not_ be documented      void undocumentedFunction1()  };  

Even without the first public section, the second public section is still undocumented.

doxylog.txt reports:

Warning: documented function `Brg:: undocumentedFunction1' was not declared or defined

  # Doxyfile 1.5.2  #---------------------------------------------------------------------------  # Project related configuration options  #---------------------------------------------------------------------------  DOXYFILE_ENCODING      = UTF-8  PROJECT_NAME           = "Blah"  PROJECT_NUMBER         =   OUTPUT_DIRECTORY       = ./gen_docs/  CREATE_SUBDIRS         = NO  OUTPUT_LANGUAGE        = English  BRIEF_MEMBER_DESC      = YES  REPEAT_BRIEF           = YES  ABBREVIATE_BRIEF       =   ALWAYS_DETAILED_SEC    = NO  INLINE_INHERITED_MEMB  = NO  FULL_PATH_NAMES        = NO  STRIP_FROM_PATH        =   STRIP_FROM_INC_PATH    =   SHORT_NAMES            = NO  JAVADOC_AUTOBRIEF      = NO  MULTILINE_CPP_IS_BRIEF = NO  DETAILS_AT_TOP         = NO  INHERIT_DOCS           = YES  SEPARATE_MEMBER_PAGES  = NO  TAB_SIZE               = 4  ALIASES                =   OPTIMIZE_OUTPUT_FOR_C  = NO  OPTIMIZE_OUTPUT_JAVA   = NO  BUILTIN_STL_SUPPORT    = NO  CPP_CLI_SUPPORT        = NO  DISTRIBUTE_GROUP_DOC   = NO  SUBGROUPING            = YES  #---------------------------------------------------------------------------  # Build related configuration options  #---------------------------------------------------------------------------  EXTRACT_ALL            = YES  EXTRACT_PRIVATE        = NO  EXTRACT_STATIC         = YES  EXTRACT_LOCAL_CLASSES  = NO  EXTRACT_LOCAL_METHODS  = NO  HIDE_UNDOC_MEMBERS     = NO  HIDE_UNDOC_CLASSES     = YES  HIDE_FRIEND_COMPOUNDS  = NO  HIDE_IN_BODY_DOCS      = NO  INTERNAL_DOCS          = NO  CASE_SENSE_NAMES       = YES  HIDE_SCOPE_NAMES       = NO  SHOW_INCLUDE_FILES     = YES  INLINE_INFO            = YES  SORT_MEMBER_DOCS       = YES  SORT_BRIEF_DOCS        = NO  SORT_BY_SCOPE_NAME     = NO  GENERATE_TODOLIST      = YES  GENERATE_TESTLIST      = YES  GENERATE_BUGLIST       = YES  GENERATE_DEPRECATEDLIST= YES  ENABLED_SECTIONS       =   MAX_INITIALIZER_LINES  = 30  SHOW_USED_FILES        = YES  SHOW_DIRECTORIES       = YES  FILE_VERSION_FILTER    =   #---------------------------------------------------------------------------  # configuration options related to warning and progress messages  #---------------------------------------------------------------------------  QUIET                  = NO  WARNINGS               = YES  WARN_IF_UNDOCUMENTED   = YES  WARN_IF_DOC_ERROR      = YES  WARN_NO_PARAMDOC       = NO  WARN_FORMAT            = "$file:$line: $text"  WARN_LOGFILE           = doxylog.txt  #---------------------------------------------------------------------------  # configuration options related to the input files  #---------------------------------------------------------------------------  INPUT                  = . \               ..\Code  IMAGE_PATH         = .  INPUT_ENCODING         = UTF-8  FILE_PATTERNS          = *.cpp \                           *.cc \                           *.h \                           *.hpp \                           *.txt  EXAMPLE_PATH           = . \               ..\Code \  EXAMPLE_PATTERNS       = *.lua \                           *.h  EXAMPLE_RECURSIVE      = YES  RECURSIVE              = YES  EXCLUDE                =   EXCLUDE_SYMLINKS       = NO  EXCLUDE_PATTERNS       =   EXCLUDE_SYMBOLS        =   INPUT_FILTER           =   FILTER_PATTERNS        =   FILTER_SOURCE_FILES    = NO  #---------------------------------------------------------------------------  # configuration options related to source browsing  #---------------------------------------------------------------------------  SOURCE_BROWSER         = NO  INLINE_SOURCES         = NO  STRIP_CODE_COMMENTS    = YES  REFERENCED_BY_RELATION = YES  REFERENCES_RELATION    = YES  REFERENCES_LINK_SOURCE = YES  USE_HTAGS              = NO  VERBATIM_HEADERS       = YES  #---------------------------------------------------------------------------  # configuration options related to the alphabetical class index  #---------------------------------------------------------------------------  ALPHABETICAL_INDEX     = NO  COLS_IN_ALPHA_INDEX    = 5  IGNORE_PREFIX          =   #---------------------------------------------------------------------------  # configuration options related to the HTML output  #---------------------------------------------------------------------------  GENERATE_HTML          = YES  HTML_OUTPUT            = html  HTML_FILE_EXTENSION    = .html  HTML_STYLESHEET        =   HTML_ALIGN_MEMBERS     = YES  GENERATE_HTMLHELP      = YES  CHM_FILE               =   HHC_LOCATION           =   GENERATE_CHI           = YES  BINARY_TOC             = NO  TOC_EXPAND             = NO  DISABLE_INDEX          = NO  ENUM_VALUES_PER_LINE   = 4  GENERATE_TREEVIEW      = NO  TREEVIEW_WIDTH         = 250  #---------------------------------------------------------------------------  # configuration options related to the LaTeX output  #---------------------------------------------------------------------------  GENERATE_LATEX         = NO  LATEX_OUTPUT           = latex  LATEX_CMD_NAME         = latex  EXTRA_PACKAGES         = amsmath  MAKEINDEX_CMD_NAME     = makeindex  COMPACT_LATEX          = NO  PAPER_TYPE             = a4wide  EXTRA_PACKAGES         =   LATEX_HEADER           =   PDF_HYPERLINKS         = YES  USE_PDFLATEX           = YES  LATEX_BATCHMODE        = NO  LATEX_HIDE_INDICES     = NO  #---------------------------------------------------------------------------  # configuration options related to the RTF output  #---------------------------------------------------------------------------  GENERATE_RTF           = NO  RTF_OUTPUT             = rtf  COMPACT_RTF            = NO  RTF_HYPERLINKS         = NO  RTF_STYLESHEET_FILE    =   RTF_EXTENSIONS_FILE    =   #---------------------------------------------------------------------------  # configuration options related to the man page output  #---------------------------------------------------------------------------  GENERATE_MAN           = NO  MAN_OUTPUT             = man  MAN_EXTENSION          = .3  MAN_LINKS              = NO  #---------------------------------------------------------------------------  # configuration options related to the XML output  #---------------------------------------------------------------------------  GENERATE_XML           = NO  XML_OUTPUT             = xml  XML_SCHEMA             =   XML_DTD                =   XML_PROGRAMLISTING     = YES  #---------------------------------------------------------------------------  # configuration options for the AutoGen Definitions output  #---------------------------------------------------------------------------  GENERATE_AUTOGEN_DEF   = NO  #---------------------------------------------------------------------------  # configuration options related to the Perl module output  #---------------------------------------------------------------------------  GENERATE_PERLMOD       = NO  PERLMOD_LATEX          = NO  PERLMOD_PRETTY         = YES  PERLMOD_MAKEVAR_PREFIX =   #---------------------------------------------------------------------------  # Configuration options related to the preprocessor     #---------------------------------------------------------------------------  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  #---------------------------------------------------------------------------  # Configuration::additions related to external references     #---------------------------------------------------------------------------  TAGFILES               = ../ExternalModule/ExternalModule.tag=../../../ExternalModule/Docs/html  GENERATE_TAGFILE       = Modulename.tag  ALLEXTERNALS           = NO  EXTERNAL_GROUPS        = YES  PERL_PATH              = /usr/bin/perl  #---------------------------------------------------------------------------  # Configuration options related to the dot tool     #---------------------------------------------------------------------------  CLASS_DIAGRAMS         = YES  MSCGEN_PATH            =   HIDE_UNDOC_RELATIONS   = YES  HAVE_DOT               = YES  CLASS_GRAPH            = YES  COLLABORATION_GRAPH    = YES  GROUP_GRAPHS           = YES  UML_LOOK               = NO  TEMPLATE_RELATIONS     = YES  INCLUDE_GRAPH          = YES  INCLUDED_BY_GRAPH      = YES  CALL_GRAPH             = NO  CALLER_GRAPH           = NO  GRAPHICAL_HIERARCHY    = YES  DIRECTORY_GRAPH        = YES  DOT_IMAGE_FORMAT       = png  DOT_PATH               =   DOTFILE_DIRS           =   DOT_GRAPH_MAX_NODES    = 50  DOT_TRANSPARENT        = NO  DOT_MULTI_TARGETS      = NO  GENERATE_LEGEND        = YES  DOT_CLEANUP            = YES  #---------------------------------------------------------------------------  # Configuration::additions related to the search engine     #---------------------------------------------------------------------------  SEARCHENGINE           = NO  


Solution:1

Given the code sample above (with added semi-colons) and provided doxygen configuration file, both of the functions are documented with Doxygen 1.5.2 (the authors version based on the configuration file) and Doxygen 1.7.6.1 (latest).

The Doxygen configuration file appears to reference an external tag file as well as additional directories. Its possible there is some interaction with one of those files that would affect doxygen's behavior in this case, however there isn't enough information in the test case to investigate further.


Note:If u also have question or solution just comment us below or mail us on toontricks1994@gmail.com
Previous
Next Post »