parameters: (self, node)
docstring: This produces %feature("docstring") entries for classes, and handles
          class, namespace and file memberdef entries specially to allow for 
          overloaded functions. For other cases, passes parsing on to standard
          handlers (which may produce unexpected results).
docstring_summary: This produces %feature("docstring") entries for classes, and handles
          class, namespace and file memberdef entries specially to allow for 
          overloaded functions. For other cases, passes parsing on to standard
          handlers (which may produce unexpected results).
docstring_tokens: This produces %feature ( docstring ) entries for classes and handles class namespace and file memberdef entries specially to allow for overloaded functions . For other cases passes parsing on to standard handlers ( which may produce unexpected results ) .
function: def do_compounddef(self, node):
          """This produces %feature("docstring") entries for classes, and handles
          class, namespace and file memberdef entries specially to allow for 
          overloaded functions. For other cases, passes parsing on to standard
          handlers (which may produce unexpected results).
          """
          kind = node.attributes['kind'].value
          if kind in ('class', 'struct'):
              prot = node.attributes['prot'].value
              if prot != 'public':
                  return
              self.add_text('\n\n')
              classdefn = self.extract_text(self.get_specific_subnodes(node, 'compoundname'))
              classname = classdefn.split('::')[-1]
              self.add_text('%%feature("docstring") %s "\n' % classdefn)
  
              if self.with_constructor_list:
                  constructor_nodes = []
                  for n in self.get_specific_subnodes(node, 'memberdef', recursive=2):
                      if n.attributes['prot'].value == 'public':
                          if self.extract_text(self.get_specific_subnodes(n, 'definition')) == classdefn + '::' + classname:
                              constructor_nodes.append(n)
                  for n in constructor_nodes:
                      self.add_line_with_subsequent_indent(self.get_function_signature(n))
  
              names = ('briefdescription','detaileddescription')
              sub_dict = self.get_specific_nodes(node, names)
              for n in ('briefdescription','detaileddescription'):
                  if n in sub_dict:
                      self.parse(sub_dict[n])
              if self.with_constructor_list:
                  self.make_constructor_list(constructor_nodes, classname)
              if self.with_attribute_list:
                  self.make_attribute_list(node)
  
              sub_list = self.get_specific_subnodes(node, 'includes')
              if sub_list:
                  self.parse(sub_list[0])
              self.add_text(['";', '\n'])
  
              names = ['compoundname', 'briefdescription','detaileddescription', 'includes']
              self.subnode_parse(node, ignore = names)
  
          elif kind in ('file', 'namespace'):
              nodes = node.getElementsByTagName('sectiondef')
              for n in nodes:
                  self.parse(n)
  
          # now explicitely handle possibly overloaded member functions.
          if kind in ['class', 'struct','file', 'namespace']:
              md_nodes = self.get_memberdef_nodes_and_signatures(node, kind)
              for sig in md_nodes:
                  self.handle_typical_memberdefs(sig, md_nodes[sig])
function_tokens: def do_compounddef ( self , node ) : kind = node . attributes [ 'kind' ] . value if kind in ( 'class' , 'struct' ) : prot = node . attributes [ 'prot' ] . value if prot != 'public' : return self . add_text ( '\n\n' ) classdefn = self . extract_text ( self . get_specific_subnodes ( node , 'compoundname' ) ) classname = classdefn . split ( '::' ) [ - 1 ] self . add_text ( '%%feature("docstring") %s "\n' % classdefn ) if self . with_constructor_list : constructor_nodes = [ ] for n in self . get_specific_subnodes ( node , 'memberdef' , recursive = 2 ) : if n . attributes [ 'prot' ] . value == 'public' : if self . extract_text ( self . get_specific_subnodes ( n , 'definition' ) ) == classdefn + '::' + classname : constructor_nodes . append ( n ) for n in constructor_nodes : self . add_line_with_subsequent_indent ( self . get_function_signature ( n ) ) names = ( 'briefdescription' , 'detaileddescription' ) sub_dict = self . get_specific_nodes ( node , names ) for n in ( 'briefdescription' , 'detaileddescription' ) : if n in sub_dict : self . parse ( sub_dict [ n ] ) if self . with_constructor_list : self . make_constructor_list ( constructor_nodes , classname ) if self . with_attribute_list : self . make_attribute_list ( node ) sub_list = self . get_specific_subnodes ( node , 'includes' ) if sub_list : self . parse ( sub_list [ 0 ] ) self . add_text ( [ '";' , '\n' ] ) names = [ 'compoundname' , 'briefdescription' , 'detaileddescription' , 'includes' ] self . subnode_parse ( node , ignore = names ) elif kind in ( 'file' , 'namespace' ) : nodes = node . getElementsByTagName ( 'sectiondef' ) for n in nodes : self . parse ( n ) # now explicitely handle possibly overloaded member functions. if kind in [ 'class' , 'struct' , 'file' , 'namespace' ] : md_nodes = self . get_memberdef_nodes_and_signatures ( node , kind ) for sig in md_nodes : self . handle_typical_memberdefs ( sig , md_nodes [ sig ] )