@staticmethod
def __template_name(class_name, parameters, parameter_map):
    """
        Return a C++ style template name, for example 'C<a=3,b>'.
        """
    parameter_strings = []
    for p in parameters:
        if p in parameter_map:
            parameter_strings.append('{0}={1}'.format(p, str(parameter_map[p]))
                )
        else:
            parameter_strings.append(p)
    return '{0}<{1}>'.format(class_name, ', '.join(parameter_strings))
