Merge "Ensure BaseHandle class move noexcept (core public-api)" into devel/master
[platform/core/uifw/dali-core.git] / dali / public-api / object / property-conditions.h
index a5ab046..a3f39e9 100644 (file)
@@ -2,7 +2,7 @@
 #define DALI_PROPERTY_CONDITIONS_H
 
 /*
- * Copyright (c) 2019 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.
@@ -42,7 +42,6 @@ class PropertyCondition;
 class DALI_CORE_API PropertyCondition : public BaseHandle
 {
 public:
-
   /**
    * @brief Constructor for condition clause.
    * @SINCE_1_0.0
@@ -61,7 +60,7 @@ public:
    * @SINCE_1_0.0
    * @param[in] handle A reference to the copied handle
    */
-  PropertyCondition( const PropertyCondition& handle );
+  PropertyCondition(const PropertyCondition& handle);
 
   /**
    * @brief This assignment operator is required for (smart) pointer semantics.
@@ -70,11 +69,27 @@ public:
    * @param[in] rhs A reference to the copied handle
    * @return A reference to this
    */
-  PropertyCondition& operator=( const PropertyCondition& rhs );
+  PropertyCondition& operator=(const PropertyCondition& rhs);
 
-public:
+  /**
+   * @brief Move constructor.
+   *
+   * @SINCE_1_9.22
+   * @param[in] rhs A reference to the moved handle
+   */
+  PropertyCondition(PropertyCondition&& rhs) noexcept;
 
   /**
+   * @brief Move assignment operator.
+   *
+   * @SINCE_1_9.22
+   * @param[in] rhs A reference to the moved handle
+   * @return A reference to this handle
+   */
+  PropertyCondition& operator=(PropertyCondition&& rhs) noexcept;
+
+public:
+  /**
    * @brief Retrieves the arguments that this condition uses.
    *
    * @SINCE_1_0.0
@@ -90,8 +105,7 @@ public:
    * @return The arguments used for this condition
    * @note The container will only be valid as long PropertyCondition is valid.
    */
-  float GetArgument( std::size_t index ) const;
-
+  float GetArgument(std::size_t index) const;
 };
 
 /**
@@ -107,7 +121,7 @@ public:
  * @param[in] arg The argument for the condition
  * @return A property condition function object
  */
-DALI_CORE_API PropertyCondition LessThanCondition( float arg );
+DALI_CORE_API PropertyCondition LessThanCondition(float arg);
 
 /**
  * @brief GreaterThanCondition compares whether property is greater than arg.
@@ -122,7 +136,7 @@ DALI_CORE_API PropertyCondition LessThanCondition( float arg );
  * @param[in] arg The argument for the condition
  * @return A property condition function object
  */
-DALI_CORE_API PropertyCondition GreaterThanCondition( float arg );
+DALI_CORE_API PropertyCondition GreaterThanCondition(float arg);
 
 /**
  * @brief InsideCondition compares whether property is greater than arg0 and less than arg1.
@@ -138,7 +152,7 @@ DALI_CORE_API PropertyCondition GreaterThanCondition( float arg );
  * @param[in] arg1 The second argument for the condition
  * @return A property condition function object
  */
-DALI_CORE_API PropertyCondition InsideCondition( float arg0, float arg1 );
+DALI_CORE_API PropertyCondition InsideCondition(float arg0, float arg1);
 
 /**
  * @brief OutsideCondition compares whether property is less than arg0 or greater than arg1.
@@ -154,7 +168,7 @@ DALI_CORE_API PropertyCondition InsideCondition( float arg0, float arg1 );
  * @param[in] arg1 The second argument for the condition
  * @return A property condition function object
  */
-DALI_CORE_API PropertyCondition OutsideCondition( float arg0, float arg1 );
+DALI_CORE_API PropertyCondition OutsideCondition(float arg0, float arg1);
 
 /**
  * @brief Detects when a property changes by stepAmount from initialValue, in both positive and negative directions. This will continue checking for multiples of stepAmount.
@@ -169,7 +183,7 @@ DALI_CORE_API PropertyCondition OutsideCondition( float arg0, float arg1 );
  * @param[in] initialValue The initial value to step from
  * @return A property condition function object
  */
-DALI_CORE_API PropertyCondition StepCondition( float stepAmount, float initialValue = 0.0f );
+DALI_CORE_API PropertyCondition StepCondition(float stepAmount, float initialValue = 0.0f);
 
 /**
  * @brief Receives notifications as a property goes above/below the inputted values. Values must be ordered and can be either ascending or descending.
@@ -183,7 +197,7 @@ DALI_CORE_API PropertyCondition StepCondition( float stepAmount, float initialVa
  * @param[in] steps List of values to receive notifications for as a property crosses them
  * @return A property condition function object
  */
-DALI_CORE_API PropertyCondition VariableStepCondition( const Dali::Vector<float>& steps );
+DALI_CORE_API PropertyCondition VariableStepCondition(const Dali::Vector<float>& steps);
 
 /**
  * @}