Add Doxygen documentation for Cpl::Html - #32
Merged
Conversation
Document public types and functions in src/Cpl/Html.h. Private members are left undocumented. Register the cpl_html group and include Html.h in the Doxygen input. Co-authored-by: igor.ermolaev <igor.ermolaev@altezza.org>
Rephrase Html::Attribute summaries so "Attribute" is not treated as a type reference in the generated documentation. Co-authored-by: igor.ermolaev <igor.ermolaev@altezza.org>
ermig1979
marked this pull request as ready for review
August 27, 2026 07:45
ermig1979
added a commit
that referenced
this pull request
Sep 1, 2026
* Add Doxygen documentation for Cpl::Log (#27) * Add Doxygen documentation for Cpl::Log types and functions. Document Log, Level, Flags, writer callbacks, public methods, internal Writer helpers, and logging macros in src/Cpl/Log.h. Co-authored-by: igor.ermolaev <igor.ermolaev@altezza.org> * Avoid Doxygen auto-linking Callback briefs to Log::Writer. Rephrase callback summaries so "Writer" is not treated as a type reference in the generated documentation. Co-authored-by: igor.ermolaev <igor.ermolaev@altezza.org> --------- Co-authored-by: Cursor Agent <cursoragent@cursor.com> Co-authored-by: igor.ermolaev <igor.ermolaev@altezza.org> * +add generation of help by Doxygen. * Add Doxygen documentation for Cpl::ArgsParser (#28) * Add Doxygen documentation for Cpl::ArgsParser. Document ArgsParser types and functions in the same style as Cpl::Log, register the cpp_args group, and include Args.h in the Doxygen input. Co-authored-by: igor.ermolaev <igor.ermolaev@altezza.org> * Clarify ArgsParser GetArg exit parameter documentation. Co-authored-by: igor.ermolaev <igor.ermolaev@altezza.org> --------- Co-authored-by: Cursor Agent <cursoragent@cursor.com> Co-authored-by: igor.ermolaev <igor.ermolaev@altezza.org> * *fix bugs in help generation. * Remove Doxygen comments from private members. (#29) Drop private-member documentation in Cpl::ArgsParser and Cpl::Log so generated help covers only public and protected API. Co-authored-by: Cursor Agent <cursoragent@cursor.com> Co-authored-by: igor.ermolaev <igor.ermolaev@altezza.org> * Add Doxygen documentation for Cpl::Console (#30) * Add Doxygen documentation for Cpl::Console. Document the Console namespace, Format/Foreground/Background/Reset enumerations, and Stylized. Register the cpl_console group and include Console.h in the Doxygen input list. Co-authored-by: igor.ermolaev <igor.ermolaev@altezza.org> * Clarify Stylized Linux note for Doxygen. Avoid __linux__ in the Doxygen note so Markdown does not turn it into bold text. Co-authored-by: igor.ermolaev <igor.ermolaev@altezza.org> --------- Co-authored-by: Cursor Agent <cursoragent@cursor.com> Co-authored-by: igor.ermolaev <igor.ermolaev@altezza.org> * Add Doxygen documentation for Cpl performance types and macros. (#31) Document public classes, methods, typedefs and CPL_PERF_* macros in Performance.h. Private members are left undocumented. Register the cpl_performance group and include Performance.h in the Doxygen input. Co-authored-by: Cursor Agent <cursoragent@cursor.com> Co-authored-by: igor.ermolaev <igor.ermolaev@altezza.org> * Add Doxygen documentation for Cpl::Html (#32) * Add Doxygen documentation for Cpl::Html. Document public types and functions in src/Cpl/Html.h. Private members are left undocumented. Register the cpl_html group and include Html.h in the Doxygen input. Co-authored-by: igor.ermolaev <igor.ermolaev@altezza.org> * Avoid Doxygen auto-linking Attribute field briefs. Rephrase Html::Attribute summaries so "Attribute" is not treated as a type reference in the generated documentation. Co-authored-by: igor.ermolaev <igor.ermolaev@altezza.org> --------- Co-authored-by: Cursor Agent <cursoragent@cursor.com> Co-authored-by: igor.ermolaev <igor.ermolaev@altezza.org> * Add Doxygen documentation for Cpl::Table. (#33) Document public types and methods in Table.h, register the cpl_table group, and include Table.h in the Doxygen input list. Private members are left undocumented. Co-authored-by: Cursor Agent <cursoragent@cursor.com> Co-authored-by: igor.ermolaev <igor.ermolaev@altezza.org> * *time functions refactoring. * Add Doxygen documentation for Cpl time functions (#34) * Add Doxygen documentation for Cpl time functions. Document TimeCounter, TimeFrequency, Seconds, Miliseconds and Time. Register the cpl_time group and include Time.h in the Doxygen input list. Co-authored-by: igor.ermolaev <igor.ermolaev@altezza.org> * Attach Time.h Doxygen comments to namespace functions. Drop \fn commands so Doxygen binds the comments to Cpl::TimeCounter and the related converters and places them in the cpl_time group. Co-authored-by: igor.ermolaev <igor.ermolaev@altezza.org> --------- Co-authored-by: Cursor Agent <cursoragent@cursor.com> Co-authored-by: igor.ermolaev <igor.ermolaev@altezza.org> * *update help. * *refactoring of Cpl::CurrentDateTimeString. * +add UpdateCopyrights.sh. * Add Doxygen documentation for Cpl string functions (#35) * Add Doxygen documentation for Cpl string functions. Document the public string conversion and manipulation helpers in String.h, register the cpl_string group, and include String.h in the Doxygen input list. Co-authored-by: igor.ermolaev <igor.ermolaev@altezza.org> * Include cstdint in String.h for MinGW. CurrentDateTimeString uses uint64_t on Windows. MinGW does not pull that type in through windows.h, so the header fails to compile without cstdint. Co-authored-by: igor.ermolaev <igor.ermolaev@altezza.org> --------- Co-authored-by: Cursor Agent <cursoragent@cursor.com> Co-authored-by: igor.ermolaev <igor.ermolaev@altezza.org> * Add Doxygen documentation for Cpl utility functions (#36) * Add Doxygen documentation for Cpl utility functions. Document AlignHi, AlignLo, Round, Random, and StubWork in Utils.h, register the cpl_utils group, and include Utils.h in the Doxygen input list. Co-authored-by: igor.ermolaev <igor.ermolaev@altezza.org> * Make Utils.h self-contained and fix AlignHi/AlignLo alignment wording. Include cstdint for uint64_t used by StubWork, and describe align as a generic power-of-two value rather than a byte count. Co-authored-by: igor.ermolaev <igor.ermolaev@altezza.org> --------- Co-authored-by: Cursor Agent <cursoragent@cursor.com> Co-authored-by: igor.ermolaev <igor.ermolaev@altezza.org> * *refactoring of File.h. * Add Doxygen documentation for Cpl file functions. (#37) Document the public file and directory helpers in File.h, update the existing comments to the project Doxygen style, register the cpl_file group, and include File.h in the Doxygen input list. Private FileData members are left undocumented. Co-authored-by: Cursor Agent <cursoragent@cursor.com> Co-authored-by: igor.ermolaev <igor.ermolaev@altezza.org> * Add Doxygen documentation for Cpl geometry types and functions. (#38) Document public types and functions in GeometryUtils.h and register the cpl_geometry group in the Doxygen config. Co-authored-by: Cursor Agent <cursoragent@cursor.com> Co-authored-by: igor.ermolaev <igor.ermolaev@altezza.org> * Add Doxygen documentation for Cpl parameter types and functions (#39) * Add Doxygen documentation for Cpl parameter types and functions. Co-authored-by: igor.ermolaev <igor.ermolaev@altezza.org> * Fix Doxygen markup warnings in Param.h comments. Co-authored-by: igor.ermolaev <igor.ermolaev@altezza.org> --------- Co-authored-by: Cursor Agent <cursoragent@cursor.com> Co-authored-by: igor.ermolaev <igor.ermolaev@altezza.org> * Add Doxygen documentation for Cpl ParamV2 types and macros. (#40) Document ParamVectorV2, ParamMapV2, CPL_PARAM_VECTOR_V2 and CPL_PARAM_MAP_V2, and include ParamV2.h in the Doxygen input list. Co-authored-by: Cursor Agent <cursoragent@cursor.com> Co-authored-by: igor.ermolaev <igor.ermolaev@altezza.org> * Add Doxygen documentation for Cpl property types and functions. (#41) Document ParamProp, ParamStorage, and the CPL_PROP* macros in Prop.h, add a cpl_prop group, and include Prop.h in the Doxygen input list. Co-authored-by: Cursor Agent <cursoragent@cursor.com> Co-authored-by: igor.ermolaev <igor.ermolaev@altezza.org> * Add Doxygen documentation for Cpl XML types and functions (#42) * Add Doxygen documentation for Cpl XML types and functions. Document the public Cpl::Xml API in Xml.h and register the cpl_xml group so the parser, printer and file loader appear in generated help. Co-authored-by: igor.ermolaev <igor.ermolaev@altezza.org> * Fix Xml.h Doxygen warnings for NodeType and XML tag examples. Drop the standalone \\enum command and describe node kinds without raw angle-bracket markup so Doxygen 1.9.8 reports no Xml.h warnings. Co-authored-by: igor.ermolaev <igor.ermolaev@altezza.org> --------- Co-authored-by: Cursor Agent <cursoragent@cursor.com> Co-authored-by: igor.ermolaev <igor.ermolaev@altezza.org> * Add Doxygen documentation for Cpl YAML types and functions (#43) * Add Doxygen documentation for Cpl YAML types and functions. Document the public Cpl::Yaml API in Yaml.h and register the cpl_yaml group so Doxygen includes the parser, node tree and serializer. Co-authored-by: igor.ermolaev <igor.ermolaev@altezza.org> * Attach Parse and Serialize Doxygen comments to their definitions. Doxygen was ignoring free-function docs that used \fn and only appeared on the prototypes. Document the inline definitions as well so the cpl_yaml group lists Parse and Serialize. Co-authored-by: igor.ermolaev <igor.ermolaev@altezza.org> --------- Co-authored-by: Cursor Agent <cursoragent@cursor.com> Co-authored-by: igor.ermolaev <igor.ermolaev@altezza.org> * Move Test::Options to TestOptions.h and pass options to tests (#44) * Move Test::Options to TestOptions.h and pass options into tests. Extract the test runner Options type so individual tests can receive the parsed command-line options via a const Options& parameter. Co-authored-by: igor.ermolaev <igor.ermolaev@altezza.org> * Include Test.h in TestFile and TestXml so Options is visible. These translation units did not include Test.h, so the new const Options& parameter failed to compile. Co-authored-by: igor.ermolaev <igor.ermolaev@altezza.org> --------- Co-authored-by: Cursor Agent <cursoragent@cursor.com> Co-authored-by: igor.ermolaev <igor.ermolaev@altezza.org> * Add -o= output folder option for test artifacts. (#45) Tests wrote XML, YAML, HTML, and log files into the current directory. Add Test::Options::output (-o=, default "out"), create that folder before tests run, and write all artifacts there. Co-authored-by: Cursor Agent <cursoragent@cursor.com> Co-authored-by: igor.ermolaev <igor.ermolaev@altezza.org> * *update help. * *+add version macro. * *Set version 1.0.1. --------- Co-authored-by: Cursor Agent <cursoragent@cursor.com> Co-authored-by: igor.ermolaev <igor.ermolaev@altezza.org>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Add Doxygen comments for the types and functions declared in
src/Cpl/Html.h.Changes
Runtime behavior is unchanged. Comments follow the style used by
Cpl::Log,Cpl::ArgsParser,Cpl::Consoleand the performance types (/*!,\brief/\param/\return/\note). Private members are not documented.Documented:
Cpl::Html(constructor and public methods)Cpl::Html::Attribute(public fields and constructor)Cpl::Html::AttributestypedefCpl::Html::AttroverloadsAlso:
cpl_htmldocumentation group inprj/txt/DoxygenGroups.txtHtml.hin the Doxygen input list inprj/txt/DoxygenConfig.txtTest plan
Testwith CMake/g++ Release.TableSimpleandTableSortablepassed (Test -i=Table). These tests generate HTML throughCpl::Html.Htmlwriter check: escaped text (Hello <world> & 'quotes') becameHello <world> & 'quotes'; unshielded markup was written unchanged.Html.hwithWARN_IF_UNDOCUMENTEDandWARN_IF_DOC_ERROR. NoHtml.hdocumentation warnings. Thecpl_htmlgroup listsCpl::Html; public members and nestedAttributewere extracted. Private members (WriteWithShielding, fields) were not extracted.docs/helpcan be refreshed later withprj/cmd/GenerateHelp.cmd.