Merge "Revert "Fix duplicated alarms."" into tizen_2.2
[platform/framework/native/appfw.git] / inc / FBaseColIMultiMap.h
index 1aa230a..dd5b9e7 100644 (file)
@@ -1,5 +1,4 @@
 //
-// Open Service Platform
 // Copyright (c) 2012 Samsung Electronics Co., Ltd.
 //
 // Licensed under the Apache License, Version 2.0 (the License);
@@ -29,7 +28,6 @@
 #include <FBaseColIMapEnumerator.h>
 #include <FBaseObject.h>
 
-
 namespace Tizen { namespace Base { namespace Collection
 {
 
@@ -150,8 +148,9 @@ public:
         *
         * @return              A pointer to a list of all unique keys in the map, @n
         *                              else @c null if an exception occurs
-        * @remarks             The %IList stores just the pointers to the elements in the map, not the elements themselves.
-        * @remarks             The specific error code can be accessed using the GetLastResult() method.
+        * @remarks
+        *                              - The %IList stores just the pointers to the elements in the map, not the elements themselves.
+        *                              - The specific error code can be accessed using the GetLastResult() method.
         * @see                 GetValuesN()
         */
        virtual IList* GetKeysN(void) const = 0;
@@ -163,8 +162,9 @@ public:
         *
         * @return              A pointer to a list of all the values in the map, @n
         *                              else @c null if an exception occurs
-        * @remarks             The IList stores just the pointers to the elements in the map, not the elements themselves.
-        * @remarks             The specific error code can be accessed using the GetLastResult() method.
+        * @remarks
+        *                              - The IList stores just the pointers to the elements in the map, not the elements themselves.
+        *                              - The specific error code can be accessed using the GetLastResult() method.
         * @see                 SetValue()
         */
        virtual IList* GetValuesN(void) const = 0;
@@ -177,29 +177,30 @@ public:
         * @return              An error code
         * @param[in]   key The key for which the associated values need to remove
         * @param[in]   forceDeletion           Set to @c true to deallocate the object, @n
-        *                                                              else @c false
+        *                                                                      else @c false
         * @exception   E_SUCCESS               The method is successful.
         * @exception   E_INVALID_ARG   A specified input parameter is invalid, or
         *                                                              the comparer has failed to compare the keys.
         * @exception   E_OBJ_NOT_FOUND The specified @c key is not found in the map.
-        * @remarks             Based on the specified element deleter, the remove operation not only gets rid of an element from a list, but also deletes its object instance.@n
-        *                              The element deleter style is recommended rather than using the @c forceDeletetion argument in the remove method.@n
+        * @remarks
+        *                              - Based on the specified element deleter, the remove operation not only gets rid of an element from a list, but also deletes its object instance. @n
+        *                              The element deleter style is recommended rather than using the @c forceDeletetion argument in the remove method. @n
         *                              If both an element deleter and forceDeleteion are set, the remove operation follows @c forceDeletion setting.
-        * @remarks             Remove(key, @b true) internally works as the below code:
+        *                              - Remove(key, @b true) internally works as the below code:
         * @code
         * DeleterFunctionType deleter = GetDeleter();
         * SetDeleter(SingleObjectDeleter);
         * Remove(key);
         * SetDeleter(deleter);
         * @endcode
-        * @remarks             Remove(key, @b false) internally works as the below code:
+        *                              - Remove(key, @b false) internally works as the below code:
         * @code
         * DeleterFunctionType deleter = GetDeleter();
         * SetDeleter(NoOpDeleter);
         * Remove(key);
         * SetDeleter(deleter);
         * @endcode
-        * @see                 Add()
+        * @see                 Add(Object*, Object*)
         */
        result Remove(const Object& key, bool forceDeletion)
        {
@@ -225,12 +226,12 @@ public:
         * @since 2.0
         *
         * @return              An error code
-        * @param[in]   key The key for which the associated values need to remove
+        * @param[in]   key                             The key for which the associated values need to remove
         * @exception   E_SUCCESS               The method is successful.
         * @exception   E_INVALID_ARG   A specified input parameter is invalid, or
         *                                                              the comparer has failed to compare the keys.
         * @exception   E_OBJ_NOT_FOUND The specified @c key is not found in the map.
-        * @see                 Add()
+        * @see                 Add(Object*, Object*)
         */
        virtual result Remove(const Object& key) = 0;
 
@@ -244,29 +245,30 @@ public:
         * @param[in]   key     The key for which the mapping is to remove from the map
         * @param[in]   value   The value to remove
         * @param[in]   forceDeletion           Set to @c true to deallocate the object, @n
-        *                                                              else @c false
+        *                                                                      else @c false
         * @exception   E_SUCCESS               The method is successful.
         * @exception   E_INVALID_ARG   A specified input parameter is invalid, or
         *                                                              the comparer has failed to compare the keys.
         * @exception   E_OBJ_NOT_FOUND The @c key and @c value pair is not found in the map.
-        * @remarks             Based on the specified element deleter, the remove operation not only gets rid of an element from a list, but also deletes its object instance.@n
-        *                              The element deleter style is recommended rather than using the @c forceDeletetion argument in the remove method.@n
+        * @remarks
+        *                              - Based on the specified element deleter, the remove operation not only gets rid of an element from a list, but also deletes its object instance. @n
+        *                              The element deleter style is recommended rather than using the @c forceDeletetion argument in the remove method. @n
         *                              If both an element deleter and forceDeleteion are set, the remove operation follows @c forceDeletion setting.
-        * @remarks             Remove(key, value, @b true) internally works as the below code:
+        *                              - Remove(key, value, @b true) internally works as the below code:
         * @code
         * DeleterFunctionType deleter = GetDeleter();
         * SetDeleter(SingleObjectDeleter);
         * Remove(key, value);
         * SetDeleter(deleter);
         * @endcode
-        * @remarks             Remove(key, value, @b false) internally works as the below code:
+        *                              - Remove(key, value, @b false) internally works as the below code:
         * @code
         * DeleterFunctionType deleter = GetDeleter();
         * SetDeleter(NoOpDeleter);
         * Remove(key, value);
         * SetDeleter(deleter);
         * @endcode
-        * @see                 Add()
+        * @see                 Add(Object*, Object*)
         */
        result Remove(const Object& key, const Object& value, bool forceDeletion)
        {
@@ -299,7 +301,7 @@ public:
         * @exception   E_INVALID_ARG   A specified input parameter is invalid, or
         *                                                              the comparer has failed to compare the keys.
         * @exception   E_OBJ_NOT_FOUND The @c key and @c value pair is not found in the map.
-        * @see                 Add()
+        * @see                 Add(Object*, Object*)
         */
        virtual result Remove(const Object& key, const Object& value) = 0;
 
@@ -310,18 +312,19 @@ public:
         * @since 2.0
         *
         * @param[in]   forceDeletion           Set to @c true to deallocate all objects, @n
-        *                                                              else @c false
-        * @remarks             Based on the specified element deleter, the remove operation not only gets rid of an element from a list, but also deletes its object instance.@n
-        *                              The element deleter style is recommended rather than using the @c forceDeletetion argument in the remove method.@n
+        *                                                                      else @c false
+        * @remarks
+        *                              - Based on the specified element deleter, the remove operation not only gets rid of an element from a list, but also deletes its object instance. @n
+        *                              The element deleter style is recommended rather than using the @c forceDeletetion argument in the remove method. @n
         *                              If both an element deleter and forceDeleteion are set, the remove operation follows @c forceDeletion setting.
-        * @remarks             RemoveAll(@b true) internally works as the below code:
+        *                              - RemoveAll(@b true) internally works as the below code:
         * @code
         * DeleterFunctionType deleter = GetDeleter();
         * SetDeleter(SingleObjectDeleter);
         * RemoveAll();
         * SetDeleter(deleter);
         * @endcode
-        * @remarks             RemoveAll(@b false) internally works as the below code:
+        *                              - RemoveAll(@b false) internally works as the below code:
         * @code
         * DeleterFunctionType deleter = GetDeleter();
         * SetDeleter(NoOpDeleter);
@@ -364,30 +367,30 @@ public:
         * @param[in]   value   The value associated with the key
         * @param[in]   newValue        The new value
         * @param[in]   forceDeletion           Set to @c true to deallocate the object, @n
-        *                                                              else @c false
+        *                                                                      else @c false
         * @exception   E_SUCCESS               The method is successful.
         * @exception   E_INVALID_ARG   A specified input parameter is invalid, or
         *                                                              the comparer has failed to compare the keys.
         * @exception   E_OBJ_NOT_FOUND The key-value pair is not found in the map.
-        * @remarks             Use the Add() method to add a new key-value pair.
-        * @remarks             Based on the specified element deleter, the set operation not only gets rid of an element from a list, but also deletes its object instance.@n
-        *                              The element deleter style is recommended rather than using the @c forceDeletetion argument in the set method.@n
+        * @remarks
+        *                              - Use the Add(Object*, Object*) method to add a new key-value pair.
+        *                              - Based on the specified element deleter, the set operation not only gets rid of an element from a list, but also deletes its object instance. @n
+        *                              The element deleter style is recommended rather than using the @c forceDeletetion argument in the set method. @n
         *                              If both an element deleter and forceDeleteion are set, the set operation follows @c forceDeletion setting.
-        * @remarks             SetValue(key, value, newValue, @b true) internally works as the below code:
+        *                              - SetValue(key, value, newValue, @b true) internally works as the below code:
         * @code
         * DeleterFunctionType deleter = GetDeleter();
         * SetDeleter(SingleObjectDeleter);
         * SetValue(key, value, const_cast< Object* >(&newValue));
         * SetDeleter(deleter);
         * @endcode
-        * @remarks             SetValue(key, value, newValue, @b false) internally works as the below code:
+        *                              - SetValue(key, value, newValue, @b false) internally works as the below code:
         * @code
         * DeleterFunctionType deleter = GetDeleter();
         * SetDeleter(NoOpDeleter);
         * SetValue(key, value, const_cast< Object* >(&newValue));
         * SetDeleter(deleter);
         * @endcode
-        * @see                 Add()
         * @see                 GetValuesN()
         */
        result SetValue(const Object& key, const Object& value, const Object& newValue, bool forceDeletion = false)
@@ -414,15 +417,14 @@ public:
         * @since 2.0
         *
         * @return              An error code
-        * @param[in]   key     The key for which the associated value needs to replace
-        * @param[in]   value   The value associated with the key
+        * @param[in]   key                     The key for which the associated value needs to replace
+        * @param[in]   value           The value associated with the key
         * @param[in]   pNewValue       The pointer to new value
         * @exception   E_SUCCESS               The method is successful.
         * @exception   E_INVALID_ARG   A specified input parameter is invalid, or
         *                                                              the comparer has failed to compare the keys.
         * @exception   E_OBJ_NOT_FOUND The key-value pair is not found in the map.
-        * @remarks             Use the Add() method to add a new key-value pair.
-        * @see                 Add()
+        * @remarks             Use the Add(Object*, Object*) method to add a new key-value pair.
         * @see                 GetValuesN()
         */
        virtual result SetValue(const Object& key, const Object& value, Object* pNewValue) = 0;
@@ -469,7 +471,7 @@ public:
         * @exception   E_INVALID_ARG   A specified input parameter is invalid, or
         *                                                              the comparer has failed to compare the keys.
         * @remarks             The specific error code can be accessed using the GetLastResult() method.
-        * @see                 ContainsKey()
+        * @see                 ContainsKey(const Object&) const
         * @see                 ContainsValue()
         */
        virtual bool Contains(const Object& key, const Object& value) const = 0;
@@ -492,7 +494,7 @@ public:
         * @exception   E_INVALID_ARG   A specified input parameter is invalid, or
         *                                                              the comparer has failed to compare the keys.
         * @see                 ContainsValue()
-        * @see                 Contains()
+        * @see                 Contains(const Object&, const Object&)
         * @endif
         */
        result ContainsKey(const Object& key, bool& out) const
@@ -509,13 +511,13 @@ public:
         *
         * @return              @c true if the map contains the specified key, @n
         *                              else @c false
-        * @param[in]   key     The key to locate
+        * @param[in]   key                             The key to locate
         * @exception   E_SUCCESS               The method is successful.
         * @exception   E_INVALID_ARG   A specified input parameter is invalid, or
         *                                                              the comparer has failed to compare the keys.
         * @remarks             The specific error code can be accessed using the GetLastResult() method.
         * @see                 ContainsValue()
-        * @see                 Contains()
+        * @see                 Contains(const Object&, const Object&) const
         */
        virtual bool ContainsKey(const Object& key) const = 0;
 
@@ -528,8 +530,8 @@ public:
         *                              else @c false
         * @param[in]   value   The value to locate
         *
-        * @see                 ContainsKey()
-        * @see                 Contains()
+        * @see                 ContainsKey(const Object&) const
+        * @see                 Contains(const Object&, const Object&) const
         */
        virtual bool ContainsValue(const Object& value) const = 0;
 
@@ -541,9 +543,10 @@ public:
         * @return              An instance of the IMapEnumerator class for the map, @n
         *                              else @c null if an exception occurs
         * @exception   E_SUCCESS               The method is successful.
-        * @remarks             If a key has multiple values, the enumeration proceeds as follows: @n
+        * @remarks
+        *                              - If a key has multiple values, the enumeration proceeds as follows: @n
         *                              {A: a}, {B: b}, {B: c}, {B, d}, {C: e}, ...
-        * @remarks             The specific error code can be accessed using the GetLastResult() method.
+        *                              - The specific error code can be accessed using the GetLastResult() method.
         * @see                 IEnumerator
         * @see                 IMapEnumerator
         */
@@ -554,7 +557,7 @@ public:
         *
         * @since 2.0
         *
-        * @return              An function pointer to the existing element deleter
+        * @return              A function pointer to the existing element deleter
         */
        virtual DeleterFunctionType GetDeleter(void) const = 0;
 
@@ -568,7 +571,6 @@ protected:
        //
        virtual void IMultiMap_Reserved1(void) { }
 
-
        //
        // This method is for internal use only. Using this method can cause behavioral, security-related,
        // and consistency-related issues in the application.