Move OrderedSet as integration-api, so dali-toolkit can use it. 44/309944/1
authorEunki, Hong <eunkiki.hong@samsung.com>
Thu, 18 Apr 2024 07:00:56 +0000 (16:00 +0900)
committerEunki, Hong <eunkiki.hong@samsung.com>
Thu, 18 Apr 2024 07:07:25 +0000 (16:07 +0900)
Let we move the OrderedSet class as integration-api so dali-toolkit can use it.

Change-Id: I2dbbff14db048d52c5a02bc967b379defcd2c03e
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
automated-tests/src/dali-internal/utc-Dali-Internal-OrderedSet.cpp
dali/integration-api/file.list
dali/integration-api/ordered-set.h [new file with mode: 0644]
dali/internal/common/ordered-set.h [deleted file]
dali/internal/event/animation/animation-playlist.h
dali/internal/event/common/property-notification-manager.h
dali/internal/event/size-negotiation/memory-pool-relayout-container.h
dali/internal/event/size-negotiation/relayout-controller-impl.h
dali/internal/render/common/render-manager.cpp

index 01c24edd94fb767d9ff1eb33d8f44a71bc3fe56f..abc2cb62f8399dc4a2d55740758b6abc88652634 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2023 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2024 Samsung Electronics Co., Ltd.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
 
 // INTERNAL INCLUDES
 #include <dali-test-suite-utils.h>
-#include <dali/internal/common/ordered-set.h>
+#include <dali/integration-api/ordered-set.h>
 
-using namespace Dali::Internal;
+using namespace Dali;
+using namespace Dali::Integration;
 
-void utc_dali_internal_owner_set_startup(void)
+void utc_dali_internal_ordered_set_startup(void)
 {
   test_return_value = TET_UNDEF;
 }
 
-void utc_dali_internal_owner_set_cleanup(void)
+void utc_dali_internal_ordered_set_cleanup(void)
 {
   test_return_value = TET_PASS;
 }
