[2.2.1] Apply reviewed header file (Base to Collection)
[platform/framework/native/appfw.git] / inc / FBaseColIMultiMap.h
index dd5b9e7..78c1803 100644 (file)
@@ -40,8 +40,8 @@ class MapEntry;
  *
  * @since 2.0
  *
- * The %IMultiMap interface abstracts a collection of key-value pairs.
- * There is no limit on the number of elements with the same key, but duplicated elements with the same key are not allowed.
+ * The %IMultiMap interface represents a collection of key-value pairs.
+ * There is no limit on the number of elements having the same key, but duplicate elements with the same key are not allowed.
  * The key and value cannot be a @c null reference.
  * @n
  * For more information on the class features, see <a href="../org.tizen.native.appprogramming/html/guide/base/hashmap_multihashmap.htm">HashMap and MultiHashMap</a>.
@@ -64,18 +64,19 @@ public:
         * Adds the specified key-value pair to the map.
         *
         * @brief               <i> [Deprecated] </i>
-        * @deprecated  This method is deprecated because it has a problem of const reference argument.
+        * @deprecated  This method is deprecated because it has a problem of constant reference argument.
         *                              Instead of using this method, use Add(Object* pKey, Object* pValue).
         * @since 2.0
         *
         * @return              An error code
-        * @param[in]   key     The key to add
-        * @param[in]   value   The corresponding value to add
+        * @param[in]   key                             The key to add
+        * @param[in]   value                           The corresponding value to add
         * @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_INVALID_ARG           Either of the following conditions has occurred:
+        *                                                                      - A specified input parameter is invalid.
+        *                                                                      - The comparer has failed to compare the keys.
         * @exception   E_OBJ_ALREADY_EXIST     The specified @c key and @c value already exist.
-        * @remarks             This method performs a shallow copy. It adds just the pointer; not the element itself.
+        * @remarks     This method performs a shallow copy. It adds just the pointer and not the element itself.
         * @see Remove()
         * @endif
         */
@@ -90,13 +91,14 @@ public:
         * @since 2.0
         *
         * @return              An error code
-        * @param[in]   pKey    The pointer to key to add
-        * @param[in]   pValue  The pointer to corresponding value to add
+        * @param[in]   pKey                            A pointer to the key to add
+        * @param[in]   pValue                          A pointer to the corresponding value to add
         * @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_INVALID_ARG           Either of the following conditions has occurred:
+        *                                                                      - A specified input parameter is invalid.
+        *                                                                      - The comparer has failed to compare the keys.
         * @exception   E_OBJ_ALREADY_EXIST     The specified @c pKey and @c pValue already exist.
-        * @remarks             This method performs a shallow copy. It adds just the pointer; not the element itself.
+        * @remarks     This method performs a shallow copy. It adds just the pointer and not the element itself.
         * @see Remove()
         */
        virtual result Add(Object* pKey, Object* pValue) = 0;
