Add move semantics to common and base Toolkit classes
[platform/core/uifw/dali-toolkit.git] / dali-toolkit / public-api / controls / scrollable / item-view / item-view.h
index 191ef46..5bc7eea 100755 (executable)
@@ -1,8 +1,8 @@
-#ifndef __DALI_TOOLKIT_ITEM_VIEW_H__
-#define __DALI_TOOLKIT_ITEM_VIEW_H__
+#ifndef DALI_TOOLKIT_ITEM_VIEW_H
+#define DALI_TOOLKIT_ITEM_VIEW_H
 
 /*
- * Copyright (c) 2017 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2020 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.
@@ -64,7 +64,7 @@ typedef IntrusivePtr<ItemLayout> ItemLayoutPtr;
  * @SINCE_1_1.33
  */
 
-class DALI_IMPORT_API ItemView : public Scrollable
+class DALI_TOOLKIT_API ItemView : public Scrollable
 {
 public:
 
@@ -215,6 +215,14 @@ public:
   ItemView( const ItemView& itemView );
 
   /**
+   * @brief Move constructor
+   * @SINCE_1_9.23
+   *
+   * @param[in] rhs A reference to the moved handle
+   */
+  ItemView( ItemView&& rhs );
+
+  /**
    * @brief Assignment operator.
    * @SINCE_1_0.0
    * @param[in] itemView Handle to an object
@@ -223,6 +231,15 @@ public:
   ItemView& operator=( const ItemView& itemView );
 
   /**
+   * @brief Move assignment
+   * @SINCE_1_9.23
+   *
+   * @param[in] rhs A reference to the moved handle
+   * @return A reference to this
+   */
+  ItemView& operator=( ItemView&& rhs );
+
+  /**
    * @brief Destructor.
    *
    * This is non-virtual since derived Handle types must not contain data or virtual methods.
@@ -635,4 +652,4 @@ public: // Not intended for application developers
 
 } // namespace Dali
 
-#endif // __DALI_TOOLKIT_ITEM_VIEW_H__
+#endif // DALI_TOOLKIT_ITEM_VIEW_H