code: def has_pattern(self, decl_string):
          
          if self.__begin == "<":
              # Cleanup parentheses blocks before checking for the pattern
              # See also the args() method (in this file) for more explanations.
              decl_string = re.sub("\\s\\(.*?\\)", "", decl_string).strip()
  
          last_part = decl_string.split('::')[-1]
          return (
              decl_string.find(self.__begin) != -1 and
              last_part.find(self.__end) != -1
          )
docs: Implementation detail