@@ -111,81 +113,84 @@ public:
        virtual int GetCount(void) const = 0;
 
        /**
-        * Gets the number of values with keys matching the specified key.
+        * Gets the number of values with keys matching the specified @c key.
         *
         * @since 2.0
         *
         * @return              The number of values with keys matching the specified key
-        * @param[in]   key     The key to locate in the map
-        * @param[out]  count   The number of values with keys matching the specified key
+        * @param[in]   key                             The key to locate in the map
+        * @param[out]  count                           The number of values with keys matching the specified key
         * @exception   E_SUCCESS                       The method is successful.
-        * @exception   E_INVALID_ARG           The 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.
+        * @exception   E_INVALID_ARG           Either of the following conditions has occurred:
+        *                                                                      - A specified input parameter is invalid.
+        *                                                                      - The comparer has failed to compare the keys.
+        * @exception   E_OBJ_NOT_FOUND         The specified @c key has not been found in the map.
         */
        virtual result GetCount(const Object& key, int& count) const = 0;
 
        /**
-        * Gets an enumerator of the values associated with the specified key.
+        * Gets the enumerator of the values associated with the specified @c key.
         *
         * @since 2.0
         *
-        * @return              An instance of the IEnumerator derived class with the values associated with the specified key, @n
+        * @return              An instance of the IEnumerator derived class that contains the values associated with the specified key, @n
         *                              else @c null if an exception occurs
         * @param[in]   key                     The key to locate in the map
         * @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.
+        * @exception   E_INVALID_ARG   Either of the following conditions has occurred:
+        *                                                              - A specified input parameter is invalid.
+        *                                                              - The comparer has failed to compare the keys.
+        * @exception   E_OBJ_NOT_FOUND The specified @c key has not been found in the map.
         * @remarks             The specific error code can be accessed using the GetLastResult() method.
         */
        virtual IEnumerator* GetValuesN(const Object& key) const = 0;
 
        /**
-        * Gets a list of all unique keys in the map.
+        * Gets the list of all the unique keys in the map.
         *
         * @since 2.0
         *
-        * @return              A pointer to a list of all unique keys in the map, @n
+        * @return              A pointer to the list of all the 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.
+        *                              - The IList stores just the pointers to the elements in the map and not the elements themselves.
         *                              - The specific error code can be accessed using the GetLastResult() method.
         * @see                 GetValuesN()
         */
        virtual IList* GetKeysN(void) const = 0;
 
        /**
-        * Gets a list of all the values in the map.
+        * Gets the list of all the values in the map.
         *
         * @since 2.0
         *
-        * @return              A pointer to a list of all the values in the map, @n
+        * @return              A pointer to the 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.
+        *                              - The IList stores just the pointers to the elements in the map and not the elements themselves.
         *                              - The specific error code can be accessed using the GetLastResult() method.
         * @see                 SetValue()
         */
        virtual IList* GetValuesN(void) const = 0;
 
        /**
-        * Removes all the values associated with the specified key.
+        * Removes all the values associated with the specified @c key.
         *
         * @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 are removed
         * @param[in]   forceDeletion           Set to @c true to deallocate the object, @n
         *                                                                      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.
+        * @exception   E_SUCCESS                       The method is successful.
+        * @exception   E_INVALID_ARG           Either of the following conditions has occurred:
+        *                                                                      - A specified input parameter is invalid.
+        *                                                                      - The comparer has failed to compare the keys.
+        * @exception   E_OBJ_NOT_FOUND         The specified @c key has not been 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
-        *                              If both an element deleter and forceDeleteion are set, the remove operation follows @c forceDeletion setting.
+        *                              - Based on the specified element deleter, the remove operation not only gets rid of an element from the list, but also deletes its object instance. @n
+        *                              The element deleter style is recommended rather than using @c forceDeletetion in the removing method. @n
+        *                              If both the element deleter and the @c forceDeleteion are set, the remove operation follows the @c forceDeletion setting.
         *                              - Remove(key, @b true) internally works as the below code:
         * @code
         * DeleterFunctionType deleter = GetDeleter();
@@ -221,39 +226,41 @@ public:
        }
 
        /**
-        * Removes all the values associated with the specified key.
+        * Removes all the values associated with the specified @c key.
         *
         * @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 are removed
         * @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.
+        * @exception   E_INVALID_ARG   Either of the following conditions has occurred:
+        *                                                              - A specified input parameter is invalid.
+        *                                                              - The comparer has failed to compare the keys.
+        * @exception   E_OBJ_NOT_FOUND The specified @c key has not been found in the map.
         * @see                 Add(Object*, Object*)
         */
        virtual result Remove(const Object& key) = 0;
 
        /**
-        * Removes the specified value associated with the specified key. @n
-        * The key is also removed if there are no more values associated with it.
+        * Removes the specified @c value associated with the specified @c key. @n
+        * The @c key is also removed if there are no more values associated with it.
         *
         * @since 2.0
         *
         * @return              An error code
-        * @param[in]   key     The key for which the mapping is to remove from the map
-        * @param[in]   value   The value to remove
+        * @param[in]   key                             The key for which the mapping is removed 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
-        * @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.
+        * @exception   E_SUCCESS                       The method is successful.
+        * @exception   E_INVALID_ARG           Either of the following conditions has occurred:
+        *                                                                      - A specified input parameter is invalid.
+        *                                                                      - The comparer has failed to compare the keys.
+        * @exception   E_OBJ_NOT_FOUND         The specified @c key and the specified @c value pair has not been 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
-        *                              If both an element deleter and forceDeleteion are set, the remove operation follows @c forceDeletion setting.
+        *                              - Based on the specified element deleter, the remove operation not only gets rid of an element from the list, but also deletes its object instance. @n
+        *                              - The element deleter style is recommended rather than using @c forceDeletetion in the removing method. @n
+        *                              - If both the element deleter and the @c forceDeleteion are set, the remove operation follows the @c forceDeletion setting.
         *                              - Remove(key, value, @b true) internally works as the below code:
         * @code
         * DeleterFunctionType deleter = GetDeleter();
@@ -289,34 +296,35 @@ public:
        }
 
        /**
-        * Removes the specified value associated with the specified key. @n
-        * The key is also removed if there are no more values associated with it.
+        * Removes the specified @c value associated with the specified @c key. @n
+        * The @c key is also removed if there are no more values associated with it.
         *
         * @since 2.0
         *
         * @return              An error code
-        * @param[in]   key     The key for which the mapping is to remove from the map
-        * @param[in]   value   The value to remove
+        * @param[in]   key                     The key for which the mapping is removed from the map
+        * @param[in]   value                   The value 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 @c key and @c value pair is not found in the map.
+        * @exception   E_INVALID_ARG   Either of the following conditions has occurred:
+        *                                                              - A specified input parameter is invalid.
+        *                                                              - The comparer has failed to compare the keys.
+        * @exception   E_OBJ_NOT_FOUND The specified @c key and the specified @c value pair has not been found in the map.
         * @see                 Add(Object*, Object*)
         */
        virtual result Remove(const Object& key, const Object& value) = 0;
 
        /**
         * Removes all the object pointers in the collection. @n
-        * If the @c forceDeletion parameter is set to @c true, the method also removes all the objects. This method can be called before deleting the collection.
+        * If @c forceDeletion is set to @c true, the method also removes all the objects. This method can be called before deleting the collection.
         *
         * @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
-        *                              If both an element deleter and forceDeleteion are set, the remove operation follows @c forceDeletion setting.
+        *                              - Based on the specified element deleter, the remove operation not only gets rid of an element from the list, but also deletes its object instance. @n
+        *                              - The element deleter style is recommended rather than using @c forceDeletetion in the removing method. @n
+        *                              - If both the element deleter and the @c forceDeletion are set, the remove operation follows the @c forceDeletion setting.
         *                              - RemoveAll(@b true) internally works as the below code:
         * @code
         * DeleterFunctionType deleter = GetDeleter();
@@ -351,32 +359,33 @@ public:
 
        /**
         * Removes all the object pointers in the collection. @n
-        * This method can be called before deleting the collection.
+        * The %RemoveAll() method can be called before deleting the collection.
         *
         * @since 2.0
         */
        virtual void RemoveAll(void) = 0;
 
        /**
-        * Replaces the specified value associated with the specified key with a new value.
+        * Replaces the specified @c value associated with the specified @c key with a @c newValue.
         *
         * @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]   newValue        The new value
-        * @param[in]   forceDeletion           Set to @c true to deallocate the object, @n
-        *                                                                      else @c false
+        * @param[in]   key                     The key for which the associated value is replaced
+        * @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
         * @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.
+        * @exception   E_INVALID_ARG   Either of the following conditions has occurred:
+        *                                                              - A specified input parameter is invalid.
+        *                                                              - The comparer has failed to compare the keys.
+        * @exception   E_OBJ_NOT_FOUND The key-value pair has not been found in the map.
         * @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.
+        *                              - Based on the specified element deleter, the set operation not only gets rid of an element from the list, but also deletes its object instance. @n
+        *                              The element deleter style is recommended rather than using @c forceDeletetion in the set method. @n
+        *                              If both the element deleter and the @c forceDeleteion are set, the set operation follows the @c forceDeletion setting.
         *                              - SetValue(key, value, newValue, @b true) internally works as the below code:
         * @code
         * DeleterFunctionType deleter = GetDeleter();
@@ -412,18 +421,19 @@ public:
        }
 
        /**
-        * Replaces the specified value associated with the specified key with a new value.
+        * Replaces the specified @c value associated with the specified @c key with a @c pNewValue.
         *
         * @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]   pNewValue       The pointer to new value
+        * @param[in]   key                             The key for which the associated value is replaced
+        * @param[in]   value                   The value associated with the key
+        * @param[in]   pNewValue               A pointer to the 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.
+        * @exception   E_INVALID_ARG   Either of the following conditions has occurred:
+        *                                                              - A specified input parameter is invalid.
+        *                                                              - The comparer has failed to compare the keys.
+        * @exception   E_OBJ_NOT_FOUND The key-value pair has not been found in the map.
         * @remarks             Use the Add(Object*, Object*) method to add a new key-value pair.
         * @see                 GetValuesN()
         */
