Formatted API
[platform/core/uifw/dali-core.git] / dali / public-api / math / uint-16-pair.h
index 9f8188e..e3d9f49 100644 (file)
@@ -1,8 +1,8 @@
-#ifndef __DALI_UINT_16_PAIR_H__
-#define __DALI_UINT_16_PAIR_H__
+#ifndef DALI_UINT_16_PAIR_H
+#define DALI_UINT_16_PAIR_H
 
 /*
- * Copyright (c) 2015 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.
@@ -49,18 +49,21 @@ public:
    * @brief Default constructor for the (0, 0) tuple.
    * @SINCE_1_0.0
    */
-  Uint16Pair() : mData(0) {}
+  Uint16Pair()
+  : mData(0)
+  {
+  }
 
   /**
    * @brief Constructor taking separate x and y (width and height) parameters.
    * @SINCE_1_0.0
-   * @param[in] width The width or X dimension of the tuple. Make sure it is less than 65536,
-   * @param[in] height The height or Y dimension of the tuple. Make sure it is less than 65536,
+   * @param[in] width The width or X dimension of the tuple. Make sure it is less than 65536
+   * @param[in] height The height or Y dimension of the tuple. Make sure it is less than 65536
    */
-  Uint16Pair( uint32_t width, uint32_t height )
+  Uint16Pair(uint32_t width, uint32_t height)
   {
-    DALI_ASSERT_DEBUG( width < ( 1u << 16 ) && "Width parameter not representable." );
-    DALI_ASSERT_DEBUG( height < ( 1u << 16 ) && "Height parameter not representable." );
+    DALI_ASSERT_DEBUG(width < (1u << 16) && "Width parameter not representable.");
+    DALI_ASSERT_DEBUG(height < (1u << 16) && "Height parameter not representable.");
 
     /* Do equivalent of the code below with one aligned memory access:
      * mComponents[0] = width;
@@ -71,28 +74,19 @@ public:
   }
 
   /**
-   * @brief Copy constructor.
-   * @SINCE_1_0.0
-   * @param[in] rhs A reference to assign
-   */
-  Uint16Pair( const Uint16Pair& rhs )
-  {
-    mData = rhs.mData;
-  }
-
-  /**
    * @brief Sets the width.
    * @SINCE_1_1.13
-   * @param[in] width The x dimension to be stored in this 2-tuple.
+   * @param[in] width The x dimension to be stored in this 2-tuple
    */
-  void SetWidth( uint16_t width )
+  void SetWidth(uint16_t width)
   {
     mComponents[0] = width;
   }
 
   /**
-   * @brief @returns the x dimension stored in this 2-tuple.
+   * @brief Get the width.
    * @SINCE_1_0.0
+   * @return the x dimension stored in this 2-tuple
    */
   uint16_t GetWidth() const
   {
@@ -102,9 +96,9 @@ public:
   /**
    * @brief Sets the height.
    * @SINCE_1_1.13
-   * @param[in] height The y dimension to be stored in this 2-tuple.
+   * @param[in] height The y dimension to be stored in this 2-tuple
    */
-  void SetHeight( uint16_t height )
+  void SetHeight(uint16_t height)
   {
     mComponents[1] = height;
   }
@@ -122,9 +116,9 @@ public:
   /**
    * @brief Sets the x dimension (same as width).
    * @SINCE_1_1.14
-   * @param[in] x The x dimension to be stored in this 2-tuple.
+   * @param[in] x The x dimension to be stored in this 2-tuple
    */
-  void SetX( uint16_t x )
+  void SetX(uint16_t x)
   {
     mComponents[0] = x;
   }
@@ -134,7 +128,7 @@ public:
    * @SINCE_1_0.0
    * @return X
    */
-  uint16_t GetX()  const
+  uint16_t GetX() const
   {
     return mComponents[0];
   }
@@ -142,9 +136,9 @@ public:
   /**
    * @brief Sets the y dimension (same as height).
    * @SINCE_1_1.14
-   * @param[in] y The y dimension to be stored in this 2-tuple.
+   * @param[in] y The y dimension to be stored in this 2-tuple
    */
-  void SetY( uint16_t y )
+  void SetY(uint16_t y)
   {
     mComponents[1] = y;
   }
@@ -160,25 +154,12 @@ public:
   }
 
   /**
-   * @brief Assignment operator.
-   * @SINCE_1_0.0
-   */
-  Uint16Pair& operator=( const Uint16Pair& rhs )
-  {
-    if( rhs != *this )
-    {
-      mData = rhs.mData;
-    }
-    return *this;
-  }
-
-  /**
    * @brief Equality operator.
    * @SINCE_1_0.0
    * @param[in] rhs A reference for comparison
    * @return True if same
    */
-  bool operator==( const Uint16Pair& rhs ) const
+  bool operator==(const Uint16Pair& rhs) const
   {
     return mData == rhs.mData;
   }
@@ -189,7 +170,7 @@ public:
    * @param[in] rhs A reference for comparison
    * @return True if different
    */
-  bool operator!=( const Uint16Pair& rhs ) const
+  bool operator!=(const Uint16Pair& rhs) const
   {
     return mData != rhs.mData;
   }
@@ -201,7 +182,7 @@ public:
    * @param[in] rhs A reference for comparison
    * @return True if less
    */
-  bool operator<( const Uint16Pair& rhs ) const
+  bool operator<(const Uint16Pair& rhs) const
   {
     return mData < rhs.mData;
   }
@@ -213,47 +194,53 @@ public:
    * @param[in] rhs A reference for comparison
    * @return True if greater
    */
-  bool operator>( const Uint16Pair& rhs ) const
+  bool operator>(const Uint16Pair& rhs) const
   {
     return mData > rhs.mData;
   }
 
   /**
-   * @brief Create an instance by rounding a floating point vector to closest
+   * @brief Creates an instance by rounding a floating point vector to closest
    * integers.
    *
    * Uses a template for loose coupling, to save a header include, and allow any
    * vector type with .x and .y members to be converted.
    * @SINCE_1_0.0
    * @param[in] from Floating point vector2
-   * @return Closest integer value.
+   * @return Closest integer value
    */
   template<typename FLOAT_VECTOR_N_TYPE>
-  static Uint16Pair FromFloatVec2( const FLOAT_VECTOR_N_TYPE& from )
+  static Uint16Pair FromFloatVec2(const FLOAT_VECTOR_N_TYPE& from)
   {
-    DALI_ASSERT_DEBUG( from.x + 0.5f < 65536.0f );
-    DALI_ASSERT_DEBUG( from.y + 0.5f < 65536.0f );
-    return Uint16Pair( from.x + 0.5f, from.y + 0.5f );
+    DALI_ASSERT_DEBUG(from.x + 0.5f < 65536.0f);
+    DALI_ASSERT_DEBUG(from.y + 0.5f < 65536.0f);
+    return Uint16Pair(from.x + 0.5f, from.y + 0.5f);
   }
 
   /**
-   * @brief Create an instance by rounding a floating point array to closest
+   * @brief Creates an instance by rounding a floating point array to closest
    * integers.
    *
    * Uses a template to allow any vector type with operator [] to be converted
    * in addition to plain arrays.
    * @SINCE_1_0.0
    * @param[in] from Floating point array
-   * @return Closest integer value.
+   * @return Closest integer value
    */
   template<typename FLOAT_ARRAY>
-  static Uint16Pair FromFloatArray( const FLOAT_ARRAY& from )
+  static Uint16Pair FromFloatArray(const FLOAT_ARRAY& from)
   {
-    DALI_ASSERT_DEBUG( from[0] + 0.5f < 65536.0f );
-    DALI_ASSERT_DEBUG( from[1] + 0.5f < 65536.0f );
-    return Uint16Pair( from[0] + 0.5f, from[1] + 0.5f );
+    DALI_ASSERT_DEBUG(from[0] + 0.5f < 65536.0f);
+    DALI_ASSERT_DEBUG(from[1] + 0.5f < 65536.0f);
+    return Uint16Pair(from[0] + 0.5f, from[1] + 0.5f);
   }
 
+public:
+  Uint16Pair(const Uint16Pair&) = default;            ///< Default copy constructor
+  Uint16Pair(Uint16Pair&&)      = default;            ///< Default move constructor
+  Uint16Pair& operator=(const Uint16Pair&) = default; ///< Default copy assignment operator
+  Uint16Pair& operator=(Uint16Pair&&) = default;      ///< Default move assignment operator
+
 private:
   union
   {
@@ -265,11 +252,18 @@ private:
 };
 
 // Allow Uint16Pair to be treated as a POD type
-template <> struct TypeTraits< Uint16Pair > : public BasicTypes< Uint16Pair > { enum { IS_TRIVIAL_TYPE = true }; };
+template<>
+struct TypeTraits<Uint16Pair> : public BasicTypes<Uint16Pair>
+{
+  enum
+  {
+    IS_TRIVIAL_TYPE = true
+  };
+};
 
 /**
  * @}
  */
 } // namespace Dali
 
-#endif // __DALI_UINT_16_PAIR_H__
+#endif // DALI_UINT_16_PAIR_H