Hpp2plantuml Documentation Release V0.8.2

Hpp2plantuml Documentation Release V0.8.2

hpp2plantuml Documentation Release v0.8.2 Thibault Marin Sep 27, 2021 Contents 1 Motivation 1 2 Usage 3 2.1 Command line..............................................3 2.2 Module..................................................4 3 Module documentation generated from docstrings5 4 Full org-mode package documentation7 5 Indices and tables 9 i ii CHAPTER 1 Motivation The purpose of this tool is to convert C++ header files to a UML representation in PlantUML syntax that can be used to generate diagrams with PlantUML. PlantUML is a program rendering UML diagrams from plain text inputs using an expressive language. This package generates the text input to PlantUML from C++ header files. Its ambition is limited but it should produce reasonable conversion for simple class hierarchies. It aims at supporting: • class members with properties (private, method, protected), methods with basic qualifiers (static, abstract), • inheritance relationships, • aggregation relationships (very basic support). • dependency relationships The package relies on the CppHeaderParser package for parsing of C++ header files. 1 hpp2plantuml Documentation, Release v0.8.2 2 Chapter 1. Motivation CHAPTER 2 Usage The hpp2plantuml package can be used from the command line or as a module in other applications. 2.1 Command line The command line usage is (hpp2plantuml --help): usage: hpp2plantuml [-h]-i HEADER-FILE [-o FILE] [-d] [-t JINJA-FILE] [--version] hpp2plantuml tool. optional arguments: -h,--help show this help message and exit -i HEADER-FILE,--input-file HEADER-FILE input file (must be quoted when using wildcards) -o FILE,--output-file FILE output file -d,--enable-dependency Extract dependency relationships from method arguments -t JINJA-FILE,--template-file JINJA-FILE path to jinja2 template file --version show program's version number and exit Input files are added using the -i option. Inputs can be full file paths or include wildcards. Note that double quotes are required when using wildcards. The output file is selected with the -o option. The output is a text file following the PlantUML syntax. For instance, the following command will generate an input file for PlantUML (output.puml) from several header files. hpp2plantuml-i File_1.hpp-i"include/Helper_ *.hpp"-o output.puml To customize the output PlantUML file, templates can be used (using the -t parameter): 3 hpp2plantuml Documentation, Release v0.8.2 hpp2plantuml-i File_1.hpp-i"include/Helper_ *.hpp"-o output.puml-t template.puml This will use the template.puml file as template. Templates follow the jinja syntax. For instance, to add a preamble to the PlantUML output, the template file may contain: {% extends'default.puml'%} {% block preamble%} title"This is a title" skinparam backgroundColor #EEEBDC skinparam handwritten true {% endblock%} This will inherit from the default template and override the preamble only. 2.2 Module To use as a module, simply import hpp2plantuml. The CreatePlantUMLFile function can then be used to create a PlantUML file from a set of input files. Alternatively, the Diagram object can be used directly to build internal objects (from files or strings). The Diagram.render() method can be used to produce a string output instead of writing to a text file. See the API documentation for more details. 4 Chapter 2. Usage CHAPTER 3 Module documentation generated from docstrings hpp2plantuml 5 hpp2plantuml Documentation, Release v0.8.2 6 Chapter 3. Module documentation generated from docstrings CHAPTER 4 Full org-mode package documentation org-doc 7 hpp2plantuml Documentation, Release v0.8.2 8 Chapter 4. Full org-mode package documentation CHAPTER 5 Indices and tables • genindex • modindex • search 9.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    13 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us