@@ -434,19 +444,20 @@ public:
         * Checks whether the map contains the specified key-value pair.
         *
         * @brief               <i> [Deprecated] </i>
-        * @deprecated  This method is deprecated because it transfers a result of comparison in out-parameter form.
-        *                              The return type will be changed into boolean type and this method will return the result.
+        * @deprecated  This method is deprecated because it transfers the result of the comparison in an out-parameter form.
+        *                              The return type is changed into boolean and this method returns the result.
         *                              Instead of using this method, use bool Contains(const Object& key, const Object& value).
         * @since 2.0
         *
         * @return              An error code
-        * @param[in]   key     The key to locate
-        * @param[in]   value   The value to locate
-        * @param[out]  out             Set to @c true if the map contains the specified key-value pair, @n
-        *                                              else @c false
+        * @param[in]   key                     The key to locate
+        * @param[in]   value                   The value to locate
+        * @param[out]  out                             Set to @c true if the map contains the specified key-value pair, @n
+        *                                                              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_INVALID_ARG   Either of the following conditions has occurred:
+        *                                                              - A specified input parameter is invalid.
+        *                                                              - The comparer has failed to compare the keys.
         * @see                 ContainsKey()
         * @see                 ContainsValue()
         * @endif
@@ -465,11 +476,12 @@ public:
         *
         * @return              @c true if the map contains the specified key-value pair, @n
         *                              else @c false
