架构优化

This commit is contained in:
2026-08-11 12:40:28 +08:00
parent e91f134f16
commit 8d4714f691
17 changed files with 210 additions and 107 deletions
+2 -2
View File
@@ -55,7 +55,7 @@ struct Find_Attribute_By_Category<Category> {
};
template <class Category, class Head, class... Tail>
struct Find_Attribute_By_Category<Category, Head, Tail...> {
using type = std::conditional_t<std::same_as<Category, attribute_category_of_t<Head>>, Head, typename Find_Attribute_By_Category<Category, Tail...>::type>;
using type = std::conditional_t<!std::same_as<attribute_category_of_t<Head>, void> && std::same_as<Category, attribute_category_of_t<Head>>, Head, typename Find_Attribute_By_Category<Category, Tail...>::type>;
};
template <class Category, class List>
struct Find_Attribute_In_List;
@@ -67,7 +67,7 @@ template <class Category, class List>
using find_attribute_in_list_t = typename Find_Attribute_In_List<Category, List>::type;
template <class Category, class... Attributes>
consteval std::size_t count_attribute_category() {
return (std::size_t{0} + ... + (std::same_as<attribute_category_of_t<Attributes>, Category> ? 1u : 0u));
return (std::size_t{0} + ... + (!std::same_as<attribute_category_of_t<Attributes>, void> && std::same_as<attribute_category_of_t<Attributes>, Category> ? 1u : 0u));
}
template <class Attribute, class... Attributes>
consteval bool unique_single_value_category_for() {