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

meta: prepare for iterator based meta range

Michele Caini 3 лет назад
Родитель
Сommit
c76f078834
4 измененных файлов с 18 добавлено и 18 удалено
  1. 6 6
      src/entt/meta/meta.hpp
  2. 9 9
      src/entt/meta/range.hpp
  3. 1 1
      src/entt/meta/resolve.hpp
  4. 2 2
      test/entt/meta/meta_range.cpp

+ 6 - 6
src/entt/meta/meta.hpp

@@ -773,7 +773,7 @@ struct meta_data {
      * @brief Returns a range to visit registered meta properties.
      * @return An iterable range to visit registered meta properties.
      */
-    [[nodiscard]] meta_range<meta_prop> prop() const noexcept {
+    [[nodiscard]] old_meta_range<meta_prop> prop() const noexcept {
         return {node->prop, nullptr};
     }
 
@@ -892,7 +892,7 @@ struct meta_func {
     }
 
     /*! @copydoc meta_data::prop */
-    [[nodiscard]] meta_range<meta_prop> prop() const noexcept {
+    [[nodiscard]] old_meta_range<meta_prop> prop() const noexcept {
         return {node->prop, nullptr};
     }
 
@@ -1140,7 +1140,7 @@ public:
      * @brief Returns a range to visit registered top-level base meta types.
      * @return An iterable range to visit registered top-level base meta types.
      */
-    [[nodiscard]] meta_range<meta_type, internal::meta_base_node> base() const noexcept {
+    [[nodiscard]] old_meta_range<meta_type, internal::meta_base_node> base() const noexcept {
         return {node->base, nullptr};
     }
 
@@ -1148,7 +1148,7 @@ public:
      * @brief Returns a range to visit registered top-level meta data.
      * @return An iterable range to visit registered top-level meta data.
      */
-    [[nodiscard]] meta_range<meta_data> data() const noexcept {
+    [[nodiscard]] old_meta_range<meta_data> data() const noexcept {
         return {node->data, nullptr};
     }
 
@@ -1168,7 +1168,7 @@ public:
      * @brief Returns a range to visit registered top-level functions.
      * @return An iterable range to visit registered top-level functions.
      */
-    [[nodiscard]] meta_range<meta_func> func() const noexcept {
+    [[nodiscard]] old_meta_range<meta_func> func() const noexcept {
         return {node->func, nullptr};
     }
 
@@ -1311,7 +1311,7 @@ public:
      * @brief Returns a range to visit registered top-level meta properties.
      * @return An iterable range to visit registered top-level meta properties.
      */
-    [[nodiscard]] meta_range<meta_prop> prop() const noexcept {
+    [[nodiscard]] old_meta_range<meta_prop> prop() const noexcept {
         return {node->prop, nullptr};
     }
 

+ 9 - 9
src/entt/meta/range.hpp

@@ -15,7 +15,7 @@ namespace entt {
 namespace internal {
 
 template<typename Type, typename Node>
-struct meta_range_iterator final {
+struct old_meta_range_iterator final {
     using difference_type = std::ptrdiff_t;
     using value_type = Type;
     using pointer = input_iterator_pointer<value_type>;
@@ -23,18 +23,18 @@ struct meta_range_iterator final {
     using iterator_category = std::input_iterator_tag;
     using node_type = Node;
 
-    meta_range_iterator() noexcept
+    old_meta_range_iterator() noexcept
         : it{} {}
 
-    meta_range_iterator(node_type *head) noexcept
+    old_meta_range_iterator(node_type *head) noexcept
         : it{head} {}
 
-    meta_range_iterator &operator++() noexcept {
+    old_meta_range_iterator &operator++() noexcept {
         return (it = it->next), *this;
     }
 
-    meta_range_iterator operator++(int) noexcept {
-        meta_range_iterator orig = *this;
+    old_meta_range_iterator operator++(int) noexcept {
+        old_meta_range_iterator orig = *this;
         return ++(*this), orig;
     }
 
@@ -46,11 +46,11 @@ struct meta_range_iterator final {
         return operator*();
     }
 
-    [[nodiscard]] bool operator==(const meta_range_iterator &other) const noexcept {
+    [[nodiscard]] bool operator==(const old_meta_range_iterator &other) const noexcept {
         return it == other.it;
     }
 
-    [[nodiscard]] bool operator!=(const meta_range_iterator &other) const noexcept {
+    [[nodiscard]] bool operator!=(const old_meta_range_iterator &other) const noexcept {
         return !(*this == other);
     }
 
@@ -71,7 +71,7 @@ private:
  * @tparam Node Type of meta nodes iterated.
  */
 template<typename Type, typename Node = typename Type::node_type>
-using meta_range = iterable_adaptor<internal::meta_range_iterator<Type, Node>>;
+using old_meta_range = iterable_adaptor<internal::old_meta_range_iterator<Type, Node>>;
 
 } // namespace entt
 

+ 1 - 1
src/entt/meta/resolve.hpp

@@ -24,7 +24,7 @@ template<typename Type>
  * @brief Returns a range to use to visit all meta types.
  * @return An iterable range to use to visit all meta types.
  */
-[[nodiscard]] inline meta_range<meta_type> resolve() noexcept {
+[[nodiscard]] inline old_meta_range<meta_type> resolve() noexcept {
     return {*internal::meta_context::global(), nullptr};
 }
 

+ 2 - 2
test/entt/meta/meta_range.cpp

@@ -22,7 +22,7 @@ struct MetaRange: ::testing::Test {
 TEST_F(MetaRange, Range) {
     using namespace entt::literals;
 
-    entt::meta_range<entt::meta_type> range{entt::internal::meta_context::local(), nullptr};
+    entt::old_meta_range<entt::meta_type> range{entt::internal::meta_context::local(), nullptr};
     auto it = range.begin();
 
     ASSERT_NE(it, range.end());
@@ -37,6 +37,6 @@ TEST_F(MetaRange, Range) {
 }
 
 TEST_F(MetaRange, EmptyRange) {
-    entt::meta_range<entt::meta_data> range{};
+    entt::old_meta_range<entt::meta_data> range{};
     ASSERT_EQ(range.begin(), range.end());
 }