class_docstr: Implementation of VF2 algorithm for matching undirected graphs.
  
  Suitable for Graph and MultiGraph instances.
class_docstr_tok: ["Implementation","of","VF2","algorithm","for","matching","undirected","graphs",".","Suitable","for","Graph","and","MultiGraph","instances","."]
docstr: Extends the isomorphism mapping.
  
  This function is called recursively to determine if a complete
  isomorphism can be found between G1 and G2.  It cleans up the class
  variables after each recursive call. If an isomorphism is found,
  we yield the mapping.
docstr_tok: ["Extends","the","isomorphism","mapping",".","This","function","is","called","recursively","to","determine","if","a","complete","isomorphism","can","be","found","between","G1","and","G2",".","It","cleans","up","the","class","variables","after","each","recursive","call",".","If","an","isomorphism","is","found",",","we","yield","the","mapping","."]
code: def match(self):
      """Extends the isomorphism mapping.
  
      This function is called recursively to determine if a complete
      isomorphism can be found between G1 and G2.  It cleans up the class
      variables after each recursive call. If an isomorphism is found,
      we yield the mapping.
  
      """
      if len(self.core_1) == len(self.G2):
          # Save the final mapping, otherwise garbage collection deletes it.
          self.mapping = self.core_1.copy()
          # The mapping is complete.
          yield self.mapping
      else:
          for G1_node, G2_node in self.candidate_pairs_iter():
              if self.syntactic_feasibility(G1_node, G2_node):
                  if self.semantic_feasibility(G1_node, G2_node):
                      # Recursive call, adding the feasible state.
                      newstate = self.state.__class__(
                          self, G1_node, G2_node
                      )
                      yield from self.match()
  
                      # restore data structures
                      newstate.restore()
  
imports: import sys
label_desc: Use image node_id 7 for calling the GraphMatcher obj's underlying member method code with example usage: obj.match() without return types