def get_name(self, tag):
        '''Extract and return a representative "name" from a tag.

        Override as necessary. get_name's output can be controlled through
        keyword arguments that are provided when initializing a
        TagProcessor. For instance, a member of a class or namespace can have
        its parent scope included in the name by passing
        include_parent_scopes=True to __init__().

        Args:
            tag: A BeautifulSoup Tag that satisfies match_criterion.

        Returns:
            A string that would be appropriate to use as an entry name in a
            Zeal database.
        '''
        name = tag.findChild('name').contents[0]

        if self.include_parent_scopes:
            # Include parent scope in returned name
            parent_tag = tag.findParent()
            if parent_tag.get('kind') in ['class', 'struct', 'namespace']:
                name = parent_tag.findChild('name').contents[0] + '::' + name

        return name
Extract and return a representative "name" from a tag.

        Override as necessary. get_name's output can be controlled through
        keyword arguments that are provided when initializing a
        TagProcessor. For instance, a member of a class or namespace can have
        its parent scope included in the name by passing
        include_parent_scopes=True to __init__().

        Args:
            tag: A BeautifulSoup Tag that satisfies match_criterion.

        Returns:
            A string that would be appropriate to use as an entry name in a
            Zeal database.