[3.0] Add missed doxygen documentation
[platform/core/uifw/dali-core.git] / dali / public-api / common / intrusive-ptr.h
index 13a36e6..e755202 100644 (file)
 
 namespace Dali
 {
+/**
+ * @addtogroup dali_core_common
+ * @{
+ */
 
 /**
  * @brief Templated intrusive pointer class
  *
- * Uses the Dali:Refobject type supply actual reference counting
- * The object is responsible for destroying itself
+ * Uses the Dali:RefObject type with actual reference counting.
+ * The object is responsible for destroying itself.
+ * @SINCE_1_0.0
  */
 template<typename T>
 class IntrusivePtr
@@ -38,13 +43,15 @@ public:
 
   /**
    * @brief Standard constructor to unassigned object.
+   * @SINCE_1_0.0
    */
   IntrusivePtr() : mPtr( 0 ) {}
 
   /**
    * @brief Constructor to attach existing object.
    *
-   * @param p pointer to object,
+   * @SINCE_1_0.0
+   * @param[in] p Pointer to object,
    */
   IntrusivePtr( T* p ) : mPtr( p )
   {
@@ -57,8 +64,9 @@ public:
   /**
    * @brief Copy constructor.
    *
-   * @param rhs const reference to an IntrusivePtr
-   * @tparam U reference counter object type
+   * @SINCE_1_0.0
+   * @param[in] rhs Const reference to an IntrusivePtr
+   * @tparam U Reference counter object type
    */
   template<typename U>
   IntrusivePtr( IntrusivePtr<U> const& rhs ) : mPtr( rhs.Get() )
@@ -71,6 +79,8 @@ public:
 
   /**
    * @brief Copy constructor.
+   * @SINCE_1_0.0
+   * @param[in] rhs Const reference to an IntrusivePtr
    */
   IntrusivePtr( IntrusivePtr const& rhs ) : mPtr( rhs.mPtr )
   {
@@ -84,6 +94,7 @@ public:
    * @brief Destructor.
    *
    * Object will self-destruct if reference count is zero
+   * @SINCE_1_0.0
    */
   ~IntrusivePtr()
   {
@@ -96,7 +107,8 @@ public:
   /**
    * @brief Get pointer to reference counted object.
    *
-   * @return pointer to reference counted object
+   * @SINCE_1_0.0
+   * @return Pointer to reference counted object
    */
   T* Get() const
   {
@@ -106,7 +118,8 @@ public:
   /**
    * @brief Pointer operator override.
    *
-   * @return pointer to reference counted object
+   * @SINCE_1_0.0
+   * @return Pointer to reference counted object
    */
   T* operator->() const
   {
@@ -116,7 +129,8 @@ public:
   /**
    * @brief Dereference operator override.
    *
-   * @return reference to reference counted object
+   * @SINCE_1_0.0
+   * @return Reference to reference counted object
    */
   T& operator*() const
   {
@@ -126,8 +140,9 @@ public:
   /**
    * @brief Assignment operator.
    *
-   * @param rhs const reference to intrusive pointer
-   * @return reference to reference counted object
+   * @SINCE_1_0.0
+   * @param rhs Const reference to intrusive pointer
+   * @return Reference to reference counted object
    */
   IntrusivePtr& operator=( IntrusivePtr const& rhs )
   {
@@ -138,8 +153,9 @@ public:
   /**
    * @brief Assignment operator.
    *
-   * @param rhs pointer to object to wrap
-   * @return A reference to this object
+   * @SINCE_1_0.0
+   * @param rhs Pointer to object to wrap
+   * @return A Reference to this object
    */
   IntrusivePtr& operator=( T* rhs )
   {
@@ -149,6 +165,7 @@ public:
 
   /**
    * @brief Reset intrusive pointer.
+   * @SINCE_1_0.0
    */
   void Reset()
   {
@@ -158,7 +175,8 @@ public:
   /**
    * @brief Reset intrusive pointer with reference counted object.
    *
-   * @param rhs pointer to object
+   * @SINCE_1_0.0
+   * @param[in] rhs Pointer to object
    */
   void Reset( T* rhs )
   {
@@ -178,6 +196,7 @@ public:
    * @brief Converts an object handle to a BooleanType.
    *
    * This is useful for checking whether the handle is NULL.
+   * @SINCE_1_0.0
    */
   operator BooleanType() const
   {
@@ -188,6 +207,8 @@ public:
    * @brief Detach pointer from intrusive ptr counting.
    *
    * Use with care.
+   * @SINCE_1_0.0
+   * @return Pointer to reference counted object
    */
   T* Detach()
   {
@@ -200,11 +221,13 @@ private:
 
   /**
    * @brief Used by the safe bool idiom.
+   * @SINCE_1_0.0
    */
   void ThisIsSaferThanReturningVoidStar() const {}
 
   /**
    * @brief Internal swap function
+   * @SINCE_1_0.0
    */
   void Swap( IntrusivePtr& rhs )
   {
@@ -219,9 +242,10 @@ private:
 /**
  * @brief Comparison overrides of objects wrapped by intrusive pointers.
  *
- * @param lhs intrusive pointer to compare with
- * @param rhs intrusive pointer to compare against
- * @return true if the pointers point at the same object
+ * @SINCE_1_0.0
+ * @param[in] lhs Intrusive pointer to compare with
+ * @param[in] rhs Intrusive pointer to compare against
+ * @return True if the pointers point at the same object
  */
 template<typename T, typename U>
 inline bool operator==( IntrusivePtr<T>const& lhs, IntrusivePtr<U>const& rhs )
@@ -232,9 +256,10 @@ inline bool operator==( IntrusivePtr<T>const& lhs, IntrusivePtr<U>const& rhs )
 /**
  * @brief Comparison overrides of objects wrapped by intrusive pointers.
  *
- * @param lhs intrusive pointer to compare with
- * @param rhs intrusive pointer to compare against
- * @return true if the pointers point at different objects
+ * @SINCE_1_0.0
+ * @param[in] lhs Intrusive pointer to compare with
+ * @param[in] rhs Intrusive pointer to compare against
+ * @return True if the pointers point at different objects
  */
 template<typename T, typename U>
 inline bool operator!=( IntrusivePtr<T>const& lhs, IntrusivePtr<U>const &rhs)
@@ -245,9 +270,10 @@ inline bool operator!=( IntrusivePtr<T>const& lhs, IntrusivePtr<U>const &rhs)
 /**
  * @brief Comparison overrides of objects wrapped by intrusive pointers
  *
- * @param lhs intrusive pointer to compare with
- * @param rhs object to compare against
- * @return true if the intrusive pointer points at the specified object
+ * @SINCE_1_0.0
+ * @param[in] lhs Intrusive pointer to compare with
+ * @param[in] rhs Object to compare against
+ * @return True if the intrusive pointer points at the specified object
  */
 template<typename T, typename U>
 inline bool operator==( IntrusivePtr<T>const& lhs, U* rhs )
@@ -258,9 +284,10 @@ inline bool operator==( IntrusivePtr<T>const& lhs, U* rhs )
 /**
  * @brief Comparison overrides of objects wrapped by intrusive pointers.
  *
- * @param lhs intrusive pointer to compare with
- * @param rhs intrusive pointer to compare against
- * @return true if the intrusive pointer doesn't point at the specified object
+ * @SINCE_1_0.0
+ * @param[in] lhs Intrusive pointer to compare with
+ * @param[in] rhs Intrusive pointer to compare against
+ * @return True if the intrusive pointer doesn't point at the specified object
  */
 template<typename T, typename U>
 inline bool operator!=( IntrusivePtr<T>const& lhs, U* rhs )
@@ -271,9 +298,10 @@ inline bool operator!=( IntrusivePtr<T>const& lhs, U* rhs )
 /**
  * @brief Comparison overrides of objects wrapped by intrusive pointers
  *
- * @param lhs object to compare with
- * @param rhs intrusive pointer to compare against
- * @return true if the intrusive pointer points at the specified object
+ * @SINCE_1_0.0
+ * @param[in] lhs Object to compare with
+ * @param[in] rhs Intrusive pointer to compare against
+ * @return True if the intrusive pointer points at the specified object
  */
 template<typename T, typename U>
 inline bool operator==( T* lhs, IntrusivePtr<U>const& rhs )
@@ -284,9 +312,10 @@ inline bool operator==( T* lhs, IntrusivePtr<U>const& rhs )
 /**
  * @brief Comparison overrides of objects wrapped by intrusive pointers
  *
- * @param lhs object to compare with
- * @param rhs intrusive pointer to compare against
- * @return true if the intrusive pointer doesn't point at the specified object
+ * @SINCE_1_0.0
+ * @param[in] lhs Object to compare with
+ * @param[in] rhs Intrusive pointer to compare against
+ * @return True if the intrusive pointer doesn't point at the specified object
  */
 template<typename T, typename U>
 inline bool operator!=( T* lhs, IntrusivePtr<U>const& rhs )
@@ -294,6 +323,9 @@ inline bool operator!=( T* lhs, IntrusivePtr<U>const& rhs )
   return lhs != rhs.Get();
 }
 
+/**
+ * @}
+ */
 } // namespace Dali
 
 #endif /* __DALI_INTRUSIVE_PTR_H__ */