-        * @param[in]   key     The key to locate
-        * @param[in]   value   The value to locate
+        * @param[in]   key                     The key to locate
+        * @param[in]   value                   The value 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.
+        * @exception   E_INVALID_ARG   Either of the following conditions has occurred:
+        *                                                              - A specified input parameter is invalid.
+        *                                                              - The comparer has failed to compare the keys.
         * @remarks             The specific error code can be accessed using the GetLastResult() method.
         * @see                 ContainsKey(const Object&) const
         * @see                 ContainsValue()
@@ -478,21 +490,22 @@ public:
 
        /**
         * @if OSPDEPREC
-        * Checks whether the map contains the specified key.
+        * Checks whether the map contains the specified @c key.
         *
         * @brief               <i> [Deprecated] </i>
-        * @deprecated  This method is deprecated because it transfers a result of comparison in out-parameter form.
-        *                              The return type will be changed into boolean type and this method will return the result.
+        * @deprecated  This method is deprecated because it transfers the result of the comparison in an out-parameter form.
+        *                              The return type is changed into boolean and this method returns the result.
         *                              Instead of using this method, use bool ContainsKey(const Object& key).
         * @since 2.0
         *
         * @return              An error code
-        * @param[in]   key     The key to locate
-        * @param[out]  out             Set to @c true if the map contains the specified key, @n
-        *                                              else @c false
+        * @param[in]   key                     The key to locate
+        * @param[out]  out                             Set to @c true if the map contains the specified key, @n
+        *                                                              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_INVALID_ARG   Either of the following conditions has occurred:
+        *                                                              - A specified input parameter is invalid.
+        *                                                              - The comparer has failed to compare the keys.
         * @see                 ContainsValue()
         * @see                 Contains(const Object&, const Object&)
         * @endif
@@ -505,7 +518,7 @@ public:
        }
 
        /**
-        * Checks whether the map contains the specified key.
+        * Checks whether the map contains the specified @c key.
         *
         * @since 2.0
         *
@@ -513,8 +526,9 @@ public:
         *                              else @c false
         * @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.
+        * @exception   E_INVALID_ARG   Either of the following conditions has occurred:
+        *                                                              - A specified input parameter is invalid.
+        *                                                              - The comparer has failed to compare the keys.
         * @remarks             The specific error code can be accessed using the GetLastResult() method.
         * @see                 ContainsValue()
         * @see                 Contains(const Object&, const Object&) const
@@ -522,7 +536,7 @@ public:
        virtual bool ContainsKey(const Object& key) const = 0;
 
        /**
-        * Checks whether the map contains the specified value.
+        * Checks whether the map contains the specified @c value.
         *
         * @since 2.0
         *
@@ -536,11 +550,11 @@ public:
        virtual bool ContainsValue(const Object& value) const = 0;
 
        /**
-        * Gets an enumerator of the map.
+        * Gets the enumerator of the map.
         *
         * @since 2.0
         *
-        * @return              An instance of the IMapEnumerator class for the map, @n
+        * @return              An instance of IMapEnumerator for the map, @n
         *                              else @c null if an exception occurs
         * @exception   E_SUCCESS               The method is successful.
         * @remarks
@@ -548,7 +562,6 @@ public:
         *                              {A: a}, {B: b}, {B: c}, {B, d}, {C: e}, ...
         *                              - The specific error code can be accessed using the GetLastResult() method.
         * @see                 IEnumerator
-        * @see                 IMapEnumerator
         */
        virtual IMapEnumerator* GetMapEnumeratorN(void) const = 0;