Refactored template specialization matching

This commit is contained in:
Bartek Kryza
2023-04-05 21:57:44 +02:00
parent cb74864d0d
commit 38928cf86f
11 changed files with 174 additions and 126 deletions

View File

@@ -122,7 +122,8 @@ public:
void is_variadic(bool is_variadic) noexcept;
bool is_variadic() const noexcept;
int calculate_specialization_match(const template_parameter &ct) const;
int calculate_specialization_match(
const template_parameter &base_template_parameter) const;
friend bool operator==(
const template_parameter &l, const template_parameter &r);
@@ -221,4 +222,9 @@ private:
bool is_unexposed_{false};
};
int calculate_template_params_specialization_match(
const std::vector<template_parameter> &specialization,
const std::vector<template_parameter> &base_template);
} // namespace clanguml::common::model