index be358ac841ffcbc245334079a0f4cb643bd2ff48..7b6dc9a97523fc6c0ab2e8d138b0e0040ace0eb5 100644 (file)
@@ -42,6 +42,7 @@ SET( platform_abstraction_header_files
    ${platform_abstraction_src_dir}/graphics-sync-abstraction.h
    ${platform_abstraction_src_dir}/input-options.h
    ${platform_abstraction_src_dir}/lockless-buffer.h
+   ${platform_abstraction_src_dir}/ordered-set.h
    ${platform_abstraction_src_dir}/pixel-data-integ.h
    ${platform_abstraction_src_dir}/platform-abstraction.h
    ${platform_abstraction_src_dir}/profiling.h
diff --git a/dali/integration-api/ordered-set.h b/dali/integration-api/ordered-set.h
new file mode 100644 (file)
index 0000000..9e5cc1d
--- /dev/null
@@ -0,0 +1,323 @@
+#ifndef DALI_INTEGRATION_ORDERED_SET_H
+#define DALI_INTEGRATION_ORDERED_SET_H
+
+/*
+ * Copyright (c) 2024 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+// EXTERNAL INCLUDES
+#include <unordered_map>
+
+// INTERNAL INCLUDES
+#include <dali/public-api/common/dali-common.h>
+#include <dali/public-api/common/list-wrapper.h>
+
+namespace Dali
+{
+namespace Integration
+{
+/**
+ * @brief Container of data which has strong point to Find & Erase.
+ * It will be useful when we need to iterate the order of data insertion.
+ * and need to check whether some object is exist or not very fast.
+ * @note Since the data's memory is not continuos, iteration is slower than normal vector contianer.
+ * @note Currently, we only support to hold pointer type data.
+ *
+ * @tparam T The type of class
+ * @tparam owned True if data is owned, So we will automatcally release the memory
+ *               False if data is not owned by this set. Default as true.
+ * @tparam Hash Custom hash function of const T* type for MapContainer.
+ *              Note that if two const T* return true at KeyEqual, Hash should return same value.
+ *              Default as std::hash<const T*>
+ * @tparam KeyEqual Custom equal function of const T* type for MapContainer.
+ *                  Return true if two const T* type is equal. Default as std::equal_to<const T*>
+ */
+template<class T, bool owned = true, class Hash = std::hash<const T*>, class KeyEqual = std::equal_to<const T*>>
+class OrderedSet
+{
+public:
+  // Real data owned container.
+  using ListContainer = typename std::list<T*>;
+  using Iterator      = typename ListContainer::iterator;
+  using ConstIterator = typename ListContainer::const_iterator;
+
+  // Find helper map container.
+  using MapContainer = typename std::unordered_map<const T*, Iterator, Hash, KeyEqual>;
+
+  using SizeType = std::size_t;
+
+  /**
+   * @brief Construct a new OrderedSet object
+   */
+  OrderedSet() = default;
+
+  /**
+   * @brief Move construct
+   */
+  OrderedSet(OrderedSet&& rhs) noexcept
+  : mMap(std::move(rhs.mMap)),
+    mList(std::move(rhs.mList))
+  {
+    rhs.mMap.clear();
+    rhs.mMap.rehash(0);
+    rhs.mList.clear();
+  }
+
+  /**
+   * @brief Move assign
+   */
+  OrderedSet& operator=(OrderedSet&& rhs) noexcept
+  {
+    Clear();
+    mMap  = std::move(rhs.mMap);
+    mList = std::move(rhs.mList);
+    rhs.mMap.clear();
+    rhs.mMap.rehash(0);
+    rhs.mList.clear();
+    return *this;
+  }
+
+  ~OrderedSet()
+  {
+    Clear();
+  }
+
+  /**
+   * @brief Iterator of begin & end
+   */
+  Iterator Begin()
+  {
+    return mList.begin();
+  }
+  Iterator End()
+  {
+    return mList.end();
+  }
+  ConstIterator Begin() const
+  {
+    return mList.begin();
+  }
+  ConstIterator End() const
+  {
+    return mList.end();
+  }
+
+  // Support for C++11 Range-based for loop: for( item : container ).
+  Iterator begin()
+  {
+    return Begin();
+  }
+  Iterator end()
+  {
+    return End();
+  }
+  ConstIterator begin() const
+  {
+    return Begin();
+  }
+  ConstIterator end() const
+  {
+    return End();
+  }
+
+  /**
+   * @brief Get the number of elements.
+   *
+   * @return The number of elements that this container owned.
+   */
+  SizeType Count() const
+  {
+    return mMap.size();
+  }
+
+  /**
+   * @brief Reserves space in the ordered set.
+   *
+   * @param[in] count Count of elements to reserve
+   */
+  void Reserve(SizeType count)
+  {
+    if(mMap.size() < count)
+    {
+      mMap.rehash(count);
+    }
+  }
+
+  /**
+   * @brief Find and get iterator of object. If not exist, return End().
+   *
+   * @param[in] object The object pointer what we want to find.
+   * @return Iterator of object, or End().
+   */
+  Iterator Find(T* object)
+  {
+    auto mapIter = mMap.find(object);
+    if(mapIter == mMap.end())
+    {
+      return End();
+    }
+    return mapIter->second;
+  }
+  ConstIterator Find(const T* object) const
+  {
+    auto mapIter = mMap.find(object);
+    if(mapIter == mMap.end())
+    {
+      return End();
+    }
+    return mapIter->second;
+  }
+
+  /**
+   * @brief PushBack and keep ownership of object.
+   * @note Iterator will keep order of PushBack API call.
+   *
+   * @param[in] object The object pointer what we want to insert.
+   */
+  void PushBack(T* object)
+  {
+    DALI_ASSERT_DEBUG(Find(object) == End());
+    auto newIter = mList.insert(mList.end(), object);
+    mMap.insert({object, newIter});
+  }
+
+  /**
+   * @brief Erase and remove memory of object.
+   *
+   * @param[in] object The object pointer what we want to erase.
+   */
+  void EraseObject(T* object)
+  {
+    // TODO : Should we allow duplicated erase?
+    //DALI_ASSERT_DEBUG(Find(object) != End());
+    Erase(Find(object));
+  }
+  void EraseObject(const T* object)
+  {
+    // TODO : Should we allow duplicated erase?
+    //DALI_ASSERT_DEBUG(Find(object) != End());
+    Erase(Find(object));
+  }
+
+  /**
+   * @brief Erase and remove memory of object by iterator.
+   *
+   * @param[in] iter The iterator what we want to erase.
+   */
+  Iterator Erase(Iterator iter)
+  {
+    Iterator ret = mList.end();
+    if(iter != mList.end())
+    {
+      // Erase mMap first.
+      auto mapIter = mMap.find(*iter);
+      DALI_ASSERT_DEBUG(mapIter != mMap.end());
+      mMap.erase(mapIter);
+
+      // Erase owned object.
+      if constexpr(owned)
+      {
+        delete *iter;
+      }
+      ret = mList.erase(iter);
+    }
+    return ret;
+  }
+  ConstIterator Erase(ConstIterator iter)
+  {
+    ConstIterator ret = mList.end();
+    if(iter != mList.end())
+    {
+      // Erase mMap first.
+      auto mapIter = mMap.find(*iter);
+      DALI_ASSERT_DEBUG(mapIter != mMap.end());
+      mMap.erase(mapIter);
+
+      // Erase owned object.
+      if constexpr(owned)
+      {
+        delete *iter;
+      }
+      ret = mList.erase(iter);
+    }
+    return ret;
+  }
+
+  /**
+   * @brief Release and move ownership of object.
+   * This API do not remove memory.
+   *
+   * @post iterators are invalidated by this method.
+   * @param[in] iter The iterator what we want to release.
+   */
+  T* Release(Iterator iter)
+  {
+    T* result = (*iter);
+
+    // Erase mMap first.
+    auto mapIter = mMap.find(result);
+    DALI_ASSERT_DEBUG(mapIter != mMap.end());
+    mMap.erase(mapIter);
+
+    // Erase without delete reference
+    mList.erase(iter);
+    return result;
+  }
+  T* Release(ConstIterator iter)
+  {
+    const T* result = (*iter);
+
+    // Erase mMap first.
+    auto mapIter = mMap.find(result);
+    DALI_ASSERT_DEBUG(mapIter != mMap.end());
+    mMap.erase(mapIter);
+
+    // Erase without delete reference
+    mList.erase(iter);
+    return result;
+  }
+
+  /**
+   * @brief Remove all data and release memory if we owned data.
+   */
+  void Clear()
+  {
+    // Delete memory
+    if constexpr(owned)
+    {
+      for(auto&& iter : mList)
+      {
+        delete iter;
+      }
+    }
+    mMap.clear();
+    mMap.rehash(0);
+    mList.clear();
+  }
+
+private:
+  // Delete copy operation.
+  OrderedSet(const OrderedSet&) = delete;
+  OrderedSet& operator=(const OrderedSet&) = delete;
+
+private:
+  MapContainer  mMap{};  ///< Helper cache map to find item fast.
+  ListContainer mList{}; ///< Ordered by PushBack API called. Actual ownership will be stored here.
+};
+} // namespace Integration
+} // namespace Dali
+
+#endif // DALI_INTEGRATION_ORDERED_SET_H
diff --git a/dali/internal/common/ordered-set.h b/dali/internal/common/ordered-set.h
deleted file mode 100644 (file)
index 65b798b..0000000
+++ /dev/null
@@ -1,323 +0,0 @@
-#ifndef DALI_INTERNAL_ORDERED_SET_H
-#define DALI_INTERNAL_ORDERED_SET_H
-
-/*
- * Copyright (c) 2023 Samsung Electronics Co., Ltd.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-// EXTERNAL INCLUDES
-#include <unordered_map>
-
-// INTERNAL INCLUDES
-#include <dali/public-api/common/dali-common.h>
-#include <dali/public-api/common/list-wrapper.h>
-
-namespace Dali
-{
-namespace Internal
-{
-/**
- * @brief Container of data which has strong point to Find & Erase.
- * It will be useful when we need to iterate the order of data insertion.
- * and need to check whether some object is exist or not very fast.
- * @note Since the data's memory is not continuos, iteration is slower than normal vector contianer.
- *
- * @tparam T The type of class
- * @tparam owned True if data is owned, So we will automatcally release the memory
- *               False if data is not owned by this set. Default as true.
- * @tparam Hash Custom hash function of const T* type for MapContainer.
- *              Note that if two const T* return true at KeyEqual, Hash should return same value.
- *              Default as std::hash<const T*>
- * @tparam KeyEqual Custom equal function of const T* type for MapContainer.
- *                  Return true if two const T* type is equal. Default as std::equal_to<const T*>
- */
-template<class T, bool owned = true, class Hash = std::hash<const T*>, class KeyEqual = std::equal_to<const T*>>
-class OrderedSet
-{
-public:
-  // Real data owned container.
-  using ListContainer = typename std::list<T*>;
-  using Iterator      = typename ListContainer::iterator;
-  using ConstIterator = typename ListContainer::const_iterator;
-
-  // Find helper map container.
-  using MapContainer = typename std::unordered_map<const T*, Iterator, Hash, KeyEqual>;
-
-  using SizeType = std::size_t;
-
-  /**
-   * @brief Construct a new OrderedSet object
-   */
-  OrderedSet() = default;
-
-  /**
-   * @brief Move construct
-   */
-  OrderedSet(OrderedSet&& rhs) noexcept
-  : mMap(std::move(rhs.mMap)),
-    mList(std::move(rhs.mList))
-  {
-    rhs.mMap.clear();
-    rhs.mMap.rehash(0);
-    rhs.mList.clear();
-  }
-
-  /**
-   * @brief Move assign
-   */
-  OrderedSet& operator=(OrderedSet&& rhs) noexcept
-  {
-    Clear();
-    mMap  = std::move(rhs.mMap);
-    mList = std::move(rhs.mList);
-    rhs.mMap.clear();
-    rhs.mMap.rehash(0);
-    rhs.mList.clear();
-    return *this;
-  }
-
-  ~OrderedSet()
-  {
-    Clear();
-  }
-
-  /**
-   * @brief Iterator of begin & end
-   */
-  Iterator Begin()
-  {
-    return mList.begin();
-  }
-  Iterator End()
-  {
-    return mList.end();
-  }
-  ConstIterator Begin() const
-  {
-    return mList.begin();
-  }
-  ConstIterator End() const
-  {
-    return mList.end();
-  }
-
-  // Support for C++11 Range-based for loop: for( item : container ).
-  Iterator begin()
-  {
-    return Begin();
-  }
-  Iterator end()
-  {
-    return End();
-  }
-  ConstIterator begin() const
-  {
-    return Begin();
-  }
-  ConstIterator end() const
-  {
-    return End();
-  }
-
-  /**
-   * @brief Get the number of elements.
-   *
-   * @return The number of elements that this container owned.
-   */
-  SizeType Count() const
-  {
-    return mMap.size();
-  }
-
-  /**
-   * @brief Reserves space in the ordered set.
-   *
-   * @param[in] count Count of elements to reserve
-   */
-  void Reserve(SizeType count)
-  {
-    if(mMap.size() < count)
-    {
-      mMap.rehash(count);
-    }
-  }
-
-  /**
-   * @brief Find and get iterator of object. If not exist, return End().
-   *
-   * @param[in] object The object pointer what we want to find.
-   * @return Iterator of object, or End().
-   */
-  Iterator Find(T* object)
-  {
-    auto mapIter = mMap.find(object);
-    if(mapIter == mMap.end())
-    {
-      return End();
-    }
-    return mapIter->second;
-  }
-  ConstIterator Find(const T* object) const
-  {
-    auto mapIter = mMap.find(object);
-    if(mapIter == mMap.end())
-    {
-      return End();
-    }
-    return mapIter->second;
-  }
-
-  /**
-   * @brief PushBack and keep ownership of object.
-   * @note Iterator will keep order of PushBack API call.
-   *
-   * @param[in] object The object pointer what we want to insert.
-   */
-  void PushBack(T* object)
-  {
-    DALI_ASSERT_DEBUG(Find(object) == End());
-    auto newIter = mList.insert(mList.end(), object);
-    mMap.insert({object, newIter});
-  }
-
-  /**
-   * @brief Erase and remove memory of object.
-   *
-   * @param[in] object The object pointer what we want to erase.
-   */
-  void EraseObject(T* object)
-  {
-    // TODO : Should we allow duplicated erase?
-    //DALI_ASSERT_DEBUG(Find(object) != End());
-    Erase(Find(object));
-  }
-  void EraseObject(const T* object)
-  {
-    // TODO : Should we allow duplicated erase?
-    //DALI_ASSERT_DEBUG(Find(object) != End());
-    Erase(Find(object));
-  }
-
-  /**
-   * @brief Erase and remove memory of object by iterator.
-   *
-   * @param[in] iter The iterator what we want to erase.
-   */
-  Iterator Erase(Iterator iter)
-  {
-    Iterator ret = mList.end();
-    if(iter != mList.end())
-    {
-      // Erase mMap first.
-      auto mapIter = mMap.find(*iter);
-      DALI_ASSERT_DEBUG(mapIter != mMap.end());
-      mMap.erase(mapIter);
-
-      // Erase owned object.
-      if constexpr(owned)
-      {
-        delete *iter;
-      }
-      ret = mList.erase(iter);
-    }
-    return ret;
-  }
-  ConstIterator Erase(ConstIterator iter)
-  {
-    ConstIterator ret = mList.end();
-    if(iter != mList.end())
-    {
-      // Erase mMap first.
-      auto mapIter = mMap.find(*iter);
-      DALI_ASSERT_DEBUG(mapIter != mMap.end());
-      mMap.erase(mapIter);
-
-      // Erase owned object.
-      if constexpr(owned)
-      {
-        delete *iter;
-      }
-      ret = mList.erase(iter);
-    }
-    return ret;
-  }
-
-  /**
-   * @brief Release and move ownership of object.
-   * This API do not remove memory.
-   *
-   * @post iterators are invalidated by this method.
-   * @param[in] iter The iterator what we want to release.
-   */
-  T* Release(Iterator iter)
-  {
-    T* result = (*iter);
-
-    // Erase mMap first.
-    auto mapIter = mMap.find(result);
-    DALI_ASSERT_DEBUG(mapIter != mMap.end());
-    mMap.erase(mapIter);
-
-    // Erase without delete reference
-    mList.erase(iter);
-    return result;
-  }
-  T* Release(ConstIterator iter)
-  {
-    const T* result = (*iter);
-
-    // Erase mMap first.
-    auto mapIter = mMap.find(result);
-    DALI_ASSERT_DEBUG(mapIter != mMap.end());
-    mMap.erase(mapIter);
-
-    // Erase without delete reference
-    mList.erase(iter);
-    return result;
-  }
-
-  /**
-   * @brief Remove all data and release memory if we owned data.
-   */
-  void Clear()
-  {
-    // Delete memory
-    if constexpr(owned)
-    {
-      for(auto&& iter : mList)
-      {
-        delete iter;
-      }
-    }
-    mMap.clear();
-    mMap.rehash(0);
-    mList.clear();
-  }
-
-private:
-  // Delete copy operation.
-  OrderedSet(const OrderedSet&) = delete;
-  OrderedSet& operator=(const OrderedSet&) = delete;
-
-private:
-  MapContainer  mMap{};  ///< Helper cache map to find item fast.
-  ListContainer mList{}; ///< Ordered by PushBack API called. Actual ownership will be stored here.
-};
-} // namespace Internal
-
-} // namespace Dali
-
-#endif // DALI_INTERNAL_ORDERED_SET_H
index ddecbd0a7ecf18a4f0cdb5af4b7c36096ad44d96..e27b4bba6bacd7de8716e4a83c7a429198d0b77f 100644 (file)
@@ -2,7 +2,7 @@
 #define DALI_INTERNAL_ANIMATION_PLAYLIST_H
 
 /*
- * Copyright (c) 2023 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2024 Samsung Electronics Co., Ltd.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -20,8 +20,8 @@
 
 // INTERNAL INCLUDES
 #include <dali/devel-api/common/map-wrapper.h>
+#include <dali/integration-api/ordered-set.h>
 #include <dali/internal/common/message.h>
-#include <dali/internal/common/ordered-set.h>
 #include <dali/internal/event/common/complete-notification-interface.h>
 #include <dali/internal/event/common/scene-graph-notifier-interface-mapper.h>
 #include <dali/public-api/animation/animation.h>
@@ -119,9 +119,9 @@ private: // from CompleteNotificationInterface
   void NotifyCompleted(CompleteNotificationInterface::ParameterList notifierList) override;
 
 private:
-  OrderedSet<Animation, false>        mAnimations; ///< All existing animations (not owned)
-  std::map<Dali::Animation, uint32_t> mPlaylist;   ///< The currently playing animations (owned through handle).
-                                                   ///< Note we can hold same handles multiple, since OnClear can be called after NotifyCompleted.
+  Integration::OrderedSet<Animation, false> mAnimations; ///< All existing animations (not owned)
+  std::map<Dali::Animation, uint32_t>       mPlaylist;   ///< The currently playing animations (owned through handle).
+                                                         ///< Note we can hold same handles multiple, since OnClear can be called after NotifyCompleted.
 };
 
 /**
index 58a87d8242e97ee8a79ec1a4e0ebc0bfda393cc6..e54f3596d10062ca1675cb9e21cb23dddb798f4d 100644 (file)
@@ -2,7 +2,7 @@
 #define DALI_INTERNAL_PROPERTY_NOTIFICATION_MANAGER_H
 
 /*
- * Copyright (c) 2023 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2024 Samsung Electronics Co., Ltd.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -22,7 +22,7 @@
 #include <unordered_map>
 
 // INTERNAL INCLUDES
-#include <dali/internal/common/ordered-set.h>
+#include <dali/integration-api/ordered-set.h>
 #include <dali/internal/event/common/property-notifier.h>
 #include <dali/internal/event/common/scene-graph-notifier-interface-mapper.h>
 #include <dali/public-api/common/dali-vector.h>
@@ -82,7 +82,7 @@ private:
   PropertyNotificationManager& operator=(const PropertyNotificationManager& rhs);
 
 private:
-  OrderedSet<PropertyNotification, false> mPropertyNotifications; ///< All existing PropertyNotifications (not owned)
+  Integration::OrderedSet<PropertyNotification, false> mPropertyNotifications; ///< All existing PropertyNotifications (not owned)
 };
 
 } // namespace Internal
index 87e71762c3e74c6bd2da2c53b78f9044a86b81d4..967c9d3b04bf1980067059bfdd06f3660373c295 100644 (file)
@@ -2,7 +2,7 @@
 #define DALI_INTERNAL_MEMORY_POOL_RELAYOUT_CONTAINER_H
 
 /*
- * Copyright (c) 2023 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2024 Samsung Electronics Co., Ltd.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -26,8 +26,8 @@
 #include <dali/public-api/common/dali-vector.h>
 #include <dali/public-api/size-negotiation/relayout-container.h>
 
+#include <dali/integration-api/ordered-set.h>
 #include <dali/internal/common/memory-pool-object-allocator.h>
-#include <dali/internal/common/ordered-set.h>
 
 namespace Dali
 {
@@ -124,7 +124,7 @@ private:
   bool Contains(const Dali::Actor& actor);
 
 private:
-  using RelayoutInfoContainer = Dali::Internal::OrderedSet<RelayoutInfo, false, RelayoutInfo::RelayoutInfoHash, RelayoutInfo::RelayoutInfoCompare>;
+  using RelayoutInfoContainer = Dali::Integration::OrderedSet<RelayoutInfo, false, RelayoutInfo::RelayoutInfoHash, RelayoutInfo::RelayoutInfoCompare>;
 
   RelayoutInfoContainer mRelayoutInfos; ///< The list of relayout infos
 
index 91ffd97a163ae66079f115f51ab3f3f99744c7db..d0045dd4df812c549cdd1795fa54857e0d2bfd6f 100644 (file)
@@ -2,7 +2,7 @@
 #define DALI_INTERNAL_RELAYOUT_CONTROLLER_IMPL_H
 
 /*
- * Copyright (c) 2023 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2024 Samsung Electronics Co., Ltd.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -23,8 +23,8 @@
 #include <memory> // for unique_ptr
 
 // INTERNAL INCLUDES
+#include <dali/integration-api/ordered-set.h>
 #include <dali/internal/common/memory-pool-object-allocator.h>
-#include <dali/internal/common/ordered-set.h>
 #include <dali/internal/event/size-negotiation/memory-pool-relayout-container.h>
 #include <dali/public-api/common/vector-wrapper.h>
 #include <dali/public-api/object/base-object.h>
@@ -146,7 +146,7 @@ public: // CALLBACKS
   void OnObjectDestroyed(const Dali::RefObject* object);
 
 private:
-  using RawActorList = Dali::Internal::OrderedSet<Dali::Internal::Actor, false>;
+  using RawActorList = Dali::Integration::OrderedSet<Dali::Internal::Actor, false>;
 
   /**
    * @brief Request for relayout. Relays out whole scene.
index 04b58f88eae2047a28245b93448849d5576a2c0b..1747bcc334d585bebf63f9d5b41871a39691d334 100644 (file)
@@ -23,7 +23,7 @@
 
 // INTERNAL INCLUDES
 #include <dali/integration-api/core.h>
-#include <dali/internal/common/ordered-set.h>
+#include <dali/integration-api/ordered-set.h>
 
 #include <dali/internal/event/common/scene-impl.h>
 
@@ -178,14 +178,14 @@ struct RenderManager::Impl
   std::vector<SceneGraph::Scene*> sceneContainer;   ///< List of pointers to the scene graph objects of the scenes
   Render::RenderAlgorithms        renderAlgorithms; ///< The RenderAlgorithms object is used to action the renders required by a RenderInstruction
 
-  OrderedSet<Render::Sampler>         samplerContainer;      ///< List of owned samplers
-  OrderedSet<Render::FrameBuffer>     frameBufferContainer;  ///< List of owned framebuffers
-  OrderedSet<Render::VertexBuffer>    vertexBufferContainer; ///< List of owned vertex buffers
-  OrderedSet<Render::Geometry>        geometryContainer;     ///< List of owned Geometries
-  OwnerKeyContainer<Render::Renderer> rendererContainer;     ///< List of owned renderers
-  OwnerKeyContainer<Render::Texture>  textureContainer;      ///< List of owned textures
+  Integration::OrderedSet<Render::Sampler>      samplerContainer;      ///< List of owned samplers
+  Integration::OrderedSet<Render::FrameBuffer>  frameBufferContainer;  ///< List of owned framebuffers
+  Integration::OrderedSet<Render::VertexBuffer> vertexBufferContainer; ///< List of owned vertex buffers
+  Integration::OrderedSet<Render::Geometry>     geometryContainer;     ///< List of owned Geometries
+  OwnerKeyContainer<Render::Renderer>           rendererContainer;     ///< List of owned renderers
+  OwnerKeyContainer<Render::Texture>            textureContainer;      ///< List of owned textures
 
-  OrderedSet<Render::RenderTracker> mRenderTrackers; ///< List of owned render trackers
+  Integration::OrderedSet<Render::RenderTracker> mRenderTrackers; ///< List of owned render trackers
 
   OwnerKeyContainer<Render::Texture> textureDiscardQueue; ///< Discarded textures