code: def breathe_identifier(self):
          
          if self.kind == "function":
              # TODO: breathe bug with templates and overloads, don't know what to do...
              return "{name}({parameters})".format(
                  name=self.name,
                  parameters=", ".join(self.parameters)
              )
  
          return self.name
docs: The unique identifier for breathe directives.
  
          .. note::
  
              This method is currently assumed to only be called for nodes that are
              in :data:`exhale.utils.LEAF_LIKE_KINDS` (see also
              :func:`exhale.graph.ExhaleRoot.generateSingleNodeRST` where it is used).
  
          **Return**
  
              :class:`python:str`
                  Usually, this will just be ``self.name``.  However, for functions in
                  particular the signature must be included to distinguish overloads.