فهرست منبع

meta: additional assert to avoid mistakes with meta containers

Michele Caini 2 سال پیش
والد
کامیت
3665cf11f3
1فایلهای تغییر یافته به همراه4 افزوده شده و 0 حذف شده
  1. 4 0
      src/entt/meta/container.hpp

+ 4 - 0
src/entt/meta/container.hpp

@@ -40,6 +40,8 @@ struct is_key_only_meta_associative_container<Type, std::void_t<typename Type::m
 
 template<typename Type>
 struct basic_meta_sequence_container_traits {
+    static_assert(std::is_same_v<Type, std::remove_cv_t<std::remove_reference_t<Type>>>, "Unexpected type");
+
     using iterator = meta_sequence_container::iterator;
     using size_type = std::size_t;
 
@@ -96,6 +98,8 @@ struct basic_meta_sequence_container_traits {
 
 template<typename Type>
 struct basic_meta_associative_container_traits {
+    static_assert(std::is_same_v<Type, std::remove_cv_t<std::remove_reference_t<Type>>>, "Unexpected type");
+
     using iterator = meta_associative_container::iterator;
     using size_type = std::size_t;