Просмотр исходного кода

meta: avoid using =default to avoid tricking VS toolset v141

Michele Caini 4 лет назад
Родитель
Сommit
d03770f91f
2 измененных файлов с 15 добавлено и 9 удалено
  1. 12 7
      src/entt/meta/meta.hpp
  2. 3 2
      src/entt/meta/range.hpp

+ 12 - 7
src/entt/meta/meta.hpp

@@ -1459,7 +1459,10 @@ public:
     using reference = value_type;
     using iterator_category = std::input_iterator_tag;
 
-    meta_iterator() ENTT_NOEXCEPT = default;
+    meta_iterator() ENTT_NOEXCEPT
+        : deref{},
+          offset{},
+          handle{} {}
 
     template<typename It>
     explicit meta_iterator(It iter, const difference_type init) ENTT_NOEXCEPT
@@ -1508,9 +1511,9 @@ public:
     }
 
 private:
-    deref_fn_type *deref{};
-    difference_type offset{};
-    any handle{};
+    deref_fn_type *deref;
+    difference_type offset;
+    any handle;
 };
 
 class meta_associative_container::meta_iterator final {
@@ -1546,7 +1549,9 @@ public:
     using reference = value_type;
     using iterator_category = std::input_iterator_tag;
 
-    meta_iterator() ENTT_NOEXCEPT = default;
+    meta_iterator() ENTT_NOEXCEPT
+        : vtable{},
+          handle{} {}
 
     template<bool KeyOnly, typename It>
     meta_iterator(std::integral_constant<bool, KeyOnly>, It iter) ENTT_NOEXCEPT
@@ -1586,8 +1591,8 @@ public:
     }
 
 private:
-    vtable_type *vtable{};
-    any handle{};
+    vtable_type *vtable;
+    any handle;
 };
 
 /**

+ 3 - 2
src/entt/meta/range.hpp

@@ -23,7 +23,8 @@ struct meta_range_iterator final {
     using iterator_category = std::input_iterator_tag;
     using node_type = Node;
 
-    meta_range_iterator() ENTT_NOEXCEPT = default;
+    meta_range_iterator() ENTT_NOEXCEPT
+        : it{} {}
 
     meta_range_iterator(node_type *head) ENTT_NOEXCEPT
         : it{head} {}
@@ -54,7 +55,7 @@ struct meta_range_iterator final {
     }
 
 private:
-    node_type *it{};
+    node_type *it;
 };
 
 } // namespace internal