parameters: (self, nodesRemaining, node)
docstring: Helper method for :func:`exhale.ExhaleRoot.discoverAllNodes`.  Some of the
          compound objects received from Breathe have a member function ``get_member()``
          that returns all of the children.  Some do not.  This method checks to see if
          the method is present first, and if so performs the following::
  
              For every compound in node.compound.get_member():
                  If compound not present in self.all_compounds:
                      - Add compound to self.all_compounds
                      - Create a child ExhaleNode
                      - If it is not a class, struct, or union, add to nodesRemaining
                      - If it is not an enumvalue, make it a child of node parameter
  
          :Parameters:
              ``nodesRemaining`` (list)
                  The list of nodes representing the stack traversal being done by
                  :func:`exhale.ExhaleRoot.discoverAllNodes`.  New neighbors found will
                  be appended to this list.
  
              ``node`` (ExhaleNode)
                  The node we are trying to discover potential new neighbors from.
docstring_summary: Helper method for :func:`exhale.ExhaleRoot.discoverAllNodes`.  Some of the
          compound objects received from Breathe have a member function ``get_member()``
          that returns all of the children.  Some do not.  This method checks to see if
          the method is present first, and if so performs the following::
docstring_tokens: Helper method for : func : exhale . ExhaleRoot . discoverAllNodes . Some of the compound objects received from Breathe have a member function get_member () that returns all of the children . Some do not . This method checks to see if the method is present first and if so performs the following ::
function: def discoverNeigbors(self, nodesRemaining, node):
          '''
          Helper method for :func:`exhale.ExhaleRoot.discoverAllNodes`.  Some of the
          compound objects received from Breathe have a member function ``get_member()``
          that returns all of the children.  Some do not.  This method checks to see if
          the method is present first, and if so performs the following::
  
              For every compound in node.compound.get_member():
                  If compound not present in self.all_compounds:
                      - Add compound to self.all_compounds
                      - Create a child ExhaleNode
                      - If it is not a class, struct, or union, add to nodesRemaining
                      - If it is not an enumvalue, make it a child of node parameter
  
          :Parameters:
              ``nodesRemaining`` (list)
                  The list of nodes representing the stack traversal being done by
                  :func:`exhale.ExhaleRoot.discoverAllNodes`.  New neighbors found will
                  be appended to this list.
  
              ``node`` (ExhaleNode)
                  The node we are trying to discover potential new neighbors from.
          '''
          # discover neighbors of current node; some seem to not have get_member()
          if "member" in node.compound.__dict__:
              for member in node.compound.get_member():
                  # keep track of every breathe compound we have seen
                  if member not in self.all_compounds:
                      self.all_compounds.append(member)
                      # if we haven't seen this compound yet, make a node
                      child_node = ExhaleNode(member)
                      # if the current node is a class, struct, union, or enum ignore
                      # its variables, functions, etc
                      if node.kind == "class" or node.kind == "struct" or node.kind == "union":
                          if child_node.kind == "enum" or child_node.kind == "union":
                              nodesRemaining.append(child_node)
                      else:
                          nodesRemaining.append(child_node)
                      # the enum is presented separately, enumvals are haphazard and i hate them
                      # ... determining the enumvalue parent would be painful and i don't want to do it
                      if child_node.kind != "enumvalue":
                          node.children.append(child_node)
                          child_node.parent = node
function_tokens: def discoverNeigbors ( self , nodesRemaining , node ) : # discover neighbors of current node; some seem to not have get_member() if "member" in node . compound . __dict__ : for member in node . compound . get_member ( ) : # keep track of every breathe compound we have seen if member not in self . all_compounds : self . all_compounds . append ( member ) # if we haven't seen this compound yet, make a node child_node = ExhaleNode ( member ) # if the current node is a class, struct, union, or enum ignore # its variables, functions, etc if node . kind == "class" or node . kind == "struct" or node . kind == "union" : if child_node . kind == "enum" or child_node . kind == "union" : nodesRemaining . append ( child_node ) else : nodesRemaining . append ( child_node ) # the enum is presented separately, enumvals are haphazard and i hate them # ... determining the enumvalue parent would be painful and i don't want to do it if child_node . kind != "enumvalue" : node . children . append ( child_node ) child_node . parent = node