|  | 
| def | __init__ (self) | 
|  | 
| def | determine_documenting_index (self, str cpp_class, str cpp_method, list method_args_names, list member_defs) | 
|  | 
| def | extract_docstring (self, str xml_folder, str cpp_class, str cpp_method, 'list[str]' method_args_names) | 
|  | 
| def | filter_member_defs (self, list[ET.Element] maybe_member_defs, list[str] method_args_names, str cpp_class, str cpp_method) | 
|  | 
| def | get_formatted_docstring (self, 'ET.Element' member_def, list ignored_params) | 
|  | 
| list[ET.Element] | get_member_defs_from_root (self, ET.Element class_root, str cpp_method) | 
|  | 
| def | parse_xml (self, Path|str xml_file) | 
|  | 
| def | print_if_verbose (self, str text) | 
|  | 
Parses and extracts docs from Doxygen-generated XML.
 
Definition at line 7 of file xml_parser.py.
◆ __init__()
      
        
          | def gtwrap.xml_parser.xml_parser.XMLDocParser.__init__ | ( |  | self | ) |  | 
      
 
 
◆ _get_class_xml_path()
  
  | 
        
          | Path | None gtwrap.xml_parser.xml_parser.XMLDocParser._get_class_xml_path | ( |  | self, |  
          |  |  | str | xml_folder, |  
          |  |  | str | cpp_class |  
          |  | ) |  |  |  | private | 
 
Finds the XML file path for a given class name using the index.
 
Definition at line 22 of file xml_parser.py.
 
 
◆ determine_documenting_index()
      
        
          | def gtwrap.xml_parser.xml_parser.XMLDocParser.determine_documenting_index | ( |  | self, | 
        
          |  |  | str | cpp_class, | 
        
          |  |  | str | cpp_method, | 
        
          |  |  | list | method_args_names, | 
        
          |  |  | list | member_defs | 
        
          |  | ) |  |  | 
      
 
Determine which member definition to retrieve documentation from, if there are multiple.
Args:
    cpp_class (str): The name of the C++ class that contains the function whose docstring is to be extracted.
    cpp_method (str): The name of the C++ method whose docstring is to be extracted.
    method_args_names (list): A list of the names of the cpp_method's parameters.
    member_defs (list): All of the member definitions of cpp_class which match cpp_method in name
and whose arguments have the same names as method_args_names.
Returns:
    int: The index indicating which member definition to document.
 
Definition at line 368 of file xml_parser.py.
 
 
◆ extract_docstring()
      
        
          | def gtwrap.xml_parser.xml_parser.XMLDocParser.extract_docstring | ( |  | self, | 
        
          |  |  | str | xml_folder, | 
        
          |  |  | str | cpp_class, | 
        
          |  |  | str | cpp_method, | 
        
          |  |  | 'list[str]' | method_args_names | 
        
          |  | ) |  |  | 
      
 
Extract the docstrings for a C++ class's method from the Doxygen-generated XML.
If not found in the specified class, searches parent classes recursively.
Args:
    xml_folder (str): The path to the folder that contains all of the Doxygen-generated XML.
    cpp_class (str): The name of the C++ class that contains the function whose docstring is to be extracted.
    cpp_method (str): The name of the C++ method whose docstring is to be extracted.
    method_args_names (list): A list of the names of the cpp_method's parameters.
 
Definition at line 82 of file xml_parser.py.
 
 
◆ filter_member_defs()
      
        
          | def gtwrap.xml_parser.xml_parser.XMLDocParser.filter_member_defs | ( |  | self, | 
        
          |  |  | list[ET.Element] | maybe_member_defs, | 
        
          |  |  | list[str] | method_args_names, | 
        
          |  |  | str | cpp_class, | 
        
          |  |  | str | cpp_method | 
        
          |  | ) |  |  | 
      
 
Remove member definitions which do not match the supplied argument names list.
Args:
    maybe_member_defs (list): The list of all member definitions in the class which share the same name.
    method_args_names (list): The list of argument names in the definition of the function whose documentation is desired.
    cpp_class (str): The name of the class being investigated (for verbose output).
    cpp_method (str): The name of the method being investigated (for verbose output).
Returns:
    tuple[list, list]: (the filtered member definitions, parameters which should be ignored because they are optional)
 
Definition at line 238 of file xml_parser.py.
 
 
◆ get_formatted_docstring()
      
        
          | def gtwrap.xml_parser.xml_parser.XMLDocParser.get_formatted_docstring | ( |  | self, | 
        
          |  |  | 'ET.Element' | member_def, | 
        
          |  |  | list | ignored_params | 
        
          |  | ) |  |  | 
      
 
Gets the formatted docstring for the supplied XML element representing a member definition.
Args:
    member_def (xml.etree.ElementTree.Element): The member definition to document.
    ignored_params (list): The optional parameters which should be ignored *for this specific overload match*, if any.
Returns:
    str: The formatted docstring. Returns empty string if member_def lacks documentation tags.
 
Definition at line 420 of file xml_parser.py.
 
 
◆ get_member_defs_from_root()
      
        
          | list[ET.Element] gtwrap.xml_parser.xml_parser.XMLDocParser.get_member_defs_from_root | ( |  | self, | 
        
          |  |  | ET.Element | class_root, | 
        
          |  |  | str | cpp_method | 
        
          |  | ) |  |  | 
      
 
Finds member definitions for a method name within a given class XML root.
 
Definition at line 217 of file xml_parser.py.
 
 
◆ parse_xml()
      
        
          | def gtwrap.xml_parser.xml_parser.XMLDocParser.parse_xml | ( |  | self, | 
        
          |  |  | Path | str | xml_file | 
        
          |  | ) |  |  | 
      
 
Get the ElementTree of an XML file given the file name.
Uses a cache to avoid re-parsing.
If an error occurs, prints a warning and returns None.
 
Definition at line 57 of file xml_parser.py.
 
 
◆ print_if_verbose()
      
        
          | def gtwrap.xml_parser.xml_parser.XMLDocParser.print_if_verbose | ( |  | self, | 
        
          |  |  | str | text | 
        
          |  | ) |  |  | 
      
 
Print text if the parser is in verbose mode.
 
Definition at line 552 of file xml_parser.py.
 
 
◆ _memory
  
  | 
        
          | gtwrap.xml_parser.xml_parser.XMLDocParser._memory |  | private | 
 
 
◆ _parsed_xml_cache
  
  | 
        
          | gtwrap.xml_parser.xml_parser.XMLDocParser._parsed_xml_cache |  | private | 
 
 
◆ _verbose
  
  | 
        
          | gtwrap.xml_parser.xml_parser.XMLDocParser._verbose |  | private | 
 
 
The documentation for this class was generated from the following file: