Sync with tizen_2.2.1
authorSunwook Bae <sunwook45.bae@samsung.com>
Tue, 10 Dec 2013 06:03:41 +0000 (15:03 +0900)
committerSunwook Bae <sunwook45.bae@samsung.com>
Tue, 10 Dec 2013 06:03:41 +0000 (15:03 +0900)
Change-Id: I26374c3561d51a67bca476de039f296c0ded570a
Signed-off-by: Sunwook Bae <sunwook45.bae@samsung.com>
112 files changed:
CMakeLists.txt
inc/FBase.h
inc/FBaseBigInteger.h [new file with mode: 0644]
inc/FBaseBoolean.h
inc/FBaseBuffer.h
inc/FBaseBufferBase.h
inc/FBaseByteBuffer.h
inc/FBaseCharacter.h
inc/FBaseColAllElementsDeleter.h
inc/FBaseColArrayList.h
inc/FBaseColArrayListT.h
inc/FBaseColHashMap.h
inc/FBaseColHashMapT.h
inc/FBaseColIBidirectionalEnumerator.h
inc/FBaseColICollection.h
inc/FBaseColICollectionT.h
inc/FBaseColIComparer.h
inc/FBaseColIEnumerator.h
inc/FBaseColIHashCodeProvider.h
inc/FBaseColIList.h
inc/FBaseColIListT.h
inc/FBaseColIMap.h
inc/FBaseColIMapEnumerator.h
inc/FBaseColIMapEnumeratorT.h
inc/FBaseColIMapT.h
inc/FBaseColIMultiMap.h
inc/FBaseColIMultiMapT.h
inc/FBaseColIteratorT.h
inc/FBaseColLinkedList.h
inc/FBaseColLinkedListT.h
inc/FBaseColMultiHashMap.h
inc/FBaseColMultiHashMapT.h
inc/FBaseColPairIteratorT.h
inc/FBaseColQueue.h
inc/FBaseColQueueT.h
inc/FBaseColRandomIteratorT.h
inc/FBaseColStack.h
inc/FBaseColStackT.h
inc/FBaseColStlConverter.h
inc/FBaseDateTime.h
inc/FBaseDouble.h
inc/FBaseDoubleComparer.h
inc/FBaseDoubleMatrix.h
inc/FBaseDoubleMatrix3.h
inc/FBaseDoubleMatrix4.h
inc/FBaseErrors.h
inc/FBaseFloat.h
inc/FBaseFloatComparer.h
inc/FBaseFloatMatrix.h
inc/FBaseFloatMatrix3.h
inc/FBaseFloatMatrix4.h
inc/FBaseImmutableString.h [new file with mode: 0644]
inc/FBaseInt8.h
inc/FBaseInt8Comparer.h
inc/FBaseIntMatrix.h
inc/FBaseInteger.h
inc/FBaseInteger8.h [new file with mode: 0644]
inc/FBaseInteger8Comparer.h [new file with mode: 0644]
inc/FBaseIntegerComparer.h
inc/FBaseLong.h
inc/FBaseLongComparer.h
inc/FBaseLongLong.h
inc/FBaseLongLongComparer.h
inc/FBaseNumber.h
inc/FBaseObject.h
inc/FBaseRtEvent.h
inc/FBaseShort.h
inc/FBaseUtilRegularExpression.h
inc/unique_ptr.hpp
osp-appfw.manifest
packaging/osp-appfw.changes [new file with mode: 0644]
packaging/osp-appfw.manifest [new file with mode: 0644]
packaging/osp-appfw.spec [changed mode: 0644->0755]
src/CMakeLists.txt
src/app/inc/FApp_Types.h
src/appfw/CMakeLists.txt
src/base/CMakeLists.txt
src/base/FBaseDouble.cpp
src/base/FBaseFloat.cpp
src/base/FBaseImmutableString.cpp [new file with mode: 0644]
src/base/FBaseInt8.cpp
src/base/FBaseInteger.cpp
src/base/FBaseInteger8.cpp [new file with mode: 0755]
src/base/FBaseInteger8Comparer.cpp [new file with mode: 0644]
src/base/FBaseLong.cpp
src/base/FBaseLongLong.cpp
src/base/FBaseObject.cpp
src/base/FBaseResult.cpp
src/base/FBaseShort.cpp
src/base/FBaseString.cpp
src/base/FBase_LocalizedNumParser.cpp
src/base/FBase_NumberUtil.cpp [new file with mode: 0644]
src/base/FBase_NumberUtil.h [new file with mode: 0644]
src/base/FBase_StringBuffer.cpp [new file with mode: 0644]
src/base/collection/FBaseColArrayList.cpp
src/base/collection/FBaseColLinkedList.cpp
src/base/inc/FBaseRt_Event.h [changed mode: 0755->0644]
src/base/inc/FBase_LocalizedNumParser.h
src/base/inc/FBase_StringBuffer.h [new file with mode: 0644]
src/base/runtime/FBaseRt_Event.cpp [changed mode: 0755->0644]
src/base/runtime/FBaseRt_EventManager.cpp
src/base/runtime/FBaseRt_MainThreadImpl.cpp
src/base/runtime/FBaseRt_ThreadImpl.cpp
src/base/runtime/FBaseRt_ThreadImpl.h
src/base/utility/FBaseUtil_RegularExpressionImpl.cpp
src/server/system/CMakeLists.txt
src/system-server/device/FSys_DeviceManager.cpp [new file with mode: 0644]
src/system-server/inc/FSys_DeviceManager.h [new file with mode: 0644]
src/system-server/inc/FSys_PowerManager.h [new file with mode: 0644]
src/system-server/inc/FSys_RuntimeInfo.h [new file with mode: 0644]
src/system-server/power/FSys_PowerManager.cpp [new file with mode: 0644]
src/system-server/runtime/FSys_RuntimeInfo.cpp [new file with mode: 0644]

index 1d9fa9b..b9b47ce 100644 (file)
@@ -40,6 +40,11 @@ INSTALL(DIRECTORY ${LIBRARY_OUTPUT_PATH}/ DESTINATION lib/osp
                PERMISSIONS OWNER_EXECUTE OWNER_WRITE OWNER_READ
                     GROUP_EXECUTE GROUP_READ
                     WORLD_EXECUTE WORLD_READ)
+INSTALL(DIRECTORY ${LIBRARY_OUTPUT_PATH}/ DESTINATION lib/osp
+               FILES_MATCHING PATTERN "libosp-newlib.so*"
+               PERMISSIONS OWNER_EXECUTE OWNER_WRITE OWNER_READ
+                    GROUP_EXECUTE GROUP_READ
+                    WORLD_EXECUTE WORLD_READ)
 INSTALL(DIRECTORY ${LIBRARY_OUTPUT_PATH}/ DESTINATION lib/osp-server
                FILES_MATCHING PATTERN "libosp-appfw-server.so*"
                PERMISSIONS OWNER_EXECUTE OWNER_WRITE OWNER_READ
@@ -50,11 +55,6 @@ INSTALL(DIRECTORY ${LIBRARY_OUTPUT_PATH}/ DESTINATION lib/osp-server
                PERMISSIONS OWNER_EXECUTE OWNER_WRITE OWNER_READ
                     GROUP_EXECUTE GROUP_READ
                     WORLD_EXECUTE WORLD_READ)
-INSTALL(DIRECTORY ${LIBRARY_OUTPUT_PATH}/debug/ DESTINATION lib/osp/debug
-               FILES_MATCHING PATTERN "*" PATTERN "libosp-*-server.so*" EXCLUDE
-               PERMISSIONS OWNER_EXECUTE OWNER_WRITE OWNER_READ
-                                       GROUP_EXECUTE GROUP_READ
-                                       WORLD_EXECUTE WORLD_READ)
 
 INSTALL(DIRECTORY ${CMAKE_SOURCE_DIR}/res/common/opt/usr/etc DESTINATION ../opt/usr)
 INSTALL(DIRECTORY ${CMAKE_SOURCE_DIR}/res/common/usr/bin DESTINATION ../usr)
index 0918b77..60ea477 100644 (file)
 #include <FBaseBoolean.h>
 #include <FBaseInt8.h>
 #include <FBaseInteger.h>
+#include <FBaseInteger8.h>
 #include <FBaseShort.h>
 #include <FBaseLong.h>
 #include <FBaseLongLong.h>
 #include <FBaseFloat.h>
 #include <FBaseDouble.h>
 #include <FBaseString.h>
+#include <FBaseImmutableString.h>
 #include <FBaseInt8Comparer.h>
 #include <FBaseIntegerComparer.h>
+#include <FBaseInteger8Comparer.h>
 #include <FBaseShortComparer.h>
 #include <FBaseLongComparer.h>
 #include <FBaseLongLongComparer.h>
diff --git a/inc/FBaseBigInteger.h b/inc/FBaseBigInteger.h
new file mode 100644 (file)
index 0000000..395486e
--- /dev/null
@@ -0,0 +1,838 @@
+//
+// Copyright (c) 2013 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.
+// You may obtain a copy of the License at
+//
+//     http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+/**
+ * @file       FBaseBigInteger.h
+ * @brief      This is the header file for the %BigInteger class.
+ *
+ * @since 3.0
+ * @final      This class is not intended for extension.
+ *
+ * This header file contains the declarations of the %BigInteger class.
+ */
+
+#ifndef _FBASE_BIG_INTEGER_H_
+#define _FBASE_BIG_INTEGER_H_
+
+#include <FBaseObject.h>
+
+
+namespace Tizen { namespace Base { namespace Collection
+{
+       class ArrayList;
+}}}
+
+
+namespace Tizen { namespace Base
+{
+class ImmutableString;
+class _BigIntegerImpl;
+class BigInteger;
+
+class _OSP_EXPORT_ BigInteger
+       : public Object
+{
+public:
+       enum PrimeNumberResult
+       {
+               DEFINITELY_COMPOSITE = 0,
+               PROBABLY_PRIME = 1,
+               DEFINITELY_PRIME = 2
+       };
+
+       struct QuotientAndRemainder
+       {
+               BigInteger* quotient;
+               BigInteger* remainder;
+       };
+
+public:
+       /**
+        * Initializes %BigInteger instance with a random value in the range 0 to 2^numBits - 1.
+        *
+        * @since 3.0
+        *
+        * @param[in]   numBits Number of bits
+        *
+        */
+       explicit BigInteger(int numBits);
+
+       /**
+        * Initializes %BigInteger instance with @signed @long @long value.
+        *
+        * @since 3.0
+        *
+        * @param[in]   value   64-bit @signed @long @long value
+        *
+        */
+       explicit BigInteger(int64_t value);
+
+       /**
+        * Initializes %BigInteger instance with null-terminated C string representing a numeric value.
+        *
+        * @since 3.0
+        *
+        * @param[in]   value   Null-terminated C string representing a numeric value.
+        *
+        * @remarks     -This method accepts only string representing integer value. Decimal separators are not allowed in the input string.
+        *              -This method accepts binary, decimal, hexadecimal, and octal numbers given by the following grammar.
+        *
+        * @code
+        *
+        *      Sign[opt] DecimalNumeral
+        *      Sign[opt] 0b BinaryDigits
+        *      Sign[opt] 0B BinaryDigits
+        *      Sign[opt] 0 OctalDigits
+        *      Sign[opt] 0x HexDigits
+        *      Sign[opt] 0X HexDigits
+        *
+        * @endcode
+        *              -The object is not fully constructed if the input string is not parseable. It sets the exception.
+        *              -GetLastResult() should be called to retrieve the last set exception
+        *              -The behavior of this constructor is not  dependent on the system default locale setting.
+        *
+        * @exception   E_SUCCESS       The method is successful.
+        * @exception   E_NUM_FORMAT    The specified string does not represent valid binary, octal, decimal or hexadecimal number, or
+        *                              The specified string contains decimal separator which represent a floating point number.
+        */
+       explicit BigInteger(const char* pStr);
+
+       /**
+        * Initializes %BigInteger instance with null-terminated C string with given radix
+        *
+        * @since 3.0
+        *
+        * @param[in]   value   Null-terminated C string representing a numeric value.
+        * @param[in]   radix   The radix of the string representing a numeric value @n
+        *                      Radix value range is from 2 to 36.
+        *
+        * @remarks     -This method accepts only string representing integer value. Decimal separators are not allowed in the input string.
+        *
+        * Following examples explains the string representation for some of the radix
+        *
+        * @code
+        *
+        *      BigInteger bigInt1("101010100", 2); // Radix 2 representation of decimal number 340
+        *
+        *      BigInteger bigInt2("20112", 3); // Radix 3 representation of decimal number 176
+        *
+        *      BigInteger bigInt3("1230321", 4); // Radix 4 representation of decimal number 6969
+        *
+        *      BigInteger bigInt4("4231034", 5); // Radix 5 representation of decimal number 70769
+        *
+        * @endcode
+        *
+        *              -The object is not fully constructed if the input string is not parseable. It sets the exception.
+        *              -GetLastResult() should be called to retrieve the last set exception
+        *              -The behavior of this constructor is not  dependent on the system default locale setting.
+        *
+        * @exception   E_SUCCESS       The method is successful.
+        * @exception   E_NUM_FORMAT    The specified string does not represent valid binary, octal, decimal or hexadecimal number, or
+        *                              The specified string contains decimal separator which represent a floating point number.
+        * @exception   E_OUT_OF_RANGE  The specified radix is not in between 2 to 36.
+        */
+       BigInteger(const char* pStr, int radix);
+
+       /**
+        * Initializes %BigInteger instance with String representing a numeric value.
+        *
+        * @since 3.0
+        *
+        * @param[in]   value   String representing a numeric value.
+        *
+        * @remarks     -This method accepts only string representing integer value. Decimal separators are not allowed in the input string.
+        *              -This method accepts decimal, hexadecimal, and octal numbers given by the following grammar.
+        *              -The behavior of this constructor is not  dependent on the system default locale setting.
+        *
+        * @code
+        *
+        *      Sign[opt] DecimalNumeral
+        *      Sign[opt] 0b BinaryDigits
+        *      Sign[opt] 0B BinaryDigits
+        *      Sign[opt] 0 OctalDigits
+        *      Sign[opt] 0x HexDigits
+        *      Sign[opt] 0X HexDigits
+        *
+        * @endcode
+        *
+        *              -The object is not fully constructed if the input string is not parseable. It sets the exception.
+        *              -GetLastResult() should be called to retrieve the last set exception
+        *
+        * @exception   E_SUCCESS       The method is successful.
+        * @exception   E_NUM_FORMAT    The specified string does not represent valid binary, octal, decimal or hexadecimal number, or
+        *                              The specified string contains decimal separator which represent a floating point number.
+        */
+       explicit BigInteger(const ImmutableString& str);
+
+       /**
+        * Initializes %BigInteger instance with String with given radix
+        *
+        * @since 3.0
+        *
+        * @param[in]   value   String representing a numeric value.
+        * @param[in]   radix   The radix of the string representing a numeric value @n
+        *                      Radix value range is from 2 to 36.
+        *
+        * @remarks     -This method accepts only string representing integer value. Decimal separators are not allowed in the input string.
+        *              -The behavior of this constructor is not  dependent on the system default locale setting.
+        *
+        * Following examples explains the string representation for some of the radix
+        *
+        * @code
+        *
+        *      ImmutableString str1(L"CD14");
+        *      BigInteger bigInt1(str1, 16); // Radix 16 representation of decimal number 52500
+        *
+        *      ImmutableString str2(L"53214");
+        *      BigInteger bigInt2(str1, 6); // Radix 6 representation of decimal number 7210
+        *
+        *      ImmutableString str3(L"632456");
+        *      BigInteger bigInt3(str1, 7); // Radix 7 representation of decimal number 108968
+        *
+        *      ImmutableString str4(L"5746321");
+        *      BigInteger bigInt4(str1, 8); // Radix 8 representation of decimal number 1559761
+        *
+        * @endcode
+        *
+        *              -The object is not fully constructed if the input string is not parseable. It sets the exception.
+        *              -GetLastResult() should be called to retrieve the last set exception
+        *
+        * @exception   E_SUCCESS       The method is successful.
+        * @exception   E_NUM_FORMAT    The specified string does not represent valid binary, octal, decimal or hexadecimal number, or
+        *                              The specified string contains decimal separator which represent a floating point number.
+        * @exception   E_OUT_OF_RANGE  The specified radix is not in between 2 to 36.
+        */
+       BigInteger(const ImmutableString& str, int radix);
+
+       /*
+        * Copying of objects using this copy constructor is allowed.
+        *
+        * @since 3.0
+        *
+        * @param[in]   value   An instance of %BigInteger
+        */
+       BigInteger(const BigInteger& bigInt);
+
+       /**
+        * This destructor overrides Tizen::Base::Object::~Object().
+        *
+        * @since 3.0
+        *
+        * @remarks     The internally allocated memory block is freed when the instance is destroyed.
+        */
+       virtual ~BigInteger();
+
+       /**
+        * Calculates absolute value of the calling %BigInteger instance and returns a new %BigInteger instance containing absolute value.
+        *
+        * @since 3.0
+        *
+        * @return      New %BigInteger instance.
+        *
+        */
+       BigInteger Absolute(void) const;
+
+       /**
+        * Adds value of the calling %BigInteger instance with value of specified %BigInteger rhs instance
+        * and returns a new %BigInteger instance whose value is this + rhs.
+        *
+        * @since 3.0
+        *
+        * @param[in]   rhs     Value to add with calling %BigInteger instance.
+        *
+        * @return      A new %BigInteger instance containing this + rhs value.
+        *
+        */
+       BigInteger Add(const BigInteger& rhs) const;
+
+       /**
+        * Performs binary And of value of the calling %BigInteger instance with value of specified %BigInteger rhs instance
+        * and returns a new %BigInteger instance whose value is this & rhs.
+        *
+        * @since 3.0
+        *
+        * @param[in]   rhs     Value to and with calling %BigInteger instance.
+        *
+        * @return      A new %BigInteger instance containing this & rhs value.
+        *
+        */
+       BigInteger And(const BigInteger& rhs) const;
+
+       /**
+        * Performs binary complement of value of specified %BigInteger rhs instance and And'ed with value of calling %BigInteger instance
+        * and returns a new %BigInteger instance whose value is this & ~rhs.
+        *
+        * @since 3.0
+        *
+        * @param[in]   rhs     Value is complemented and AND with calling %BigInteger instance.
+        *
+        * @return      A new %BigInteger instance containing this & ~rhs value.
+        *
+        */
+       BigInteger AndNot(const BigInteger& rhs) const;
+
+       /**
+        * Clears bit at a specified position in the calling %BigInteger instance and returns a new %BigInteger instance.
+        *
+        * @since 3.0
+        *
+        * @param[in]   bitIndex        Position where the bit has to be cleared.
+        *
+        * @return      A new %BigInteger instance.
+        *
+        * @remarks     -If the bitIndex is invalid it sets the exception.
+        *              -GetLastResult() should be called to retrieve the last set exception
+        *
+        * @exception   E_SUCCESS       The method is successful.
+        * @exception   E_OUT_OF_RANGE  The specified bitIndex is less than 0 or grater than bit length of number in binary representation.
+        */
+       BigInteger ClearBit(int bitIndex) const;
+
+       /**
+        * Compares value of calling %BigInteger instance with value of specified %BigInteger instance.
+        *
+        * @since 3.0
+        *
+        * @param[in]   value   Value to compare with calling %BigInteger instance..
+        *
+        * @return      Comparision value.
+        * @remarks
+        * 1            -If the calling %BigInteger instance value is greater than value
+        * 0            -If the calling %BigInteger instance value is equal to value
+        * -1           -If the calling %BigInteger instance value is less than value
+        *
+        */
+       int CompareTo(const BigInteger& value) const;
+
+       /**
+        * Divides value of the calling %BigInteger instance with value of specified %BigInteger rhs instance
+        * and returns a new %BigInteger instance whose value is this / rhs.
+        *
+        * @since 3.0
+        *
+        * @param[in]   rhs     Divisor,value which divides the calling %BigInteger instance.
+        *
+        * @return      A new %BigInteger instance containing this / rhs value.
+        *
+        * @remarks     -If the rhs represents a number 0 it sets the exception.
+        *              -GetLastResult() should be called to retrieve the last set exception
+        *
+        * @exception   E_SUCCESS       The method is successful.
+        * @exception   E_INVALID_ARG   The specified rhs represents number 0.
+        */
+       BigInteger Divide(const BigInteger& rhs) const;
+
+       /**
+        * Divides value of the calling %BigInteger instance with value of specified %BigInteger rhs instance
+        * and returns a struct QuotientAndRemainder containing the quotient and remainder.
+        *
+        * @since 3.0
+        *
+        * @param[in]   rhs     Divisor,value which divides the calling %BigInteger instance.
+        *
+        * @return      QuotientAndRemainder containing quotient and reminder.
+        *
+        *
+        * @remarks     -If the rhs represents a number 0 it sets the exception.
+        *              -GetLastResult() should be called to retrieve the last set exception
+        *              - User should free the memory allocated to QuotientAndRemainder member variables
+        *
+        * @exception   E_SUCCESS       The method is successful.
+        * @exception   E_INVALID_ARG   The specified rhs represents number 0.
+        *
+        */
+       QuotientAndRemainder DivideAndRemainderN(const BigInteger& rhs) const;
+
+       /**
+        * Compares whether the value of the calling %BigInteger instance is  equal to the specified object.
+        *
+        * @since 3.0
+        *
+        * @param[in]   obj     An instance of object to compare.
+        *
+        * @return      @c true if the values are equal else @c false
+        *
+        */
+       bool Equals(const Object& obj) const;
+
+       /**
+        * Flips bit at a specified position in the calling %BigInteger instance and returns a new %BigInteger instance.
+        *
+        * @since 3.0
+        *
+        * @param[in]   bitIndex        Position where the bit is flipped.
+        *
+        * @return      A new %BigInteger instance.
+        *
+        * @remarks     -If the bitIndex is invalid it sets the exception.
+        *              -GetLastResult() should be called to retrieve the last set exception
+        *
+        * @exception   E_SUCCESS       The method is successful.
+        * @exception   E_OUT_OF_RANGE  The specified bitIndex is less than 0 or grater than bit length of number in binary representation.
+        */
+       BigInteger FlipBit(int bitIndex) const;
+
+       /**
+        * Gets the number of bits set to 1 in the value of the calling %BigInteger instance.
+        *
+        * @since 3.0
+        *
+        * @return Number of bits set to 1.
+        */
+       int GetSetBitCount(void) const;
+
+       /**
+        * Gets the number of bits in the binary representation value of the calling %BigInteger instance.
+        *
+        * @since 3.0
+        *
+        * @return Number of bits in the binary representation value of %BigInteger instance.
+        */
+       int GetBitLength(void) const;
+
+       /**
+        * Gets the hash value of the calling %BigInteger instance.
+        *
+        * @since 3.0
+        *
+        * @return      The hash value of the current instance.
+        */
+       int GetHashCode(void) const;
+
+       /**
+        * Gets the lowest bit set value of the calling %BigInteger instance.
+        *
+        * @since 3.0
+        *
+        * @return      The position of the lowest bit set.
+        */
+       int GetLowestSetBit(void) const;
+
+       /**
+        * Gets the sign of the value of the calling %BigInteger instance.
+        *
+        * @since 3.0
+        *
+        * @return      The sign of the value.
+        *
+        * @remarks
+        * -1   -If the value < 0
+        * 0    -If the value == 0
+        * 1    -If the value > 0
+        */
+       int GetSign(void) const;
+
+       /**
+        * Gets the greater common divisor of the value of calling %BigInteger instance and value of the specified %BigInteger instance
+        * and returns a new %BigInteger instance containing value of the greater common divisor.
+        *
+        * @since 3.0
+        *
+        * @param[in]   value   Value with which the greater common divisor is computed
+        *
+        * @return      A new %BigInteger instance containing value of greater common divisor.
+        *
+        * @remarks
+        * Zero is returned if the value of calling %BigInteger instance is 0 or value of the specified %BigInteger instance is 0
+        *
+        */
+       BigInteger GreaterCommonDivisor(const BigInteger& value) const;
+
+       /**
+        * Checks whether the bit at specified index in the value of calling %BigInteger instance is set.
+        *
+        * @since 3.0
+        *
+        * @param[in]   bitIndex        Position of the bit whose value is checked whether it is set.
+        *
+        * @return      A new %BigInteger instance containing value of greater common divisor.
+        *
+        * @remarks     -If the bitIndex is invalid it sets the exception.
+        *              -GetLastResult() should be called to retrieve the last set exception
+        *
+        * @exception   E_SUCCESS       The method is successful.
+        * @exception   E_OUT_OF_RANGE  The specified bitIndex is less than 0 or grater than bit length of number in binary representation.
+        */
+       bool IsBitSet(int bitIndex) const;
+
+       /**
+        * Checks whether the value of calling %BigInteger instance is probably prime.
+        *
+        * @since 3.0
+        *
+        *
+        * @return      @c true if the value if prime else @c false
+        *
+        * @remarks
+        * -returns PROBABLY_PRIME if probably prime.
+        * -returns DEFINITELY_PRIME if definitely prime.
+        * -returns DEFINITELY_COMPOSITE if definitely composite.
+        */
+       PrimeNumberResult IsProbablePrimeNumber(void) const;
+
+       /**
+        * Finds the maximum between value of the calling %BigInteger instance with value of specified %BigInteger rhs instance
+        * and returns  new %BigInteger instance containing maximum value.
+        *
+        * @since 3.0
+        *
+        * @param[in]   rhs     Value to compute the maximum with calling %BigInteger instance.
+        *
+        * @return      A new %BigInteger instance containing maximum value.
+        *
+        */
+       BigInteger Maximum(const BigInteger& rhs) const;
+
+       /**
+        * Finds the minimum between value of the calling %BigInteger instance with value of specified %BigInteger rhs instance
+        * and returns  new %BigInteger instance containing minimum value.
+        *
+        * @since 3.0
+        *
+        * @param[in]   rhs     Value to compute the minimum with calling %BigInteger instance.
+        *
+        * @return      A new %BigInteger instance containing minimum value.
+        *
+        */
+       BigInteger Minimum(const BigInteger& rhs) const;
+
+       /**
+        * Performs modulus of value of the calling %BigInteger instance and value of specified %BigInteger instance
+        * and returns a new %BigInteger instance whose value is this mod value.
+        *
+        * @since 3.0
+        *
+        * @param[in]   value   The modulas.
+        *
+        * @return      A new %BigInteger instance containing this mod value.
+        *
+        * @remarks     -If the value represents a number 0 it sets the exception.
+        *              -GetLastResult() should be called to retrieve the last set exception
+        *
+        * @exception   E_SUCCESS       The method is successful.
+        * @exception   E_INVALID_ARG   The specified value represents number 0 or number is negative.
+        *
+        * The modulus value must be positive.
+        * The result is always positive.
+        *
+        */
+       BigInteger Modulus(const BigInteger& value) const;
+
+       /**
+        * Performs 1 divided by of value of the calling %BigInteger instance and modulus with value of specified %BigInteger instance
+        * and returns a new %BigInteger instance whose value is 1/this mod value.
+        *
+        * @since 3.0
+        *
+        * @param[in]   value   The modulus.
+        *
+        * @return      A new %BigInteger instance containing 1/this mod value.
+        *
+        * @remarks     -If the value represents a number 0 it sets the exception.
+        *              -GetLastResult() should be called to retrieve the last set exception
+        *
+        * @exception   E_SUCCESS       The method is successful.
+        * @exception   E_INVALID_ARG   The specified value represents number 0 or number is negative.
+        *
+        * The modulas value must be positive.
+        * The result is always positive.
+        *
+        */
+       BigInteger ModulusInverse(const BigInteger& value) const;
+
+       /**
+        * Calculates power of value of the calling %BigInteger instance and exponent specified in value of specified %BigInteger instance
+        * and the result is moded with value specified in the modulo %BigInteger instance.
+        *
+        * @since 3.0
+        *
+        * @param[in]   exponent        The exponent.
+        * @param[in]   modulo          The modulas.
+        *
+        * @return      A new %BigInteger instance containing pow(this, exponent) mod modulo.
+        *
+        * @remarks     -If the modulo represents a number 0 it sets the exception.
+        *              -GetLastResult() should be called to retrieve the last set exception
+        *
+        * @exception   E_SUCCESS       The method is successful.
+        * @exception   E_INVALID_ARG   The specified modulo represents number 0 or modulo is negative.
+        */
+       BigInteger ModulusPower(const BigInteger& exponent, const BigInteger& modulo) const;
+
+
+       /**
+        * Multiplies value of the calling %BigInteger instance with value of specified %BigInteger rhs instance
+        * and returns a new %BigInteger instance whose value is this * rhs.
+        *
+        * @since 3.0
+        *
+        * @param[in]   rhs     Value to multiply with calling %BigInteger instance.
+        *
+        * @return      A new %BigInteger instance.
+        *
+        */
+
+       BigInteger Multiply(const BigInteger& rhs) const;
+
+       /**
+        * Negates value of the calling %BigInteger instance and returns a new %BigInteger instance whose value is -this.
+        *
+        * @since 3.0
+        *
+        * @return      A new %BigInteger instance.
+        *
+        */
+       BigInteger Negate(void) const;
+
+       /**
+        * Gets the next probable prime number from the calling %BigInteger instance
+        * and returns a new %BigInteger instance which contains next probable prime number value is -this.
+        *
+        * @since 3.0
+        *
+        * @return      A new %BigInteger instance containing next probable prime number.
+        *
+        */
+       BigInteger NextProbablePrimeNumber(void) const;
+
+
+       /**
+        * Complements, performs logical negation on each bit in the value of calling %BigInteger instance
+        * and returns a new %BigInteger instance which contains complement value.
+        *
+        * @since 3.0
+        *
+        * @return      A new %BigInteger instance containing complement value.
+        *
+        */
+       BigInteger Not(void) const;
+
+       /**
+        * Performs binary Or of value of the calling %BigInteger instance with value of specified %BigInteger rhs instance
+        * and returns a new %BigInteger instance whose value is this | rhs.
+        *
+        * @since 3.0
+        *
+        * @param[in]   rhs     Value to Or with calling %BigInteger instance.
+        *
+        * @return      A new %BigInteger instance containing this | rhs.
+        *
+        */
+       BigInteger Or(const BigInteger& rhs) const;
+
+       /**
+        * Raises value of the calling %BigInteger instance to the power of specified %BigInteger rhs instance
+        * and returns a new %BigInteger instance whose value is pow(this, exponent).
+        *
+        * @since 3.0
+        *
+        * @param[in]   exponent        Exponent value.
+        *
+        * @return      A new %BigInteger instance containing pow(this, exponent) value.
+        *
+        * @remarks     -If the exponent is negative it sets the exception.
+        *              -GetLastResult() should be called to retrieve the last set exception
+        *
+        * @exception   E_SUCCESS       The method is successful.
+        * @exception   E_INVALID_ARG   The specified exponent value is negative.
+        */
+       BigInteger Power(int exponent) const;
+
+       /**
+        * Divides value of the calling %BigInteger instance with value of specified %BigInteger rhs instance
+        * and returns a new %BigInteger instance whose value is this % rhs.
+        *
+        * @since 3.0
+        *
+        * @param[in]   rhs     Divisor,value which divides the calling %BigInteger instance.
+        *
+        * @return      A new %BigInteger instance containing this % rhs value.
+        *
+        * @remarks     -If the divisor represents a number 0 it sets the exception.
+        *              -GetLastResult() should be called to retrieve the last set exception
+        *
+        * @exception   E_SUCCESS       The method is successful.
+        * @exception   E_INVALID_ARG   The specified divisor represents number 0.
+        */
+       BigInteger Remainder(const BigInteger& divisor) const;
+
+       /**
+        * Sets bit at a specified position in the calling %BigInteger instance and returns a new %BigInteger instance.
+        *
+        * @since 3.0
+        *
+        * @param[in]   bitIndex        Position where the bit has to be set.
+        *
+        * @return      A new %BigInteger instance.
+        *
+        * @remarks     -If the bitIndex is invalid it sets the exception.
+        *              -GetLastResult() should be called to retrieve the last set exception
+        *
+        * @exception   E_SUCCESS       The method is successful.
+        * @exception   E_OUT_OF_RANGE  The specified bitIndex is less than 0 or grater than bit length of number in binary representation.
+        */
+       BigInteger SetBit(int bitIndex) const;
+
+       /**
+        * Performs Shift left of value of the calling %BigInteger instance with specified shift distance
+        * and returns a new %BigInteger instance whose value is this << shiftDistance.
+        *
+        * @since 3.0
+        *
+        * @param[in]   shiftDistance   Shift distance.
+        *
+        * @return      A new %BigInteger instance.
+        *
+        * @remarks     -If the shiftDistance is invalid it sets the exception.
+        *              -GetLastResult() should be called to retrieve the last set exception
+        *
+        * @exception   E_SUCCESS       The method is successful.
+        * @exception   E_OUT_OF_RANGE  The specified shiftDistance is less than 0 or grater than bit length of number in binary representation.
+        */
+       BigInteger ShiftLeft(int shiftDistance) const;
+
+       /**
+        * Performs Shift right of value of the calling %BigInteger instance with specified shift distance
+        * and returns a new %BigInteger instance whose value is this >> shiftDistance.
+        *
+        * @since 3.0
+        *
+        * @param[in]   shiftDistance   Shift distance.
+        *
+        * @return      A new %BigInteger instance.
+        *
+        * @remarks     -If the shiftDistance is invalid it sets the exception.
+        *              -GetLastResult() should be called to retrieve the last set exception
+        *
+        * @exception   E_SUCCESS       The method is successful.
+        * @exception   E_OUT_OF_RANGE  The specified shiftDistance is less than 0 or grater than bit length of number in binary representation.
+        */
+       BigInteger ShiftRight(int shiftDistance) const;
+
+       /**
+        * Subtracts value of the calling %BigInteger instance with value of specified %BigInteger rhs instance
+        * and returns a new %BigInteger instance whose value is this - rhs.
+        *
+        * @since 3.0
+        *
+        * @param[in]   rhs     Value to subtract with calling %BigInteger instance.
+        *
+        * @return      A new %BigInteger instance.
+        *
+        */
+       BigInteger Subtract(const BigInteger& rhs) const;
+
+       /**
+        * Gets the @c double equivalent of the current instance of %BigInteger.
+        *
+        * @since 3.0
+        *
+        * @return      The @c double equivalent of the current instance
+        *
+        * @remarks     -If the value is not in double range it sets the exception.
+        *              -When exception occurs value is set to DBL_MAX if the number is grater than 0.
+        *              -When exception occurs value is set to DBL_MIN if the number is less than 0.
+        *              -GetLastResult() should be called to retrieve the last set exception
+        *
+        * @exception   E_SUCCESS       The method is successful.
+        * @exception   E_OUT_OF_RANGE  The @cdouble value is not in between DBL_MAX and DBL_MIN range.
+        */
+       double ToDouble(void) const;
+
+       /**
+        * Gets the @c int64_t equivalent of the current instance of %BigInteger.
+        *
+        * @since 3.0
+        *
+        * @return      The @c int64_t equivalent of the current instance
+        *
+        * @remarks     -If the value is not in long long range it sets the exception.
+        *              -When exception occurs value is set to LongLong::VALUE_MAX if the number is grater than 0.
+        *              -When exception occurs value is set to LongLong::VALUE_MIN if the number is less than 0.
+        *              -GetLastResult() should be called to retrieve the last set exception
+        *
+        * @exception   E_SUCCESS       The method is successful.
+        * @exception   E_OUT_OF_RANGE  The @cint64_t value is not in between LongLong::VALUE_MAX and LongLong::VALUE_MIN range.
+        */
+       int64_t ToInt64(void) const;
+
+       /**
+        * Converts value of the calling %BigInteger instance to string representation in decimal form.
+        *
+        * @since 3.0
+        *
+        * @return      String containing the value in decimal form.
+        *
+        */
+       ImmutableString ToString(void) const;
+
+       /**
+        * Converts value of the calling %BigInteger instance to string representation in specified radix.
+        *
+        * @since 3.0
+        *
+        * @param[in]   radix   Radix used for the string representation.
+        *
+        * @return      String containing the value in specified radix.
+        *
+        * @remarks     -If radix is invalid it sets the exception.
+        *              -GetLastResult() should be called to retrieve the last set exception
+        *
+        * @exception   E_SUCCESS       The method is successful.
+        * @exception   E_OUT_OF_RANGE  The specified radix is not in between 2 to 36.
+        */
+       ImmutableString ToString(int radix) const;
+
+       /**
+        * Performs binary Xor of value of the calling %BigInteger instance with value of specified %BigInteger rhs instance
+        * and returns a new %BigInteger instance whose value is this ^ rhs.
+        *
+        * @since 3.0
+        *
+        * @param[in]   rhs     Value to Xor with calling %BigInteger instance.
+        *
+        * @return      A new %BigInteger instance containing this ^ rhs value.
+        *
+        */
+       BigInteger Xor(const BigInteger& rhs) const;
+
+
+private:
+       //
+       // This constructor is intentionally declared as private so that only the platform can create an instance.
+       //
+       // @param[in]   bigInt  An instance of %BigInteger class to copy from
+       //
+       BigInteger();
+
+       //
+       // The implementation of this copy assignment operator is intentionally blank and declared as private to prohibit copying of objects.
+       //
+       // @param[in]   list    An instance of %BigInteger
+       //
+       BigInteger& operator =(const BigInteger& bigInt);
+
+       //
+       // Overloaded constructor
+       //
+       BigInteger(_BigIntegerImpl* pImpl);
+
+private:
+       friend class _BigIntegerImpl;
+       class _BigIntegerImpl* __pImpl;
+};
+}} // Tizen::Base
+#endif //_FBASE_BIG_INTEGER_H_
index 7a40c06..7c51f03 100644 (file)
@@ -35,7 +35,7 @@ namespace Tizen { namespace Base
  *
  *     @since 2.0
  *
- * The %Boolean class wraps a boolean type value. This enables passing a boolean value to a method that only accepts an instance of the Object class.
+ * The %Boolean class wraps a bool type value. This enables passing a bool value to a method that only accepts an instance of the Object class.
  * It provides methods to convert %Boolean instances to String and %String instances to %Boolean.
  *
  * The following example demonstrates how to use the %Boolean class.
@@ -68,11 +68,11 @@ class _OSP_EXPORT_ Boolean
 {
 public:
        /**
-        *      Initializes this instance of %Boolean with the specified @c value.
+        *      Initializes this instance of the %Boolean class with the specified @c value.
         *
         *      @since 2.0
         *
-        *      @param[in]      value   The @c bool value used to initialize %Boolean
+        *      @param[in]      value   The input @c bool value to initialize the %Boolean instance
         */
        Boolean(bool value);
 
@@ -81,14 +81,14 @@ public:
         *
         *      @since 2.0
         *
-        *      @param[in]      value   An instance of %Boolean
+        *      @param[in]      value   An instance of the %Boolean class
         */
        Boolean(const Boolean& value);
 
        /**
         *      Initializes this instance of %Boolean with the specified input string. @n
-        *  If the input is "true" (ignoring cases), the object is initialized to @c true,
-        *      otherwise to @c false.
+        *  If the input is "true" (ignoring case), the object is initialized to @c true,
+        *      else @c false.
         *
         *      @since 2.0
         *
@@ -108,8 +108,8 @@ public:
         *
         *      @since 2.0
         *
-        *      @return                         @c true if the values of the objects are equal, @n
-        *                                              else @c false
+        *      @return                 @c true if the values of the objects are equal, @n
+        *                                              else @c false.
         *      @param[in]      rhs             An instance of %Boolean to compare with the current instance
         */
        bool operator ==(const Boolean& rhs) const;
@@ -119,7 +119,7 @@ public:
         *
         *      @since 2.0
         *
-        *      @return                         @c true if the values of the objects are not equal, @n
+        *      @return                 @c true if the values of the objects are not equal, @n
         *                                              else @c false
         *      @param[in]      rhs             An instance of %Boolean to compare with the current instance
         */
@@ -135,13 +135,14 @@ public:
        Boolean& operator =(const Boolean& rhs);
 
        /**
-        *      Compares the specified Object instance with the current %Boolean instance.
+        *      Converts an instance of the Object class to an instance of %Boolean and then
+        *      compares it with the calling %Boolean instance.
         *
         *      @since 2.0
         *
-        *      @return                         @c true if @c obj matches the current %Boolean instance, @n
+        *      @return                 @c true if the value of @c obj matches the value of the calling %Boolean instance, @n
         *                                              else @c false
-        *      @param[in]      obj             A reference to the Object instance to compare with the current %Boolean instance
+        *      @param[in]      obj             A reference to the Object instance to compare with the calling %Boolean instance
         *      @see                            Tizen::Base::Object::Equals()
         */
        virtual bool Equals(const Object& obj) const;
@@ -151,30 +152,30 @@ public:
         *
         *      @since 2.0
         *
-        *      @return                 The hash value of the current instance
-        *      @remarks                The two Tizen::Base::Object::Equals() instances must return the same hash value. @n
-        *                                      For better performance, the used hash function must generate a random distribution for all the inputs.
+        *      @return         The hash value of the current instance
+        *      @remarks                The two Tizen::Base::Object::Equals() instances must return the same hash value. For better performance, @n
+        *                                      the used hash function must generate a random distribution for all inputs.
         */
        virtual int GetHashCode(void) const;
 
        /**
-        *      Converts a @c bool value to an instance of %Boolean and then
-        *      compares it with the current %Boolean instance.
+        *      Converts a bool value to an instance of %Boolean and then
+        *      compares it with the calling %Boolean instance.
         *
         *      @since 2.0
         *
-        *  @return                             @c true if @c value matches the current %Boolean instance, @n
+        *  @return                     @c true if the parameter matches the calling %Boolean instance, @n
         *                                              else @c false
         *  @param[in]  value   The @c bool value to compare to this instance
         */
        bool Equals(bool value) const;
 
        /**
-        * Returns the value of the current object as @c bool.
+        * Returns the value of the calling object as @c bool.
         *
         * @since 2.0
         *
-        * @return              The value of the %Boolean instance as @c bool
+        * @return              The value of the %Boolean instance as bool
         */
        bool ToBool(void) const;
 
@@ -184,9 +185,10 @@ public:
         *      @since 2.0
         *
         *      @return         @c true if the value of the specified string is "true", @n
-        *                              else @c false
+        *                                      else @c false
         *      @param[in]      s                       An instance of String
-        *      @remarks        This method is case sensitive and accepts only lowercase strings.
+        *      @remarks        This method is case sensitive. @n
+        *                              It only accepts lowercase strings.
         *
         *      @code
         *      bool b1 = Boolean::Parse(trueString); // trueString is L"true"
@@ -202,11 +204,11 @@ public:
         *      @since 2.0
         *
         *      @return         @c true if the value of the specified string is "true", @n
-        *                              else @c false
+        *                                      else @c false
         *      @param[in]      s                               An instance of String
         *      @param[in]      caseSensitive   Set to @c true to perform a
         *                                                              case sensitive comparison of string @c s
-        *      @remarks        If @c caseSensitive is @c true, L"True" returns @c false, else it returns @c true.
+        *      @remarks        If @c caseSensitive is @c true, L"True" returns @c false, else @c true.
         *
         *  @code
         *  bool b1 = Boolean::Parse(L"True", false ); // Returns @c true
@@ -216,11 +218,11 @@ public:
        static bool Parse(const String& s, bool caseSensitive);
 
        /**
-        *      Converts the value of the current instance from @c bool to String.
+        *      Converts the value of the calling instance from @c bool to String.
         *
         *      @since 2.0
         *
-        *      @return         @c true if this instance is @c true, @n
+        *      @return @c true if this instance is @c true, @n
         *                              else @c false
         */
        String ToString(void) const;
@@ -232,9 +234,9 @@ public:
         *
         *      @since 2.0
         *
-        *      @return         @c true if the parameter is @c true, @n
+        *      @return @c true if the parameter is @c true, @n
         *                              else @c false
-        *      @param[in]      value   The @c bool value to convert to String
+        *      @param[in]      value   A @c bool value to convert to String
         */
        static String ToString(bool value);
 
index f5eb717..a3476c8 100644 (file)
@@ -18,7 +18,7 @@
  * @file               FBaseBuffer.h
  * @brief              This is the header file for the %Buffer class.
  *
- * This header file contains the declarations of the %Buffer class.
+ * This header file contains the declarations of the %Buffer classes.
  */
 #ifndef _FBASE_BUFFER_H_
 #define _FBASE_BUFFER_H_
@@ -42,7 +42,7 @@ class ByteBuffer;
  *
  * The %Buffer class represents a linear finite sequence of elements of the same type.
  * It is a means of defining an aggregation of the same type of objects, similar to an array.
- *
+ * @n
  * For more information on the class features, see <a href="../org.tizen.native.appprogramming/html/guide/base/buffer.htm">Buffer</a>.
  *
  * @see                Tizen::Base::BufferBase
@@ -120,10 +120,12 @@ class _OSP_EXPORT_ Buffer
 
 public:
        /**
-        * This is the default constructor for this class. @n
-        * After creating an instance of the %Buffer class, one of the Construct() methods must be called explicitly to initialize this instance.
+        * This is the default constructor for this class.
+        *
+        * @since 2.0
         *
-        * @since               2.0
+        * @remarks             After creating an instance of the %Buffer class, one of the Construct() methods must be called explicitly to initialize this instance.
+        * @see                         Construct()
         */
        Buffer(void)
        {
@@ -150,9 +152,8 @@ public:
         *
         * @param[in]   buffer                  The other %Buffer instance
         * @exception   E_SUCCESS               The method is successful.
-        * @exception   E_INVALID_ARG   Either of the following conditions has occured:
-        *                                                              - The specified input parameter is invalid.
-        *                                                              - The source buffer has not been constructed.
+        * @exception   E_INVALID_ARG   The specified input parameter is invalid, or
+        *                                                              the source buffer is not constructed.
         * @see                 Buffer()
         */
        result Construct(const Buffer< Type >& buffer)
@@ -193,18 +194,15 @@ public:
        * @since 2.0
        *
        * @return                       An error code
-       * @param[in]            pBuffer                         The shared buffer
+       * @param[in]            pBuffer                         The buffer which is shared
        * @param[in]            index                           The starting index of the buffer from where the first @c byte value is read
-       * @param[in]            length                          The number of bytes to read from the given buffer @n 
-       *                                                                               This is the limit of this instance.
+       * @param[in]            length                          The number of bytes to read from the given buffer @n This is a limit of this instance.
        * @param[in]            capacity                        The capacity of this instance
        * @exception       E_SUCCESS                    The method is successful.
-       * @exception       E_INVALID_ARG                Either of the following conditions has occured:
-       *                                                                               - A specified input parameter is invalid.
-       *                                                                               - The specified @c pBuffer is @c null.
-       * @exception       E_OUT_OF_RANGE               Either of the following conditions has occured:
-       *                                                                               - The specified @c index is outside the bounds of the data structure.
-       *                                                                               - The specified @c index is larger than the specified @c length.
+       * @exception       E_INVALID_ARG                A specified input parameter is invalid, or
+       *                                                                               the @c pBuffer is @c null.
+       * @exception       E_OUT_OF_RANGE               The specified @c index is outside the bounds of the data structure, or
+       *                                                                               the @c index is larger than the @c length.
        */
        result Construct(const Type* pBuffer, int index, int length, int capacity)
        {
@@ -238,13 +236,13 @@ public:
        }
 
        /**
-        * Returns a reference to the element indicated by the given @c index.
+        * This subscript operator returns the reference to the element indicated by the given @c index.
         *
         * @since 2.0
         *
         * @return              A reference to the indexed element
         * @param[in]   index   The index of the element @n
-        *                                              It must be less than the limit.
+        *                              It must be less than the limit.
         */
        Type& operator [](int index) const
        {
@@ -255,15 +253,15 @@ public:
        }
 
        /**
-        * Checks whether two %Buffer instances are equal.
+        * Overloaded equality operator to compare two %Buffer instances.
         *
         * @since 2.0
         *
-        * @return              @c true if the two %Buffer instances are equal, @n
+        * @return              @c true if the buffers being compared are equal, @n
         *                              else @c false
-        * @param[in]   buffer          The buffer to compare with the current instance of %Buffer
-        * @remarks             This method returns @c true only if the two buffers have the same number of remaining elements @n
-        *                              and the sequences of the remaining elements are equal (considered independent of their starting positions).
+        * @param[in]   buffer The buffer to compare with the current instance of %Buffer
+        * @remarks     This method returns @c true only if the two buffers have the same number of remaining elements @n
+        *                              and the two sequences of remaining elements are equal (considered independently of their starting positions).
         * @see                 Equals()
         */
        bool operator ==(const Buffer< Type >& buffer) const
@@ -291,16 +289,16 @@ public:
        }
 
        /**
-        * Checks whether two %Buffer instances are not equal.
+        * Checks whether the two %Buffer instances are not equal.
         *
         * @since 2.0
         *
-        * @return              @c true if the two %Buffer instances are not equal, @n
+        * @return              @c true if the buffers are not equal, @n
         *                              else @c false
-        * @param[in]   buffer          The buffer to compare with the current instance of %Buffer
-        * @remarks             This method returns @c false only if the two buffers have the same @n
-        *                              number of remaining elements and the sequences of the remaining elements are equal @n
-        *                              (considered independent of their starting positions).
+        * @param[in]   buffer The buffer to compare with the current instance of %Buffer
+        * @remarks     This method returns @c false only if the two buffers being compared have the same @n
+        *                              number of remaining elements and the two sequences of remaining elements are equal @n
+        *                              (considered independently of their starting positions).
         * @see                 Equals()
         */
        bool operator !=(const Buffer< Type >& buffer) const
@@ -311,30 +309,29 @@ public:
        /**
         * Copies the remaining elements of the input %Buffer instance into the current
         * %Buffer instance. @n
-        * It returns @c E_OVERFLOW if the remaining part of the current instance is smaller
+        * It returns E_OVERFLOW if the remaining part of the current instance is smaller
         * than the remaining part of the input instance.
         *
         * @since 2.0
         *
         * @return              An error code
-        * @param[in]   buffer                  The source buffer from which bytes are read @n
-        *                                                              It must not be the current instance of %Buffer.
+        * @param[in]   buffer  The source buffer from which bytes are read @n
+        *                                              It must not be the current instance of %Buffer.
         * @exception   E_SUCCESS               The method is successful.
-        * @exception   E_INVALID_ARG   Either of the following conditions has occured:
-        *                                                              - The specified input parameter is invalid.
-        *                                                              - The source buffer is same as destination buffer,
+        * @exception   E_INVALID_ARG   The specified input parameter is invalid, or
+        *                                                              the source buffer is same as destination buffer,
         *                                                              that is, the current instance of %Buffer.
-        * @exception   E_OVERFLOW              Either of the following conditions has occured:
-        *                                                              - The operation (arithmetic/casting/conversion) has caused an overflow.
-        *                                                              - The number of remaining bytes in the current buffer is less than
-        *                                                              the number of remaining bytes in the given buffer.
+        * @exception   E_OVERFLOW              The operation (arithmetic/casting/conversion) has caused an overflow. @n
+        *                                                              The number of remaining bytes of the current buffer is less than
+        *                                                              the number of remaining bytes of the given buffer.
         * @remarks     After the copy operation, the current (destination) buffer's position and the given
         *                              (source) buffer's position are incremented by the number of elements copied (the number
         *                              of remaining elements of the given buffer). @n
         *                              If the remaining part of the current instance is not less than the remaining part of the input instance,
-        *                              the effect of this method and the ReadFrom() method is the same. @n
-        *                              But when the remaining part of the current instance is less, the ReadFrom() method copies the number of remaining 
-        *                              elements of the current instance while this method returns @c E_OVERFLOW and does not transfer.
+        *                              the effect of this method and the ReadFrom() method is the same. But when the remaining part of the
+        *                              current instance is less, ReadFrom() method copies the number of remaining elements of the current
+        *                              instance while this method returns E_OVERFLOW and does not transfer.
+        * @see                 ReadFrom()
         *
         * The following example demonstrates how to use the %CopyFrom() method.
         *
@@ -402,17 +399,16 @@ public:
        }
 
        /**
-        * Reads the value of the current position in the buffer, and then increments the position. @n
-        * Provides a way to perform relative indexing and reading.
+        * Reads the value from the current position in the buffer, and then increments the position. @n
+        * Provides a way for relative indexing and reading.
         *
         * @since 2.0
         *
         * @return                      An error code
-        * @param[out]          value                   The value at the current position
+        * @param[out]          value The value at the current position
         * @exception           E_SUCCESS               The method is successful.
-        * @exception           E_UNDERFLOW             Either of the following conditions has occured:
-        *                                                                      - The operation (arithmetic/casting/conversion) has caused an underflow.
-        *                                                                      - The current position is greater than the limit.
+        * @exception           E_UNDERFLOW             The operation (arithmetic/casting/conversion) has caused an underflow. @n
+        *                                                                      The current position is greater than the limit.
         * @see                         Set()
         */
        result Get(Type& value)
@@ -425,18 +421,16 @@ public:
 
        /**
         * Reads the value at the given @c index. @n
-        * Provides a way to preform absolute indexing and reading.
+        * Provides a way for absolute indexing and reading.
         *
         * @since 2.0
         *
         * @return                      An error code
-        * @param[in]           index                   The buffer index from where the value is read
-        * @param[out]          value                   The value at the given index
-        * @exception           E_SUCCESS               The method is successful.
-        * @exception           E_OUT_OF_RANGE  Either of the following conditions has occured:
-        *                                                                      - The specified @c index is outside the bounds of the data structure.
-        *                                                                      - The specified @c index is greater than the limit.
-        *                                                                      - The specified @c index is less than @c 0.
+        * @param[in]           index The index into the buffer from where the value is read
+        * @param[out]          value The value at the given index
+        * @exception           E_SUCCESS                       The method is successful.
+        * @exception           E_OUT_OF_RANGE          The specified @c index is outside the bounds of the data structure. @n
+        *                                                                              The @c index is greater than the limit or less than @c 0.
         * @see                         Set()
         */
        result Get(int index, Type& value) const
@@ -451,25 +445,22 @@ public:
 
 
        /**
-        * Copies the specified range of values from the calling buffer to the specified @c index of the destination array.
+        * Copies the specified range of values from the calling buffer to the specified destination array as per the given @c index of the array.
         *
         * @since 2.0
         *
         * @return              An error code
-        * @param[out]  pArray                          A pointer to the array into which the values are written
-        * @param[in]   index                           The starting index in the array where the first value is written
-        * @param[in]   length                          The number of values to write from the buffer to the array
+        * @param[out]  pArray  A pointer to the array into which values are written
+        * @param[in]   index   The starting index in the array of the first value to write
+        * @param[in]   length  The number of values from the buffer to write to the array
         * @exception   E_SUCCESS                       The method is successful.
-        * @exception   E_INVALID_ARG           Either of the following conditions has occured:
-        *                                                                      - A specified input parameter is invalid.
-        *                                                                      - The specified @c pArray is @c null.
-        * @exception   E_OUT_OF_RANGE          Either of the following conditions has occured:
-        *                                                                      - The specified @c index is outside the bounds of the data structure.
-        *                                                                      - The specified @c index or @c length is less than @c 0.
-        * @exception   E_UNDERFLOW                     Either of the following conditions has occured:
-        *                                                                      - The operation (arithmetic/casting/conversion) has caused an underflow.
-        *                                                                      - The remaining elements of this buffer are smaller than the specified @c length.
-        * @remarks             After the copy operation, the position is incremented by @c length.
+        * @exception   E_INVALID_ARG           A specified input parameter is invalid, or
+        *                                                                      the @c pArray is @c null.
+        * @exception   E_OUT_OF_RANGE          The specified index is outside the bounds of the data structure, or
+        *                                                                      the @c index or length is less than @c 0.
+        * @exception   E_UNDERFLOW                     The operation (arithmetic/casting/conversion) has caused an underflow. @n
+        *                                                                      The remaining elements of this buffer are smaller than @c length.
+        * @remarks     After the copy operation, the position is incremented by @c length.
         * @see                 SetArray()
         */
        result GetArray(Type* pArray, int index, int length)
@@ -487,27 +478,26 @@ public:
 
        /**
         * Transfers bytes from the input buffer into the calling buffer. @n
-        * If the empty space in the calling buffer is larger than the remaining values of the input buffer,
-        * then all the remaining elements from the input are copied to the destination. @n
+        * If the empty space in the calling buffer is larger than the remaining values from the input buffer,
+        * all the remaining elements from the input are copied to the destination. @n
         * Otherwise, the number of bytes copied equals the number of elements remaining in the calling buffer.
         *
         * @since 2.0
         *
         * @return              An error code
-        * @param[in]   buffer                  The source buffer from where the bytes are read @n
-        *                                                              It must not be this buffer.
+        * @param[in]   buffer  The source buffer from where the bytes are read @n
+        *                                              It must not be this buffer.
         * @exception   E_SUCCESS               The method is successful.
-        * @exception   E_INVALID_ARG   Either of the following conditions has occured:
-        *                                                              - The specified input parameter is invalid.
-        *                                                              - The given buffer is same as the current buffer instance.
+        * @exception   E_INVALID_ARG   The specified input parameter is invalid. @n
+        *                                                              The given buffer is same as the current buffer instance.
         * @remarks     After the copy operation, the current (destination) buffer's position and the given
-        *                              (source) buffer's position are incremented by the number of elements copied (the smaller value
+        *                              (source) buffer's position are  incremented by the number of elements copied (the smaller value
         *                              between the number of elements remaining in the calling buffer and the source buffer). @n
-        *                              If there are more elements remaining in the calling buffer than the elements remaining in the input instance,
-        *                              then this method is equivalent to the CopyFrom() method. @n
-        *                              If there are less elements remaining in the calling buffer, then the %CopyFrom() method 
-        *                              returns @c E_OVERFLOW and does not transfer, while this method copies the number of remaining elements 
-        *                              of the current instance.
+        *                              If there are more elements remaining in the calling buffer than elements remaining in the input instance,
+        *                              this method is equivalent to CopyFrom() method. If there are less remaining elements in the
+        *                              calling buffer, the %CopyFrom() method returns @c E_OVERFLOW and does not transfer
+        *                              while this method copies the number of remaining elements of the current instance.
+        * @see                 CopyFrom()
         *
         * The following example demonstrates how to use the %ReadFrom() method.
         *
@@ -585,16 +575,15 @@ public:
        /**
         * Writes the specified @c value into the current buffer instance at the current position,
         * and then increments the position. @n
-        * Provides a way to perform relative indexing and writing.
+        * Provides a way for relative indexing and writing.
         *
         * @since 2.0
         *
         * @return              An error code
-        * @param[in]   value           The value to write into the calling %Buffer
+        * @param[in]   value           The value to write to the calling %Buffer
         * @exception   E_SUCCESS               The method is successful.
-        * @exception   E_OVERFLOW              Either of the following conditions has occured:
-        *                                                              - The operation (arithmetic/casting/conversion) has caused an overflow.
-        *                                                              - The current position is not smaller than the limit.
+        * @exception   E_OVERFLOW              The operation (arithmetic/casting/conversion) has caused an overflow. @n
+        *                                                              The current position is not smaller than the limit.
         * @see                 Get()
         */
        result Set(Type value)
@@ -606,19 +595,17 @@ public:
        }
 
        /**
-        * Writes the specified @c value into the current instance of the buffer at the given @c index. @n
-        * Provides a way to perform absolute indexing and writing.
+        * Writes the specified @c value into the current instance of buffer at the given @c index. @n
+        * Provides a way for absolute indexing and writing.
         *
         * @since 2.0
         *
         * @return              An error code
-        * @param[in]   index                           The index at which the value is written
-        * @param[in]   value                           The value to write
+        * @param[in]   index   The index at which the value is written
+        * @param[in]   value   The value to write
         * @exception   E_SUCCESS           The method is successful.
-        * @exception   E_OUT_OF_RANGE          Either of the following conditions has occured:
-        *                                                                      - The specified index is outside the bounds of the data structure.
-        *                                                                      - The specified @c index is not smaller than the limit.
-     *                                                                 - The specified @c index is less than @c 0.
+        * @exception   E_OUT_OF_RANGE          The specified index is outside the bounds of the data structure, or
+        *                                                                      the @c index is not smaller than the limit or less than @c 0.
         * @see                 Get()
         */
        result Set(int index, Type value)
@@ -637,21 +624,19 @@ public:
         * @since 2.0
         *
         * @return              An error code
-        * @param[in]   pArray                          A pointer to the array from where the values are read
-        * @param[in]   index                           The starting index of the array
-        * @param[in]   length                          The number of values read from the given array
+        * @param[in]   pArray          A pointer to the array from where the values are read
+        * @param[in]   index           The starting index of the array
+        * @param[in]   length          The number of values read from the given array
         * @exception   E_SUCCESS                       The method is successful.
-        * @exception   E_INVALID_ARG           Either of the following conditions has occured:
-        *                                                                      - A specified input parameter is invalid.
-        *                                                                      - The specified @c pArray is @c null.
-        * @exception   E_OUT_OF_RANGE          Either of the following conditions has occured:
-        *                                                                      - The specified @c index is outside the bounds of the data structure.
-        *                                                                      - The specified @c index or @c length is less than @c 0.
-        * @exception   E_OVERFLOW                      Either of the following conditions has occured:
-        *                                                                      - The operation (arithmetic/casting/conversion) has caused an overflow.
-        *                                                                      - The remainder of this buffer is smaller than the specified @c length.
-        * @remarks     This method copies @c length number of values starting from the given @c index of the source array,
-        *                              into the calling buffer, starting from the current position. @n
+        * @exception   E_INVALID_ARG           A specified input parameter is invalid, or
+        *                                                                      the @c pArray is @c null.
+        * @exception   E_OUT_OF_RANGE          The specified index is outside the bounds of the data structure, or
+        *                                                                      the @c index or length is less than @c 0.
+        * @exception   E_OVERFLOW                      The operation (arithmetic/casting/conversion) has caused an overflow. @n
+        *                                                                      The remainder of this buffer is smaller than @c length.
+        * @remarks     This method copies @c length number of values from the source array,
+        *                              starting from the given @c index in the array, into the calling
+        *                              buffer, starting at the current position.
         *                              After the copy operation, the position is incremented by @c length.
         * @see                 GetArray()
         */
@@ -671,12 +656,12 @@ public:
        /**
         * Creates a new %Buffer instance. @n
         * Its content is a shared portion of
-        * the calling %Buffer instance that starts from the current position of the calling %Buffer instance.
+        * the calling %Buffer instance that starts from the current position of calling %Buffer instance.
         *
         * @since 2.0
         *
-        * @return              A pointer to the new %Buffer instance
-        * @remarks     The content of the new buffer starts at the current position of this %Buffer instance. @n
+        * @return              A pointer to the new buffer
+        * @remarks     The content of the new buffer starts at the current position of this instance of %Buffer.
         *                              The new buffer's position is @c 0, its capacity and limit is
         *                              the number of bytes remaining in the current instance of %Buffer,
         *                              and it is marked as undefined.
@@ -710,16 +695,16 @@ public:
        }
 
        /**
-        * Compares the Object instance with the current %Buffer instance for equality.
+        * Compares the Object instance with the calling %Buffer instance for equivalence.
         *
         * @since 2.0
         *
-        * @return              @c true if the input equals the current %Buffer instance, @n
+        * @return              @c true if the input equals the calling %Buffer instance, @n
         *                              else @c false
-        * @param[in]   obj     The object to compare with the current %Buffer instance
-        * @remarks             This method returns @c true if and only if the specified object is also an instance of %Buffer,
+        * @param[in]   obj     The object to compare with the calling %Buffer
+        * @remarks     This method returns @c true if and only if the specified object is also an instance of %Buffer class,
         *                              the two buffers have the same number of remaining elements, and the two sequences of
-        *                              remaining elements are equal (considered independent of their starting positions).
+        *                              remaining elements are equal (considered independently of their starting positions).
         * @see                 Tizen::Base::BufferBase::GetHashCode()
         */
        virtual bool Equals(const Tizen::Base::Object& obj) const
@@ -739,7 +724,7 @@ public:
         *
         *      @since 2.0
         *
-        *      @return                 The hash value of the current instance
+        *      @return         The hash value of the current instance
         *      @remarks                The hash code of a buffer depends only upon its remaining elements.
         */
        virtual int GetHashCode(void) const
index 9858533..6a07b8e 100644 (file)
@@ -83,15 +83,14 @@ public:
        void Clear(void);
 
        /**
-        * Copies the elements between the current position and the limit (that are also known as the remaining
+        * Copies the elements between the current position and limit (that are also known as remaining
         * elements), to the beginning of the calling %BufferBase instance.
         *
         * @since 2.0
         *
         * @remarks     After copying, the position is set to the number of elements copied rather than to @c 0,
         *                              so that an invocation of this method can be followed immediately by an invocation
-        *                              of another relative set method. @n
-        *                              The limit is set to the capacity, and the mark is discarded.
+        *                              of another relative set method. The limit is set to the capacity, and the mark is discarded.
         */
        void Compact(void);
 
@@ -102,13 +101,12 @@ public:
         *
         * @since 2.0
         *
-        * @param[in]       to    The value of the buffer position to set @n
+        * @param[in]       to    The value to set the buffer position @n
         *                        The parameter may contain @c POSITION_TO_ZERO or @c POSITION_TO_MARK.
-        * @remarks     If @c to is @c POSITION_TO_ZERO (or unspecified), the position is set to @c 0 after setting a limit to
+        * @remarks     If @c to is POSITION_TO_ZERO (or unspecified), the position is set to @c 0 after setting a limit to
         *                              the current position, and the mark is discarded.
-        *                              Otherwise, if @c to is @c POSITION_TO_MARK, the position is set to the mark and
-        *                              the mark is not discarded. @n
-        *                              If the mark is undefined, the position is set to @c 0.
+        *                              Otherwise, if @c to is POSITION_TO_MARK, the position is set to the mark and
+        *                              the mark is not discarded. If the mark is undefined, the position is set to @c 0.
         *
         * The following example demonstrates how to use the %Flip() method.
         *
@@ -139,7 +137,7 @@ public:
         * @since 2.0
         *
         * @return              The hash value of the calling object
-        * @remarks             The hash code of a buffer depends only upon its remaining elements.
+        * @remarks     The hash code of a buffer depends only upon its remaining elements.
         * @see                 Tizen::Base::Object::Equals()
         */
        virtual int GetHashCode(void) const;
@@ -160,9 +158,8 @@ public:
         *
         * @return              An error code
         * @exception   E_SUCCESS                       The method is successful.
-        * @exception   E_INVALID_OPERATION Either of the following conditions has occurred:
-        *                                                                      - The current state of the instance prohibits the execution of the specified operation.
-        *                                                                      - The mark has not been set.
+        * @exception   E_INVALID_OPERATION The current state of the instance prohibits the execution of the specified operation. @n
+        *                                                                      The mark has not been set.
         * @remarks     Invoking this method neither changes nor discards the mark's value.
         */
        result Reset(void);
@@ -178,20 +175,17 @@ public:
 
        /**
         * Shifts the limit of the current instance of %BufferBase. @n
-        * The new limit is the current limit plus the given @c amount.
+        * The new limit is the current limit plus the given amount.
         *
         * @since 2.0
         *
         * @return              An error code
-        * @param[in]   amount                          The quantity of the shift needed
+        * @param[in]   amount  The quantity of shift needed
         * @exception   E_SUCCESS                       The method is successful.
-        * @exception   E_OUT_OF_RANGE          Either of the following conditions has occurred:
-        *                                                                      - The value of the argument is outside the valid range defined by the method.
-        *                                                                      - The @c amount is larger than the capacity starting from the current limit.
-        *                                                                      - The @c amount is smaller than @c 0.
-        * @remarks     
-        *                              - If the position is larger than the new limit, it is set to the new limit.
-        *                              - If the mark is defined and is larger than the new limit, it is discarded.
+        * @exception   E_OUT_OF_RANGE          The value of an argument is outside the valid range defined by the method. @n
+        *                                                                      The @c amount is larger than the capacity or smaller than @c 0 starting from the current limit.
+        * @remarks     If the position is larger than the new limit, it is set to the new limit.
+        *                              If the mark is defined and larger than the new limit, it is discarded.
         * @see                 SetLimit()
         */
        result ShiftLimit(int amount);
@@ -201,7 +195,7 @@ public:
         *
         * @since 2.0
         *
-        * @return              The capacity of the calling %BufferBase instance
+        * @return              The capacity of the calling object
         */
        int GetCapacity(void) const;
 
@@ -211,7 +205,7 @@ public:
         *
         * @since 2.0
         *
-        * @return                      The limit of the calling %BufferBase instance
+        * @return                      The limit of the calling object
         * @see                         SetLimit()
         */
        int GetLimit(void) const;
@@ -258,15 +252,12 @@ public:
         * @since 2.0
         *
         * @return              An error code
-        * @param[in]   limit                           The limit of the calling %BufferBase instance
+        * @param[in]   limit                           The new limit
         * @exception   E_SUCCESS                       The method is successful.
-        * @exception   E_OUT_OF_RANGE          Either of the following conditions has occurred:
-        *                                                                      - The value of the argument is outside the valid range defined by the method.
-        *                                                                      - The specified @c limit is larger than the capacity.
-        *                                                                      - The specified @c limit is less than @c 0.
-        * @remarks
-        *                              - If the position is larger than the new limit, it is set to the new limit.
-        *                              - If the mark is defined and is larger than the new limit, it is discarded.
+        * @exception   E_OUT_OF_RANGE          The value of an argument is outside the valid range defined by the method. @n
+        *                                                                      The @c limit is larger than the capacity or less than @c 0.
+        * @remarks     If the position is larger than the new limit, it is set to the new limit.
+        *                              If the mark is defined and larger than the new limit, it is discarded.
         * @see                 GetLimit()
         */
        result SetLimit(int limit);
@@ -274,9 +265,9 @@ public:
 
        /**
         * Sets the mark of the current instance of %BufferBase at the current position. @n
-        * If this method is called after the InvalidateMark() method , the mark is set to @c -1.
+        * If this method is called after InvalidateMark(), the mark is set to @c -1.
         *
-        * @since               2.0
+        * @since 2.0
         *
         * @see                 GetMark()
         */
@@ -289,38 +280,36 @@ public:
         * @since 2.0
         *
         * @return              An error code
-        * @param[in]   position                        The position of the calling %BufferBase instance
+        * @param[in]   position                        The new position
         * @exception   E_SUCCESS                       The method is successful.
-        * @exception   E_OUT_OF_RANGE          Either of the following conditions has occurred:
-        *                                                                      - The value of the argument is outside the valid range defined by the method.
-        *                                                                      - The specified @c position is larger than the current limit.
-        *                                                                      - The specified @c position is less than @c 0.
-        * @remarks             If the mark is defined and is larger than the new position then it is discarded.
+        * @exception   E_OUT_OF_RANGE          The value of an argument is outside the valid range defined by the method. @n
+        *                                                                      The @c position is larger than the current limit or less than @c 0.
+        * @remarks     If the mark is defined and larger than the new position then it is discarded.
         * @see                 GetPosition()
         */
        result SetPosition(int position);
 
        /**
         * Returns @c true if there is at least one element between the current position and
-        * the limit of the current %BufferBase instance. Otherwise, it returns @c false.
+        * the limit of the current instance of %BufferBase. Otherwise, it returns @c false.
         *
         * @since 2.0
         *
-        * @return              @c true if there is at least one element between the current position and the limit of the current %BufferBase instance, @n
+        * @return              @c true if there is at least one element between the current position and the limit of the current instance of %BufferBase, @n
         *                              else @c false
         * @see                 GetRemaining()
         */
        bool HasRemaining(void) const;
 
        /**
-        * Expands the capacity and the limit of the internal buffer with the specified @c newCapacity.
+        * Expands the capacity and the limit of the internal buffer with the specified capacity.
         *
         * @since 2.0
         *
         * @return              An error code
         * @param[in]   newCapacity             The new capacity of this instance
         * @exception   E_SUCCESS               The method is successful.
-        * @exception   E_INVALID_ARG   The specified @c newCapacity is less than the current capacity.
+        * @exception   E_INVALID_ARG   The specified @c capacity is less than the current capacity.
         * @remarks     After calling this method, the address of the internal buffer may be either the same or a new location.
         */
        result ExpandCapacity(int newCapacity);
@@ -397,7 +386,7 @@ protected:
                virtual ~_BufferData(void);
 
                //
-               // Gets a pointer to the byte array.
+               // Gets the pointer to the byte array.
                //
                // @since 2.0
                // @return              Pointer to the @c byte array
index 594667c..ad5d64d 100644 (file)
@@ -36,7 +36,7 @@ namespace Tizen { namespace Base
  *
  * @since 2.0
  *
- * The %ByteBuffer class provides a means of encapsulating a sequence of bytes in the memory. It defines
+ * The %ByteBuffer class provides a means of encapsulating a sequence of bytes in memory. It defines
  * methods to read and write all primitive built-in types (except @c bool), to and from a sequence of
  * bytes. These methods read the size of primitive type bytes from a @c byte sequence and
  * convert it to the actual primitive type.
@@ -131,12 +131,13 @@ class _OSP_EXPORT_ ByteBuffer
 
 public:
        /**
-        * The object is not fully constructed after this constructor is called. @n
+        * The object is not fully constructed after this constructor is called.
         * For full construction, the Construct() method must be called right after calling this constructor.
         *
         * @since 2.0
         *
-        * @remarks             After creating an instance of %ByteBuffer, one of the Construct() methods must be called explicitly to initialize this instance.
+        * @remarks             After creating an instance of the %ByteBuffer class, one of the Construct() methods must be called explicitly to initialize this instance.
+        * @see                         Construct()
         */
        ByteBuffer(void);
 
@@ -148,16 +149,15 @@ public:
        virtual ~ByteBuffer(void);
 
        /**
-        * Initializes this instance of %ByteBuffer which is a view of the specified @c buffer. @n
-        * This is the copy constructor of the %ByteBuffer class.
+        * Initializes this instance of %ByteBuffer which is a view of the specified buffer. @n
+        * This is the copy constructor for the %ByteBuffer class.
         *
         * @since 2.0
         *
-        * @param[in]   buffer          The %ByteBuffer instance used to initialize the new object
+        * @param[in]   buffer          The %ByteBuffer instance used to initialize new object
         * @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 source buffer has not been constructed.
+        * @exception   E_INVALID_ARG   A specified input parameter is invalid, or
+        *                                                              the source buffer is not constructed.
         * @see                                                 ByteBuffer()
         */
        result Construct(const ByteBuffer& buffer);
@@ -170,9 +170,8 @@ public:
         * @return              An error code
         * @param[in]   capacity                The number of elements
         * @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 specified @c capacity is negative.
+        * @exception   E_INVALID_ARG   A specified input parameter is invalid, or
+        *                                              the specified @c capacity is negative.
         * @see                                                 ByteBuffer()
         */
        result Construct(int capacity);
@@ -183,25 +182,22 @@ public:
        * @since 2.0
        *
        * @return                       An error code
-       * @param[in]            pBuffer                         The shared buffer
+       * @param[in]            pBuffer                         The buffer which is shared
        * @param[in]            index                           The starting index of the buffer from where the first @c byte value is read
-       * @param[in]            length                          The number of bytes to read from the given buffer @n 
-       *                                                                               This is the limit of this instance.
+       * @param[in]            length                          The number of bytes to read from the given buffer @n This is a limit of this instance.
        * @param[in]            capacity                        The capacity of this instance
        * @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 specified @c pBuffer is @c null.
-       * @exception       E_OUT_OF_RANGE               Either of the following conditions has occurred:
-       *                                                                               - The specified @c index is outside the bounds of the data structure.
-       *                                                                               - The specified @c index is larger than or equal to the specfied @c capacity.
+       * @exception            E_INVALID_ARG           A specified input parameter is invalid, or
+       *                                                                               the @c pBuffer is @c null.
+       * @exception       E_OUT_OF_RANGE       The specified index is outside the bounds of the data structure, or
+       *                                                                               the @c index is larger than the @c length.
        */
        result Construct(const byte* pBuffer, int index, int length, int capacity);
 
        /**
-        * Gets a reference to the @c byte value at the specified @c index.
+        * Gets the reference to the byte value at the specified index.
         *
-        * @since               2.0
+        * @since 2.0
         *
         * @return              A reference to the @c byte value
         * @param[in]   index   The index of the @c byte value in the calling %ByteBuffer instance @n
@@ -210,42 +206,42 @@ public:
        byte& operator [](int index);
 
        /**
-        * Gets the @c byte value at the specified @c index of the constant object.
+        * Gets the byte value at the specified index of const object.
         *
         * @since 2.0
         *
-        * @return              The @c byte value at the specified @c index
+        * @return              A value to the @c byte value
         * @param[in]   index   The index of the @c byte value in the calling %ByteBuffer instance @n
         *                                              It must be less than the limit.
         */
        byte operator [](int index) const;
 
        /**
-        * Compares two %ByteBuffer instances.
+        * Compares the two %ByteBuffer instances.
         *
         * @since 2.0
         *
         * @return              @c true if the input buffer is equal to the calling %ByteBuffer instance, @n
         *                              else @c false
         * @param[in]   buffer  The %ByteBuffer instance to compare with the current instance
-        * @remarks                     This method returns @c true if the two buffers have the same number of
-        *                              remaining elements, and the sequences of the remaining elements are equal
-        *                              (considered independently, irrespective of their starting positions).
+        * @remarks                     This method returns @c true only if the two buffers have the same number of
+        *                                              remaining elements, and the two sequences of remaining elements are equal
+        *                                              (considered independently, irrespective of their starting positions).
         * @see                                 Equals()
         */
        bool operator ==(const ByteBuffer& buffer) const;
 
        /**
-        * Checks whether the current instance and the specfied %ByteBuffer instance are not equal.
+        * Checks whether the current instance and the specified instance of %ByteBuffer are not equal.
         *
         * @since 2.0
         *
-        * @return              @c true if the current instance and the specified %ByteBuffer instance are not equal, @n
+        * @return              @c true if the two objects are not the same, @n
         *                              else @c false
-        * @param[in]   buffer  The %ByteBuffer instance to compare with the current instance
-        * @remarks             This method returns @c false if the two buffers have the same
-        *                              number of remaining elements, and the sequences of the remaining elements are equal
-        *                              (considered independently, irrespective of their starting positions).
+        * @param[in]   buffer  The buffer to compare with the current instance
+        * @remarks                     This method returns @c false only if the two buffers being compared have the same
+        *                                              number of remaining elements, and the two sequences of remaining elements are equal
+        *                                              (considered independently, irrespective of their starting positions).
         * @see                                 Equals()
         */
        bool operator !=(const ByteBuffer& buffer) const;
@@ -255,12 +251,11 @@ public:
         *
         * @since 2.0
         *
-        * @return              DoubleBuffer    A pointer to the current position of the calling object
-        * @remarks
-        *                              - The content of the view buffer starts at the current position of the calling buffer.
-        *                              - The new buffer's position is zero, the mark is undefined, and the capacity and limit
-        *                              are equal to the remaining part of the calling buffer divided by the size of the @c double value.
-        *                              - Any change to the byte buffer content is visible in the @c double buffer view, and vice versa.
+        * @return              DoubleBuffer A pointer to the current position of the calling object
+        * @remarks     The content of the view buffer starts at the current position of the calling buffer.
+        *                              The new buffer's position is zero, the mark is undefined, and the capacity and limit
+        *                              are equal to the remaining part of this buffer divided by the size of @c double.
+        *                              Any change to the byte buffer content is visible in the @c double buffer view, and vice versa.
         */
        DoubleBuffer* AsDoubleBufferN(void) const;
 
@@ -269,12 +264,11 @@ public:
         *
         * @since 2.0
         *
-        * @return              FloatBuffer     A pointer to the current position of the calling buffer
-        * @remarks
-        *                              - The content of the view buffer starts at the current position of the calling buffer.
-        *                              - The new buffer's position is zero, the mark is undefined, and the capacity and limit
-        *                              are equal to the remaining part of the calling buffer divided by the size of the @c float value.
-        *                              - Any change to the byte buffer content is visible in the @c float buffer view, and vice versa.
+        * @return              FloatBuffer A pointer to the current position of the calling buffer
+        * @remarks     The content of the view buffer starts at the current position of the calling buffer.
+        *                              The new buffer's position is zero, the mark is undefined, and the capacity and limit
+        *                              are equal to the remaining part of the calling buffer divided by the size of @c float.
+        *                              Any change to the byte buffer content is visible in the @c float buffer view, and vice versa.
         */
        FloatBuffer* AsFloatBufferN(void) const;
 
@@ -283,12 +277,11 @@ public:
         *
         * @since 2.0
         *
-        * @return              IntBuffer               A pointer to the current position of the calling buffer
-        * @remarks
-        *                              - The content of the view buffer starts at the current position of the calling buffer.
-        *                              - The new buffer's position is zero, the mark is undefined, and the capacity and limit
-        *                              are equal to the remaining part of the calling buffer divided by the size of the @c int value.
-        *                              - Any change to the byte buffer content is visible in the @c int buffer view, and vice versa.
+        * @return              IntBuffer A pointer to the current position of the calling buffer
+        * @remarks     The content of the view buffer starts at the current position of the calling buffer.
+        *                              The new buffer's position is zero, the mark is undefined, and the capacity and limit
+        *                              are equal to the remaining part of calling buffer divided by the size of @c int.
+        *                              Any change to the byte buffer content is visible in the Int buffer view, and vice versa.
         */
        IntBuffer* AsIntBufferN(void) const;
 
@@ -297,12 +290,11 @@ public:
         *
         * @since 2.0
         *
-        * @return              LongBuffer              A pointer to the current position of the calling buffer
-        * @remarks
-        *                              - The content of the view buffer starts at the current position of the calling buffer.
-        *                              - The new buffer's position is zero, the mark is undefined, and the capacity and limit
-        *                              are equal to the remaining part of the calling buffer divided by the size of the @c long value.
-        *                              - Any change to the byte buffer content is visible in the @c long buffer view, and vice versa.
+        * @return              LongBuffer A pointer to the current position of the calling buffer
+        * @remarks     The content of the view buffer starts at the current position of this buffer.
+        *                              The new buffer's position is zero, the mark is undefined, and the capacity and limit
+        *                              are equal to the remaining part of calling buffer divided by the size of @c long.
+        *                              Any change to the byte buffer content is visible in the @c long buffer view, and vice versa.
         */
        LongBuffer* AsLongBufferN(void) const;
 
@@ -311,12 +303,11 @@ public:
         *
         * @since 2.0
         *
-        * @return              LongLongBuffer  A pointer to the current position of the calling buffer
-        * @remarks
-        *                              - The content of the view buffer starts at the current position of the calling buffer.
-        *                              - The new buffer's position is zero, the mark is undefined, and the capacity and limit
-        *                              are equal to the remaining part of the calling buffer divided by the size of the @c long @c long value.
-        *                              - Any change to the byte buffer content is visible in the @c long @c long buffer view, and vice versa.
+        * @return              LongLongBuffer A pointer to the current position of the calling buffer
+        * @remarks     The content of the view buffer starts at the current position of this buffer.
+        *                              The new buffer's position is zero, the mark is undefined, and the capacity and limit
+        *                              are equal to the remaining part of calling buffer divided by the size of @c long.
+        *                              Any change to the byte buffer content is visible in the @c long @c long buffer view, and vice versa.
         */
        LongLongBuffer* AsLongLongBufferN(void) const;
 
@@ -324,32 +315,31 @@ public:
         * @if OSPDEPREC
         * Creates a new @c mchar buffer view of the underlying content of the byte buffer.
         *
-        * @brief               <i> [Deprecated] </i>
-        * @deprecated  This method is deprecated as @c mchar type is changed to @c wchar_t type.
-        *                              Instead of using this method, use the AsWcharBufferN() method.
+        * @brief       <i> [Deprecated] </i>
+        * @deprecated This method is deprecated as @c mchar type is changed to @c wchar_t type.
+        * Instead of using this method, use the AsWcharBufferN() method.
         * @since 2.0
         *
-        * @return              McharBuffer     A pointer to the current position of the calling buffer
-        * @remarks
-        *                              - The content of the view buffer starts at the current position of the calling buffer.
-        *                              - The new buffer's position is zero, the mark is undefined, and the capacity and limit
-        *                              are equal to the remaining part of the calling buffer divided by the size of the @c mchar value.
-        *                              - Any change to the byte buffer content is visible in the @c mchar buffer view, and vice versa.
+        * @return              McharBuffer A pointer to the current position of the calling buffer
+        * @remarks     The content of the view buffer starts at the current position of this buffer.
+        *                              The new buffer's position is zero, the mark is undefined, and the capacity and limit
+        *                              are equal to the remaining part of the calling buffer divided by the size of @c long.
+        *                              Any change to the byte buffer content is visible in the @c mchar buffer view, and vice versa.
         * @endif
         */
        McharBuffer* AsMcharBufferN(void) const;
 
        /**
-        * Creates a new @c wchar buffer view of the underlying content of the byte buffer.
+        * Creates a new wchar Buffer view of the underlying content of the byte buffer.
         *
         * @since 2.0
         *
-        * @return              WcharBuffer     A pointer to the current position of the calling buffer
-        * @remarks
-        *                              - The content of the view buffer start at the current position of the calling buffer.
-        *                              - The new buffer's position is zero, the mark is undefined, and the capacity and limit
-        *                              are equal to the remaining part of the calling buffer divided by the size of the @c wchar value.
-        *                              - Any change to the byte buffer content is visible in the @c wchar buffer view, and vice versa.
+        * @return              WcharBuffer pointer to the current position of the calling buffer
+        * @remarks     The content of the view buffer start at the current position of this buffer. @n
+        *                              The new buffer's position is zero, the mark is undefined, and the capacity and limit
+        *                              are equal to the remaining part of the calling buffer divided by the size of @c long. @n
+        *                              Any changes to the calling buffer's content (that is, the content of %ByteBuffer instance) @n
+        *                              are visible in the WcharBuffer view, and vice versa.
         */
        WcharBuffer* AsWcharBufferN(void) const;
 
@@ -358,42 +348,39 @@ public:
         *
         * @since 2.0
         *
-        * @return              ShortBuffer     A pointer to the current position of the calling buffer
-        * @remarks
-        *                              - The content of the view buffer starts at the current position of the calling buffer.
-        *                              - The new buffer's position is zero, the mark is undefined, and the capacity and limit
-        *                              are equal to the remaining part of the calling buffer divided by the size of the @c short value.
-        *                              - Any change to the byte buffer content is visible in the @c short buffer view, and vice versa.
+        * @return              ShortBuffer pointer to the current position of the calling buffer
+        * @remarks     The content of the view buffer starts at the current position of this buffer.
+        *                              The new buffer's position is zero, the mark is undefined, and the capacity and limit
+        *                              are equal to the remaining part of calling buffer divided by the size of @c long.
+        *                              Any change to the byte buffer content is visible in the @c short buffer view, and vice versa.
         */
        ShortBuffer* AsShortBufferN(void) const;
 
        /**
         * Copies the remaining bytes of the input %ByteBuffer instance into the calling %ByteBuffer object. @n
-        * It returns @c E_OVERFLOW if the remaining bytes in the current instance are less
+        * It returns E_OVERFLOW if the remaining bytes in the current instance are less
         * than the remaining bytes in the input instance.
         *
         * @since 2.0
         *
         * @return              An error code
-        * @param[in]   buffer                  The source buffer from which bytes are read @n
-        *                                                              It must not be the calling object.
+        * @param[in]   buffer          The source buffer from which bytes are read @n
+        *                                                      It must not be the calling object.
         * @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 source buffer is same as the destination buffer,
-        *                                                                that is, the current instance of the buffer.
-        * @exception   E_OVERFLOW              Either of the following conditions has occurred:
-        *                                                              - The operation (arithmetic/casting/conversion) has caused an overflow.
-        *                                                              - The number of remaining bytes in the current buffer is smaller than
-        *                                                                the number of remaining bytes in the input buffer.
-        * @remarks
-        *                              - After the copy operation, the current (destination) buffer's position and the given
+        * @exception   E_INVALID_ARG   A specified input parameter is invalid. @n
+        *                                                              The source buffer is same as destination buffer,
+        *                                                              that is, the current instance of the buffer.
+        * @exception   E_OVERFLOW              The operation (arithmetic/casting/conversion) has caused an overflow. @n
+        *                                                              The number of remaining bytes of the current buffer is smaller than
+        *                                                              the number of remaining bytes of the input buffer.
+        * @remarks     After the copy operation, the current (destination) buffer's position and the given
         *                              (source) buffer's positions are incremented by the number of bytes copied (the number of
-        *                              remaining bytes in the given buffer).
-        *                              - If the remaining part of the current instance is greater than or equal to the remaining part of the input instance,
-        *                              the effect of this method and the ReadFrom() method is the same. @n
-        *                              If the remaining part of the current instance is less, the %ReadFrom() method 
-        *                              copies the number of remaining elements of the current instance while this method returns @c E_OVERFLOW and does not copy.
+        *                              remaining bytes of the given buffer). @n
+        *                              If the remaining part of the current instance is greater than or equal to the remaining part of the input instance,
+        *                              the effect of this method and the ReadFrom(%ByteBuffer) method is the same. But when the remaining part of the
+        *                              current instance is less, the ReadFrom() method copies the number of remaining elements of the current
+        *                              instance while this method returns E_OVERFLOW and does not copy.
+        * @see                 ReadFrom()
         *
         * The following example demonstrates how to use the %CopyFrom() method.
         *
@@ -452,21 +439,18 @@ public:
         * @since 2.0
         *
         * @return              An error code
-        * @param[out]  pArray                  A pointer to the destination array into which the bytes are written
-        * @param[in]   index                   The starting index of the array where the first byte is written
-        * @param[in]   length                  The number of bytes to write into the given array
+        * @param[out]  pArray          A pointer to the destination array into which the bytes are written
+        * @param[in]   index           The starting index in the array of the first byte to write
+        * @param[in]   length          The number of bytes to write to the given array
         * @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 specified @c pArray is @c null.
-        * @exception   E_OUT_OF_RANGE  Either of the following conditions has occurred:
-        *                                                              - A specified input parameter is invalid.
-        *                                                              - The specified @c index or the specified @c length is less than @c 0.
-        * @exception   E_UNDERFLOW             Either of the following conditions has occurred:
-        *                                                              - The operation (arithmetic/casting/conversion) has caused an underflow.
-        *                                                              - The remaining bytes of this buffer are smaller than the specified @c length.
-        * @remarks             This method copies @c length bytes from the current instance of %ByteBuffer into the given array,
-        *                              starting from the current position and the given index in the array. @n
+        * @exception   E_INVALID_ARG   A specified input parameter is invalid, or
+        *                                                              the @c pArray is @c null.
+        * @exception   E_OUT_OF_RANGE  A specified input parameter is invalid. @n
+        *                                                              The @c index or @c length is less than @c 0.
+        * @exception   E_UNDERFLOW             The operation (arithmetic/casting/conversion) has caused an underflow, or
+        *                                                              the remaining bytes of this buffer are smaller than @c length.
+        * @remarks     This method copies @c length bytes from the current instance of %ByteBuffer to the given array,
+        *                              starting at the current position and at the given index in the array.
         *                              After the copy operation, the position is incremented by @c length bytes.
         * @see                 SetArray()
         */
@@ -474,381 +458,354 @@ public:
 
        /**
         * Gets the @c byte value from the buffer at the current position, and then increments the position. @n
-        * It provides a way to perform relative indexing and reading.
+        * Provides a way for relative indexing and reading.
         *
         * @since 2.0
         *
         * @return              An error code
         * @param[out]  value                   The @c byte value at the current position in the %ByteBuffer instance
         * @exception   E_SUCCESS               The method is successful.
-        * @exception   E_UNDERFLOW             Either of the following conditions has occurred:
-        *                                                              - The operation (arithmetic/casting/conversion) has caused an underflow.
-        *                                                              - The current position is not smaller than the limit.
+        * @exception   E_UNDERFLOW             The operation (arithmetic/casting/conversion) has caused an underflow, or
+        *                                                              the current position is not smaller than the limit.
         * @see                 SetByte()
         */
        result GetByte(byte& value);
 
        /**
         * Gets the @c byte value at the given index. @n
-        * It provides a way to perform absolute indexing and reading.
+        * Provides a way for absolute indexing and reading.
         *
         * @since 2.0
         *
         * @return              An error code
-        * @param[in]   index                   The index of the current %ByteBuffer instance, from which the byte is read
-        * @param[out]  value           The @c byte value at the given @c index
+        * @param[in]   index           The index of the current %ByteBuffer instance, from which the byte is read
+        * @param[out]  value       The @c byte value at the given @c index
         * @exception   E_SUCCESS               The method is successful.
-        * @exception   E_OUT_OF_RANGE  Either of the following conditions has occurred:
-        *                                                              - The specified @c index is outside the bounds of the data structure.
-        *                                                              - The specified @c index is not smaller than the limit.
-        *                                                              - The specified @c index is less than @c 0.
+        * @exception   E_OUT_OF_RANGE  The specified index is outside the bounds of the data structure, or
+        *                                                              the @c index is not smaller than the limit or less than @c 0.
         * @see                 SetByte()
         */
        result GetByte(int index, byte& value) const;
 
        /**
-        * Gets the size of the @c double number of bytes from the buffer at the current position, converts
+        * Gets the size of @c double number of bytes from the buffer at the current position, converts
         * it to the corresponding @c double equivalent, and then increments the position. @n
-        * It provides a way to perform relative indexing and reading.
+        * Provides a way for relative indexing and reading.
         *
         * @since 2.0
         *
         * @return              An error code
         * @param[out]  value                   The @c double value at the current position in the %ByteBuffer instance
         * @exception   E_SUCCESS               The method is successful.
-        * @exception   E_UNDERFLOW             Either of the following conditions has occurred:
-        *                                                              - The operation (arithmetic/casting/conversion) has caused an underflow.
-        *                                                              - The remaining bytes in this buffer are smaller than the size of the @c double value.
-        * @remarks             This method reads the next size of the @c double number of bytes at the current position,
-        *                              converts it into a @c double value, and then increments the position by the size of the @c double value.
+        * @exception   E_UNDERFLOW             The operation (arithmetic/casting/conversion) has caused an underflow, or
+        *                                                              the remaining bytes of this buffer are smaller than the size of @c double.
+        * @remarks     This method reads the next size of @c double number of bytes at the current position,
+        *                              composing it into a @c double value, and then increments the position by the size of @c double.
         * @see                 SetDouble()
         */
        result GetDouble(double& value);
 
        /**
-        * Gets the size of the @c double number of bytes at the given index and converts it to the equivalent @c double value. @n
-        * It provides a way to perform absolute indexing and reading.
+        * Gets the size of @c double number of bytes at the given index and converts it to the equivalent @c double value. @n
+        * Provides a way for absolute indexing and reading.
         *
         * @since 2.0
         *
         * @return              An error code
-        * @param[in]   index                           The index of the current %ByteBuffer instance, from which the bytes are read
-        * @param[out]  value                           The @c double value at the given @c index
+        * @param[in]   index           The index of the current %ByteBuffer instance, from which the bytes are read
+        * @param[out]  value           The @c double value at the given index
         * @exception   E_SUCCESS                       The method is successful.
-        * @exception   E_OUT_OF_RANGE          Either of the following conditions has occurred:
-        *                                                                      - The specified @c index is outside the bounds of the data structure.
-        *                                                                      - The specified @c index is larger than the limit minus the size of the @c double value.
-        *                                                                      - The specified @c index is less than @c 0.
-        * @remarks             This method reads the size of the @c double number of bytes at the given @c index
-        *                              and converts it into a @c double value.
+        * @exception   E_OUT_OF_RANGE          The specified @c index is outside the bounds of the data structure, or
+        *                                                                      the @c index is larger than the limit minus size of @c double or less than @c 0.
+        * @remarks     This method reads size of @c double number of bytes at the given index,
+        *                              composing them into a @c double value.
         * @see                 SetDouble()
         */
        result GetDouble(int index, double& value) const;
 
        /**
-        * Gets the size of the @c float number of bytes from the buffer at the current position, converts
+        * Gets the size of @c float number of bytes from the buffer at the current position, converts
         * it to the corresponding @c float equivalent, and then increments the position. @n
-        * It provides a way to perform relative indexing and reading.
+        * Provides a way for relative indexing and reading.
         *
         * @since 2.0
         *
         * @return              An error code
         * @param[out]  value                           The @c float value at the current position in the %ByteBuffer instance
         * @exception   E_SUCCESS                       The method is successful.
-        * @exception   E_UNDERFLOW                     Either of the following conditions has occurred:
-        *                                                                      - The operation (arithmetic/casting/conversion) has caused an underflow.
-        *                                                                      - The remaining bytes of this buffer are smaller than the size of the @c float value.
-        * @remarks             This method reads the next size of the @c float number of bytes at the current position,
-        *                              converts it into a @c float value, and then increments the position by the size of the @c float value.
+        * @exception   E_UNDERFLOW                     The operation (arithmetic/casting/conversion) has caused an underflow, or
+        *                                                                      the remaining bytes of this buffer are smaller than the size of @c float.
+        * @remarks     This method reads the next size of @c float number of bytes at the current position,
+        *                              composing it into a @c float value, and then increments the position by the size of @c float.
         * @see                 SetFloat()
         */
        result GetFloat(float& value);
 
        /**
-        * Gets the size of the @c float number of bytes at the given index and converts it to an equivalent @c float value. @n
-        * It provides a way to perform absolute indexing and reading.
+        * Gets the size of @c float number of bytes at the given index and converts it to equivalent @c float value. @n
+        * Provides a way for absolute indexing and reading.
         *
         * @since 2.0
         *
         * @return              An error code
-        * @param[in]   index                   The index of the current %ByteBuffer instance, from which the bytes are read
-        * @param[out]  value                   The @c float value at the given @c index
+        * @param[in]   index       The index of the current %ByteBuffer instance, from which the bytes are read
+        * @param[out]  value       The @c float value at the given index
         * @exception   E_SUCCESS                       The method is successful.
-        * @exception   E_OUT_OF_RANGE          Either of the following conditions has occurred:
-        *                                                                      - The specified @c index is outside the bounds of the data structure.
-        *                                                                      - The specified @c index is larger than the limit minus the size of the @c float value.
-        *                                                                      - The specified @c index is less than @c 0.
-        * @remarks             This method reads the size of the @c float number of bytes at the given @c index
-        *                              and converts it into a @c float value.
+        * @exception   E_OUT_OF_RANGE          The specified index is outside the bounds of the data structure, or
+        *                                                                      the @c index is larger than the limit minus size of @c float or less than @c 0.
+        * @remarks     This method reads the size of @c float number of bytes at the given index,
+        *                              composing it into a @c float value.
         * @see                 SetFloat()
         */
        result GetFloat(int index, float& value) const;
 
        /**
-        * Gets the size of the @c int number of bytes from the buffer at the current position, converts
+        * Gets the size of @c int number of bytes from the buffer at the current position, converts
         * it to the corresponding @c int equivalent, and then increments the position. @n
-        * It provides a way to perform relative indexing and reading.
+        * Provides a way for relative indexing and reading.
         *
         * @since 2.0
         *
         * @return              An error code
         * @param[out]  value                           The @c int value at the current position in the %ByteBuffer instance
         * @exception   E_SUCCESS                       The method is successful.
-        * @exception   E_UNDERFLOW                     Either of the following conditions has occurred:
-        *                                                                      - The operation (arithmetic/casting/conversion) has caused an underflow.
-        *                                                                      - The remaining bytes of this buffer are smaller than the size of the @c int value.
-        * @remarks             This method reads the next size of the @c int number of bytes at the current position,
-        *                              converts them into an @c int value, and then increments the position by the size of the @c int value.
+        * @exception   E_UNDERFLOW                     The operation (arithmetic/casting/conversion) has caused an underflow, or
+        *                                                                      the remaining bytes of this buffer are smaller than the size of @c int.
+        * @remarks     This method reads the next size of @c int number of bytes at the current position,
+        *                              composing them into an @c int value, and then increments the position by the size of @c int.
         * @see                 SetInt()
         */
        result GetInt(int& value);
 
        /**
-        * Gets the size of the @c int number of bytes at the given @c index and converts it to the equivalent @c int value. @n
-        * It provides a way to perform absolute indexing and reading.
+        * Gets the size of @c int number of bytes at the given index and converts it to the equivalent @c int value. @n
+        * Provides a way for absolute indexing and reading.
         *
         * @since 2.0
         *
         * @return              An error code
-        * @param[in]   index                   The index of the current %ByteBuffer instance, from which the bytes are read
-        * @param[out]  value                   The @c int value at the given @c index
+        * @param[in]   index       The index of the current %ByteBuffer instance, from which the bytes are read
+        * @param[out]  value       The @c int value at the given index
         * @exception   E_SUCCESS                       The method is successful.
-        * @exception   E_OUT_OF_RANGE          Either of the following conditions has occurred:
-        *                                                                      - The specified @c index is outside the bounds of the data structure.
-        *                                                                      - The specified @c index is larger than the limit minus the size of the @c int.
-        *                                                                      - The specified @c index is negative.
-        * @remarks             This method reads the size of the @c int number of bytes at the given @c index
-        *                              and converts it into an @c int value.
+        * @exception   E_OUT_OF_RANGE          The specified index is outside the bounds of the data structure, or
+        *                                                                      the @c index is larger than the limit minus size of @c int or negative.
+        * @remarks     This method reads the size of @c int number of bytes at the given index,
+        *                              composing it into an @c int value.
         * @see                 SetInt()
         */
        result GetInt(int index, int& value) const;
 
        /**
-        * Gets the size of the @c long number of bytes from the buffer at the current position, converts
+        * Gets the size of @c long number of bytes from the buffer at the current position, converts
         * it to the corresponding @c long equivalent, and then increments the position. @n
-        * It provides a way to perform relative indexing and reading.
+        * Provides a way for relative indexing and reading.
         *
         * @since 2.0
         *
         * @return              An error code
         * @param[out]  value                           The @c long value at the current position in the %ByteBuffer instance
         * @exception   E_SUCCESS                       The method is successful.
-        * @exception   E_UNDERFLOW                     Either of the following conditions has occurred:
-        *                                                                      - The operation (arithmetic/casting/conversion) has caused an underflow.
-        *                                                                      - The remaining bytes of this buffer are smaller than the size of the @c long value.
-        * @remarks             This method reads the next size of the @c long number of bytes at the current position,
-        *                              converts it into a @c long value, and then increments the position by the size of the @c long value.
+        * @exception   E_UNDERFLOW                     The operation (arithmetic/casting/conversion) has caused an underflow, or
+        *                                                                      the remaining bytes of this buffer are smaller than the size of @c long.
+        * @remarks     This method reads the next size of @c long number of bytes at the current position,
+        *                              composing it into a @c long value, and then increments the position by the size of @c long.
         * @see                 SetLong()
         */
        result GetLong(long& value);
 
        /**
-        * Gets the size of the @c long number of bytes at the given @c index and converts it to the equivalent @c long value. @n
-        * It provides a way to perform absolute indexing and reading.
+        * Gets the size of @c long number of bytes at the given index and converts it to equivalent @c long value. @n
+        * Provides a way for absolute indexing and reading.
         *
         * @since 2.0
         *
         * @return              An error code
-        * @param[in]   index                   The index of the current %ByteBuffer instance, from which the bytes are read
-        * @param[out]  value                   The @c long value at the given @c index
+        * @param[in]   index       The index of the current %ByteBuffer instance, from which the bytes are read
+        * @param[out]  value       The @c long value at the given index
         * @exception   E_SUCCESS                       The method is successful.
-        * @exception   E_OUT_OF_RANGE          Either of the following conditions has occurred:
-        *                                                                      - The specified @c index is outside the bounds of the data structure.
-        *                                                                      - The specified @c index is larger than the limit minus the size of the @c long value.
-        *                                                                      - The specified @c index is less than @c 0.
-        * @remarks             This method reads the size of the @c long number of bytes at the given @c index
-        *                              and converts it into a @c long value.
+        * @exception   E_OUT_OF_RANGE          The specified @c index is outside the bounds of the data structure, or
+        *                                                                      the @c index is larger than the limit minus size of @c long or less than @c 0.
+        * @remarks     This method reads the size of @c long number of bytes at the given index,
+        *                              composing it into a @c long value.
         * @see                 SetLong()
         */
        result GetLong(int index, long& value) const;
 
        /**
-        * Gets the size of the @c long @c long number of bytes from the buffer at the current position, converts
+        * Gets the size of @c long @c long number of bytes from the buffer at the current position, converts
         * it to the corresponding @c long @c long equivalent, and then increments the position. @n
-        * It provides a way to perform relative indexing and reading.
+        * Provides a way for relative indexing and reading.
         *
         * @since 2.0
         *
         * @return              An error code
         * @param[out]  value                           The @c long @c long value at the current position in the %ByteBuffer instance
         * @exception   E_SUCCESS                       The method is successful.
-        * @exception   E_UNDERFLOW                     Either of the following conditions has occurred:
-        *                                                                      - The operation (arithmetic/casting/conversion) has caused an underflow.
-        *                                                                      - The remaining bytes of this buffer are smaller than the size of the @c long @c long value.
-        * @remarks             This method reads the next size of the @c long @c long number of bytes at the current position,
-        *                              converts it into a @c long @c long value, and then increments the position by the size of the @c long @c long value.
+        * @exception   E_UNDERFLOW                     The operation (arithmetic/casting/conversion) has caused an underflow, or
+        *                                                                      the remaining bytes of this buffer are smaller than the size of @c long @c long.
+        * @remarks     This method reads the next size of @c long @c long number of bytes at the current position,
+        *                              composing it into a @c long @c long value, and then increments the position by the size of @c long @c long.
         * @see                 SetLongLong()
         */
        result GetLongLong(long long& value);
 
        /**
-        * Gets the size of the @c long @c long number of bytes at the given @c index and converts it to the equivalent @c long @c long value. @n
-        * It provides a way to perform absolute indexing and reading.
+        * Gets the size of @c long @c long number of bytes at the given index and converts it to the equivalent @c long @c long value. @n
+        * Provides a way for absolute indexing and reading.
         *
         * @since 2.0
         *
         * @return              An error code
-        * @param[in]   index                   The index of the current %ByteBuffer instance, from which the bytes are read
-        * @param[out]  value                   The @c long @c long value at the given @c index
+        * @param[in]   index       The index of the current %ByteBuffer instance, from which the bytes are read
+        * @param[out]  value       The @c long @c long value at the given index
         * @exception   E_SUCCESS                       The method is successful.
-        * @exception   E_OUT_OF_RANGE          Either of the following conditions has occurred:
-        *                                                                      - The specified @c index is outside the bounds of the data structure.
-        *                                                                      - The specified @c index is larger than the limit minus the size of the @c long @c long value.
-        *                                                                      - The specified @c index is less than @c 0.
-        * @remarks             This method reads the size of the @c long @c long number of bytes at the given @c index
-        *                              and converts it into a @c long @c long value.
+        * @exception   E_OUT_OF_RANGE          The specified index is outside the bounds of the data structure, or
+        *                                                                      the @c index is larger than the limit minus size of @c long @c long or less than @c 0.
+        * @remarks     This method reads the size of @c long @c long number of bytes at the given index,
+        *                              composing it into a @c long @c long value.
         * @see                 SetLongLong()
         */
        result GetLongLong(int index, long long& value) const;
 
        /**
         * @if OSPDEPREC
-        * Gets the size of the @c wchar_t number of bytes from the buffer at the current position, converts
+        * Gets the size of @c wchar_t number of bytes from the buffer at the current position, converts
         * it to the corresponding @c wchar_t equivalent, and then increments the position. @n
-        * It provides a way to perform relative indexing and reading.
+        * Provides a way for relative indexing and reading.
         *
-        * @brief               <i> [Deprecated] </i>
-        * @deprecated  This method is deprecated as @c mchar type is changed to @c wchar_t type.
-        *                              Instead of using this method, use the GetWchar(wchar_t& value) method.
+        * @brief       <i> [Deprecated] </i>
+        * @deprecated This method is deprecated as @c mchar type is changed to @c wchar_t type.
+        * Instead of using this method, use the GetWchar(wchar_t& value) method.
         * @since 2.0
         *
         * @return              An error code
         * @param[out]  value                   The @c wchar_t value at the current position in the %ByteBuffer instance
         * @exception   E_SUCCESS               The method is successful.
-        * @exception   E_UNDERFLOW             Either of the following conditions has occurred:
-        *                                                              - The operation (arithmetic/casting/conversion) has caused an underflow.
-        *                                                              - The remaining bytes of this buffer are smaller than the size of the @c wchar_t value.
-        * @remarks             This method reads the next size of the @c wchar_t number of bytes at the current position,
-        *                              converts it into a @c wchar_t value, and then increments the position by the size of the @c wchar_t value.
+        * @exception   E_UNDERFLOW             The operation (arithmetic/casting/conversion) has caused an underflow, or
+        *                                                              the remaining bytes of this buffer are smaller than the size of @c wchar_t.
+        * @remarks     This method reads the next size of @c wchar_t number of bytes at the current position,
+        *                              composing it into a @c wchar_t value, and then increments the position by the size of @c wchar_t.
         * @see                 SetMchar()
         * @endif
         */
        result GetMchar(wchar_t& value);
 
        /**
-        * Gets the size of the @c wchar_t number of bytes from the buffer at the current position, converts
+        * Gets the size of @c wchar_t number of bytes from the buffer at the current position, converts
         * it to the corresponding @c wchar_t equivalent, and then increments the position. @n
-        * It provides a way to perform relative indexing and reading.
+        * Provides a way for relative indexing and reading.
         *
         * @since 2.0
         *
         * @return  An error code
         * @param[out]  value                   The @c wchar_t value at the current position in the %ByteBuffer instance
         * @exception   E_SUCCESS               The method is successful.
-        * @exception   E_UNDERFLOW             Either of the following conditions has occurred:
-        *                                                              - The operation (arithmetic/casting/conversion) has caused an underflow.
-        *                                                              - The remaining bytes of this buffer are smaller than the size of the @c wchar_t value.
-        * @remarks             This method reads the next size of the @c wchar_t number of bytes at the current position,
-        *                              converts it into a @c wchar_t value, and then increments the position by the size of the @c wchar_t value.
+        * @exception   E_UNDERFLOW             The operation (arithmetic/casting/conversion) has caused an underflow, or
+        *                                                              the remaining bytes of this buffer are smaller than the size of @c wchar_t.
+        * @remarks     This method reads the next size of @c wchar_t number of bytes at the current position,
+        *                              composing it into a @c wchar_t value, and then increments the position by the size of @c wchar_t.
         * @see                 SetWchar()
         */
        result GetWchar(wchar_t& value);
 
        /**
         * @if OSPDEPREC
-        * Provides a way to perform absolute indexing and reading. @n
-        * It reads the size of the @c wchar_t number of bytes at the given @c index and converts it to the equivalent @c wchar_t value.
+        * Provides a way for absolute indexing and reading. @n
+        * It reads the size of @c wchar_t number of bytes at the given index and converts it to equivalent @c wchar_t value.
         *
-        * @brief               <i> [Deprecated] </i>
+        * @brief       <i> [Deprecated] </i>
         * @deprecated This method is deprecated as @c mchar type is changed to @c wchar_t type.
-        *                         Instead of using this method, use the GetWchar(int index, wchar_t& value) method.
+        * Instead of using this method, use the GetWchar(int index, wchar_t& value) method.
         * @since 2.0
         *
         * @return              An error code
-        * @param[in]   index                   The index of the current %ByteBuffer instance, from which the bytes are read
-        * @param[out]  value                   The @c wchar_t value at the given @c index
+        * @param[in]   index       The index of the current %ByteBuffer instance, from which the bytes are read
+        * @param[out]  value       The @c wchar_t value at the given index
         * @exception   E_SUCCESS                       The method is successful.
-        * @exception   E_OUT_OF_RANGE          Either of the following conditions has occurred:
-        *                                                                      - The specified @c index is outside the bounds of the data structure.
-        *                                                                      - The specified @c index is larger than the limit minus the size of the @c wchar_t value.
-        *                                                                      - The specified @c index is less than @c 0.
-        * @remarks             This method reads the size of the @c wchar_t number of bytes at the given @c index
-        *                              and converts it into a @c wchar_t value.
+        * @exception   E_OUT_OF_RANGE          The specified index is outside the bounds of the data structure, or
+        *                                                                      the @c index is larger than the limit minus size of @c wchar_t or less than @c 0.
+        * @remarks     This method reads the size of @c wchar_t number of bytes at the given index,
+        *                              composing it into a @c wchar_t value.
         * @see                 SetMchar()
         * @endif
         */
        result GetMchar(int index, wchar_t& value) const;
 
        /**
-        * Provides a way to perform absolute indexing and reading. @n
-        * It reads the size of the @c wchar_t number of bytes at the given @c index and converts it to the equivalent @c wchar_t value.
+        * Provides a way for absolute indexing and reading. @n
+        * It reads the size of @c wchar_t number of bytes at the given index and converts it to equivalent @c wchar_t value.
         *
         * @since 2.0
         *
         * @return              An error code
         * @param[in]   index                   The index of the current %ByteBuffer instance, from which the bytes are read
-        * @param[out]  value                   The @c wchar_t value at the given @c index
+        * @param[out]  value                   The @c wchar_t value at the given index
         * @exception   E_SUCCESS               The method is successful.
-        * @exception   E_OUT_OF_RANGE  Either of the following conditions has occurred:
-        *                                                              - The specified @c index is outside the bounds of the data structure.
-        *                                                              - The specified @c index is larger than the limit minus the size of the @c wchar_t value.
-        *                                                              - The specified @c index is less than @c 0.
-        * @remarks             This method reads the size of the @c wchar_t number of bytes at the given @c index
-        *                              and converts it into a @c wchar_t value.
+        * @exception   E_OUT_OF_RANGE  The specified index is outside the bounds of the data structure, or
+        *                                                              the @c index is larger than the limit minus size of @c wchar_t or less than @c 0.
+        * @remarks     This method reads the size of @c wchar_t number of bytes at the given index,
+        *                              composing it into a @c wchar_t value.
         * @see                 SetWchar()
         */
        result GetWchar(int index, wchar_t& value) const;
 
        /**
-        * Gets the size of the @c short number of bytes from the buffer at the current position, converts
+        * Gets the size of @c short number of bytes from the buffer at the current position, converts
         * it to the corresponding @c short equivalent, and then increments the position. @n
-        * Provides a way to perform relative indexing and reading.
+        * Provides a way for relative indexing and reading.
         *
         * @since 2.0
         *
         * @return              An error code
         * @param[out]  value                           The @c short value at the current position in the %ByteBuffer instance
         * @exception   E_SUCCESS                       The method is successful.
-        * @exception   E_UNDERFLOW                     Either of the following conditions has occurred:
-        *                                                                      - The operation (arithmetic/casting/conversion) has caused an underflow.
-        *                                                                      - The remaining bytes of this buffer are smaller than the size of the @c short value.
-        * @remarks             This method reads the next size of the @c short number of bytes at the current position,
-        *                              converts it into a @c short value, and then increments the position by the size of the @c short value.
+        * @exception   E_UNDERFLOW                     The operation (arithmetic/casting/conversion) has caused an underflow, or
+        *                                                                      the remaining bytes of this buffer are smaller than the size of @c short.
+        * @remarks     This method reads the next size of @c short number of bytes at the current position,
+        *                              composing it into a @c short value, and then increments the position by the size of @c short.
         * @see                 SetShort()
         */
        result GetShort(short& value);
 
        /**
-        * Gets the size of the @c short number of bytes at the given @c index and converts it to the equivalent @c short value. @n
-        * Provides a way to perform absolute indexing and reading.
+        * Gets the size of @c short number of bytes at the given index and converts it to the equivalent @c short value. @n
+        * Provides a way for absolute indexing and reading.
         *
         * @since 2.0
         *
         * @return              An error code
-        * @param[in]   index                   The index of the current %ByteBuffer instance, from which the bytes are read
-        * @param[out]  value                   The @c short value at the given @c index
+        * @param[in]   index       The index of the current %ByteBuffer instance, from which the bytes are read
+        * @param[out]  value       The @c short value at the given index
         * @exception   E_SUCCESS                       The method is successful.
-        * @exception   E_OUT_OF_RANGE          Either of the following conditions has occurred:
-        *                                                                      - The specified @c index is outside the bounds of the data structure.
-        *                                                                      - The specified @c index is larger than the limit minus the size of the @c short value.
-        *                                                                      - The specified @c index is less than @c 0.
-        * @remarks             This method reads the size of the @c short number of bytes at the given @c index
-        *                              and converts it into a @c short value.
+        * @exception   E_OUT_OF_RANGE          The specified index is outside the bounds of the data structure, or
+        *                                                                      the @c index is larger than the limit minus size of @c short or less than @c 0.
+        * @remarks     This method reads the size of @c short number of bytes at the given index,
+        *                              composing it into a @c short value.
         * @see                 SetShort()
         */
        result GetShort(int index, short& value) const;
 
        /**
-        * Copies the remaining bytes of the input %ByteBuffer instance into the calling %ByteBuffer instance,
+        * Copies the remaining bytes of the input %ByteBuffer instance into the calling %ByteBuffer instance
         * if the remaining part of the current instance is greater than or equal to the remaining part of the input instance. @n
         * Otherwise, the number of bytes copied is equal to the number of remaining elements of the current instance.
         *
         * @since 2.0
         *
         * @return              An error code
-        * @param[in]   buffer                  The source buffer from which bytes are read @n
-        *                                                              It must not be the calling %ByteBuffer instance.
+        * @param[in]   buffer          The source buffer from which bytes are read @n
+        *                                                      It must not be the calling %ByteBuffer instance.
         * @exception   E_SUCCESS               The method is successful.
         * @exception   E_INVALID_ARG   The specified input parameter is invalid.
         *
-        * @remarks
-        *                              - After the copy operation, the current (destination) buffer's position and the given
-        *                              (source) buffer's position are incremented by the number of elements copied (the lesser of
-        *                              the number of elements remaining in the current buffer and the given buffer).
-        *                              - If the remaining part of the current instance is greater than or equal to the remaining part of the input instance,
-        *                              the effect of this method is the same as the CopyFrom() method. @n
-        *                              If the remaining part of the current instance is less, the %CopyFrom() method returns @c E_OVERFLOW and does not transfer;
+        * @remarks     After the copy operation, the current (destination) buffer's position and the given
+        *                              (source) buffer's position are  incremented by the number of elements copied (the lesser of
+        *                              the number of elements remaining in the current buffer and the given buffer). @n
+        *                              If the remaining part of the current instance is greater than or equal to the remaining part of the input instance,
+        *                              the effect of this method is the same as the CopyFrom() method. But when the remaining part of the
+        *                              current instance is less, the CopyFrom() method returns E_OVERFLOW and does not transfer;
         *                              whereas this method copies the number of remaining elements of the current instance.
+        * @see                 CopyFrom()
         *
         * The following example demonstrates how to use the %ReadFrom() method.
         *
@@ -909,27 +866,24 @@ public:
        result ReadFrom(ByteBuffer& buffer);
 
        /**
-        * Sets the @c byte values in the specified array to the current instance of %ByteBuffer.
+        * Sets the @c byte values on the specified array to the current instance of %ByteBuffer.
         *
         * @since 2.0
         *
         * @return              An error code
-        * @param[in]   pArray                  The array from which the bytes are read
-        * @param[in]   index                   The starting index of the array from where the first @c byte value is read
-        * @param[in]   length                  The number of bytes to read from the given array
+        * @param[in]   pArray          The array from which bytes are read
+        * @param[in]   index           The starting index of the array from where the first @c byte value is read
+        * @param[in]   length          The number of bytes to read from the given array
         * @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 specified @c pArray is @c null.
-        * @exception   E_OUT_OF_RANGE  Either of the following conditions has occurred:
-        *                                                              - The specified @c index is outside the bounds of the data structure.
-        *                                                              - The specified @c index or the specified @c length is less than @c 0.
-        * @exception   E_OVERFLOW              Either of the following conditions has occurred:
-        *                                                              - The operation (arithmetic/casting/conversion) has caused an overflow.
-        *                                                              - The remaining bytes are smaller than the specified @c length.
-        * @remarks             This method copies the specified number (@c length) of @c byte values from the source array
-        *                              into the calling object of the buffer, starting from the current position, 
-        *                              and at the given index in the array. @n
+        * @exception   E_INVALID_ARG   A specified input parameter is invalid, or
+        *                                                              the @c pArray is @c null.
+        * @exception   E_OUT_OF_RANGE  The specified index is outside the bounds of the data structure, or
+        *                                                              the @c index or length is less than @c 0.
+        * @exception   E_OVERFLOW              The operation (arithmetic/casting/conversion) has caused an overflow, or
+        *                                                              the remaining bytes are smaller than @c length.
+        * @remarks     This method copies the specified number (@c length) of @c byte values into
+        *                              the calling object of buffer from the source array,
+        *                              starting from the current position, and at the given index in the array.
         *                              After the copy operation, the position is incremented by @c length.
         * @see                 GetArray()
         */
@@ -938,34 +892,31 @@ public:
        /**
         * Sets the given @c byte value into the calling %ByteBuffer object
         * at the current position, and then increments the position. @n
-        * It provides a way to perform relative indexing and writing.
+        * Provides a way for relative indexing and writing.
         *
         * @since 2.0
         *
         * @return              An error code
         * @param[in]   value                   The @c byte value to write to the current instance of %ByteBuffer
         * @exception   E_SUCCESS               The method is successful.
-        * @exception   E_OVERFLOW              Either of the following conditions has occurred:
-        *                                                              - The operation (arithmetic/casting/conversion) has caused an overflow.
-        *                                                              - The current position is not smaller than the limit.
+        * @exception   E_OVERFLOW              The operation (arithmetic/casting/conversion) has caused an overflow, or
+        *                                                              the current position is not smaller than the limit.
         * @see                 GetByte()
         */
        result SetByte(byte value);
 
        /**
-        * Sets the given @c byte value into the calling %ByteBuffer object at the specified @c index. @n
-        * Provides a way to perform absolute indexing and writing.
+        * Sets the given @c byte value into the calling %ByteBuffer object at the specified index. @n
+        * Provides a way for absolute indexing and writing.
         *
         * @since 2.0
         *
         * @return              An error code
-        * @param[in]   index                           The index of the current instance of %ByteBuffer at which the byte is written
-        * @param[in]   value                           The @c byte value to write
+        * @param[in]   index           The index of the current instance of %ByteBuffer at which the byte is written
+        * @param[in]   value           The @c byte value to write
         * @exception   E_SUCCESS                       The method is successful.
-        * @exception   E_OUT_OF_RANGE          Either of the following conditions has occurred:
-        *                                                                      - The specified @c index is outside the bounds of the data structure.
-        *                                                                      - The specified @c index is not smaller than the limit.
-        *                                                                      - The specified @c index is less than @c 0.
+        * @exception   E_OUT_OF_RANGE          The specified index is outside the bounds of the data structure, or
+        *                                                                      the @c index is not smaller than the limit or less than @c 0.
         * @see                 GetByte()
         */
        result SetByte(int index, byte value);
@@ -973,18 +924,17 @@ public:
        /**
         * Sets the given @c double value into the calling %ByteBuffer object
         * at the current position, and then increments the position. @n
-        * It provides a way to perform relative indexing and writing.
+        * Provides a way for relative indexing and writing.
         *
         * @since 2.0
         *
         * @return              An error code
         * @param[in]   value                   The @c double value to write
         * @exception   E_SUCCESS               The method is successful.
-        * @exception   E_OVERFLOW              Either of the following conditions has occurred:
-        *                                                              - The operation (arithmetic/casting/conversion) has caused an overflow.
-        *                                                              - The remaining bytes of this buffer are smaller than the size of the @c double value.
-        * @remarks             This method writes the size of the @c double number of bytes containing the given @c double value
-        *                              into the calling buffer, at the current position, and then increments the position by the size of the @c double value.
+        * @exception   E_OVERFLOW              The operation (arithmetic/casting/conversion) has caused an overflow, or
+        *                                                              the remaining bytes of this buffer are smaller than the size of @c double.
+        * @remarks     This method writes the size of @c double number of bytes containing the given @c double value
+        *                              into the calling buffer, at the current position, and then increments the position by the size of @c double.
         * @see                 GetDouble()
         */
        result SetDouble(double value);
@@ -992,18 +942,17 @@ public:
        /**
         * Sets the given @c float value into the calling %ByteBuffer object
         * at the current position, and then increments the position. @n
-        * It provides a way to perform relative indexing and writing.
+        * Provides a way for relative indexing and writing.
         *
         * @since 2.0
         *
         * @return              An error code
         * @param[in]   value                   The @c float value to write
         * @exception   E_SUCCESS               The method is successful.
-        * @exception   E_OVERFLOW              Either of the following conditions has occurred:
-        *                                                              - The operation (arithmetic/casting/conversion) has caused an overflow.
-        *                                                              - The remaining bytes of this buffer are smaller than the size of the @c float value.
-        * @remarks             This method writes the size of the @c float number of bytes containing the given @c float value
-        *                              into the calling buffer, at the current position, and then increments the position by the size of the @c float value.
+        * @exception   E_OVERFLOW              The operation (arithmetic/casting/conversion) has caused an overflow, or
+        *                                                              the remaining bytes of this buffer are smaller than the size of @c float.
+        * @remarks     This method writes the size of @c float number of bytes containing the given @c float value
+        *                              into this buffer at the current position, and then increments the position by the size of @c float.
         * @see                 GetFloat()
         */
        result SetFloat(float value);
@@ -1011,18 +960,17 @@ public:
        /**
         * Sets the given @c int value into the calling %ByteBuffer instance at the current
         * position, and then increments the position. @n
-        * It provides a way to perform relative indexing and writing.
+        * Provides a way for relative indexing and writing.
         *
         * @since 2.0
         *
         * @return              An error code
         * @param[in]   value                   The @c int value to write
         * @exception   E_SUCCESS               The method is successful.
-        * @exception   E_OVERFLOW              Either of the following conditions has occurred:
-        *                                                              - The operation (arithmetic/casting/conversion) has caused an overflow.
-        *                                                              - The remaining bytes of this buffer are smaller than the size of the @c int value.
-        * @remarks             This method writes the size of the @c int number of bytes containing the given @c int value
-        *                              into the calling buffer, at the current position, and then increments the position by the size of the @c int value.
+        * @exception   E_OVERFLOW              The operation (arithmetic/casting/conversion) has caused an overflow, or
+        *                                                              the remaining bytes of this buffer are smaller than the size of @c int.
+        * @remarks     This method writes the size of @c int number of bytes containing the given @c int value
+        *                              into this buffer at the current position, and then increments the position by the size of @c int.
         * @see                 GetInt()
         */
        result SetInt(int value);
@@ -1030,285 +978,263 @@ public:
        /**
         * Sets the given @c long value into the calling %ByteBuffer instance at the current
         * position, and then increments the position. @n
-        * It provides a way to perform relative indexing and writing.
+        * Provides a way for relative indexing and writing.
         *
         * @since 2.0
         *
         * @return              An error code
         * @param[in]   value                   The @c long value to write
         * @exception   E_SUCCESS               The method is successful.
-        * @exception   E_OVERFLOW              Either of the following conditions has occurred:
-        *                                                              - The operation (arithmetic/casting/conversion) has caused an overflow.
-        *                                                              - The remaining bytes of this buffer are smaller than the size of the @c long value.
-        * @remarks             This method writes the size of the @c long number of bytes containing the given @c long value
-        *                              into the calling buffer, at the current position, and then increments the position by the size of the @c long value.
+        * @exception   E_OVERFLOW              The operation (arithmetic/casting/conversion) has caused an overflow, or
+        *                                                              the remaining bytes of this buffer are smaller than size of @c long.
+        * @remarks     This method writes the size of @c long number of bytes containing the given @c long value
+        *                              into this buffer at the current position, and then increments the position by the size of @c long.
         * @see                 GetLong()
         */
        result SetLong(long value);
 
        /**
-        * Sets the given @c long @c long value into the calling %ByteBuffer instance at the current
+        * Sets the given @c long @c long value into the calling %ByteBuffer object at the current
         * position, and then increments the position. @n
-        * It provides a way to perform relative indexing and writing.
+        * Provides a way for relative indexing and writing.
         *
         * @since 2.0
         *
         * @return              An error code
         * @param[in]   value                   The @c long @c long value to write
         * @exception   E_SUCCESS               The method is successful.
-        * @exception   E_OVERFLOW              Either of the following conditions has occurred:
-        *                                                              - The operation (arithmetic/casting/conversion) has caused an overflow.
-        *                                                              - The remaining bytes of this buffer are smaller than the size of the @c long @c long value.
-        * @remarks             This method writes the size of the @c long @c long number of bytes containing the given @c long @c long value
-        *                              into the calling buffer, at the current position, and then increments the position by the size of the @c long @c long value.
+        * @exception   E_OVERFLOW              The operation (arithmetic/casting/conversion) has caused an overflow, or
+        *                                                              the remaining bytes of this buffer are smaller than the size of @c long @c long.
+        * @remarks     This method writes the size of @c long @c long number of bytes containing the given @c long @c long value
+        *                              into this buffer at the current position, and then increments the position by the size of @c long @c long.
         * @see                 GetLongLong()
         */
        result SetLongLong(long long value);
 
        /**
         * @if OSPDEPREC
-        * Sets the given @c wchar_t value into the calling %ByteBuffer instance at the current
+        * Sets the given @c wchar_t value into the calling %ByteBuffer object at the current
         * position, and then increments the position. @n
-        * It provides a way to perform relative indexing and writing.
+        * Provides a way for relative indexing and writing.
         *
-        * @brief               <i> [Deprecated] </i>
-        * @deprecated  This method is deprecated as @c mchar type is changed to @c wchar_t type.
-        *                              Instead of using this method, use the SetWchar(wchar_t value) method.
+        * @brief       <i> [Deprecated] </i>
+        * @deprecated This method is deprecated as @c mchar type is changed to @c wchar_t type.
+        * Instead of using this method, use the SetWchar(wchar_t value) method.
         * @since 2.0
         *
         * @return              An error code
         * @param[in]   value                   The @c wchar_t value to write
         * @exception   E_SUCCESS               The method is successful.
-        * @exception   E_OVERFLOW              Either of the following conditions has occurred:
-        *                                                              - The operation (arithmetic/casting/conversion) has caused an overflow.
-        *                                                              - The remaining bytes of this buffer are smaller than the size of the @c wchar_t value.
-        * @remarks             This method writes the size of the @c wchar_t number of bytes containing the given @c wchar_t value
-        *                              into the calling buffer, at the current position, and then increments the position by the size of the @c wchar_t value.
+        * @exception   E_OVERFLOW              The operation (arithmetic/casting/conversion) has caused an overflow, or
+        *                                                              the remaining bytes of this buffer are smaller than size of @c wchar_t.
+        * @remarks     This method writes the size of @c wchar_t number of bytes containing the given @c wchar_t value
+        *                              into this buffer at the current position, and then increments the position by the size of @c wchar_t.
         * @see                 GetMchar()
         * @endif
         */
        result SetMchar(wchar_t value);
 
        /**
-        * Sets the given @c wchar_t value into the calling %ByteBuffer instance at the current
+        * Sets the given @c wchar_t value into the calling %ByteBuffer object at the current
         * position, and then increments the position. @n
-        * It provides a way to perform relative indexing and writing.
+        * Provides a way for relative indexing and writing.
         *
         * @since 2.0
         *
         * @return              An error code
         * @param[in]   value           The @c wchar_t value to write
         * @exception   E_SUCCESS               The method is successful.
-        * @exception   E_OVERFLOW      Either of the following conditions has occurred:
-        *                                                              - The operation (arithmetic/casting/conversion) has caused an overflow.
-        *                                                              - The remaining bytes of this buffer are smaller than the size of the @c wchar_t value.
-        * @remarks     This method writes the size of the @c wchar_t number of bytes containing the given @c wchar_t value
-        *                              into the calling buffer, at the current position, and then increments the position by the size of the @c wchar_t value.
+        * @exception   E_OVERFLOW      The operation (arithmetic/casting/conversion) has caused an overflow, or
+        *                                                              the remaining bytes of this buffer are smaller than size of @c wchar_t.
+        * @remarks     This method writes the size of @c wchar_t number of bytes containing the given @c wchar_t value
+        *                              into this buffer at the current position, and then increments the position by the size of @c wchar_t.
         * @see                 GetWchar()
         */
        result SetWchar(wchar_t value);
 
        /**
-        * Sets the given @c short value into the current %ByteBuffer instance at the current
+        * Sets the given @c short value into the current instance of %ByteBuffer at the current
         * position, and then increments the position. @n
-        * Provides a way to perform relative indexing and writing.
+        * Provides a way for relative indexing and writing.
         *
         * @since 2.0
         *
         * @return              An error code
         * @param[in]   value                   The @c short value to write
         * @exception   E_SUCCESS               The method is successful.
-        * @exception   E_OVERFLOW              Either of the following conditions has occurred:
-        *                                                              - The operation (arithmetic/casting/conversion) has caused an overflow.
-        *                                                              - The remaining bytes of this buffer are smaller than the size of the @c short value.
-        * @remarks             This method writes the size of the @c short number of bytes containing the given @c short value
-        *                              into the calling buffer, at the current position, and then increments the position by the size of the @c short value.
+        * @exception   E_OVERFLOW              The operation (arithmetic/casting/conversion) has caused an overflow, or
+        *                                                              the remaining bytes of this buffer are smaller than the size of @c short.
+        * @remarks     This method writes the size of @c short number of bytes containing the given @c short value
+        *                              into this buffer at the current position, and then increments the position by the size of @c short.
         * @see                 GetShort()
         */
        result SetShort(short value);
 
        /**
-        * Sets a @c double value at the specified @c index of the current %ByteBuffer instance. @n
-        * It provides a way to perform absolute indexing and writing.
+        * Sets a @c double value at the specified index of the current instance of %ByteBuffer. @n
+        * Provides a way for absolute indexing and writing.
         *
         * @since 2.0
         *
         * @return              An error code
-        * @param[in]   index                           The index of the current instance of %ByteBuffer at which the bytes are written
-        * @param[in]   value                           The @c double value to write
+        * @param[in]   index           The index of current instance of %ByteBuffer at which the bytes are written
+        * @param[in]   value           The @c double value to write
         * @exception   E_SUCCESS                       The method is successful.
-        * @exception   E_OUT_OF_RANGE          Either of the following conditions has occurred:
-        *                                                                      - The specified @c index is outside the bounds of the data structure.
-        *                                                                      - The specified @c index is larger than the limit minus the size of the @c double value.
-        *                                                                      - The specified @c index is less than @c 0.
-        * @remarks             This method writes the size of the @c double number of bytes containing the given @c double value
-        *                              into the calling buffer, at the given @c index.
+        * @exception   E_OUT_OF_RANGE          The specified index is outside the bounds of the data structure, or
+        *                                                                      the @c index is larger than the limit minus the size of @c double or less than @c 0.
+        * @remarks     This method writes the size of @c double number of bytes containing the given @c double value
+        *                              into this buffer at the given index.
         * @see                 GetDouble()
         */
        result SetDouble(int index, double value);
 
        /**
-        *  Sets a @c float value at the specified @c index of the calling %ByteBuffer instance. @n
-        *  It provides a way to perform absolute indexing and writing.
+        *  Sets a @c float value at the specified index of the calling %ByteBuffer object. @n
+        *  Provides a way for absolute indexing and writing.
         *
         * @since 2.0
         *
         * @return              An error code
-        * @param[in]   index                           The index of the current instance of %ByteBuffer at which the bytes are written
-        * @param[in]   value                           The @c float value to write
+        * @param[in]   index           The index of current instance of %ByteBuffer at which the bytes are written
+        * @param[in]   value           The @c float value to write
         * @exception   E_SUCCESS                       The method is successful.
-        * @exception   E_OUT_OF_RANGE          Either of the following conditions has occurred:
-        *                                                                      - The specified @c index is outside the bounds of the data structure.
-        *                                                                      - The specified @c index is larger than the limit minus the size of the @c float value.
-        *                                                                      - The specified @c index is less than @c 0.
-        * @remarks             This method writes the size of the @c float number of bytes containing the given @c float value
-        *                              into the calling buffer, at the given @c index.
+        * @exception   E_OUT_OF_RANGE          The specified index is outside the bounds of the data structure, or
+        *                                                                      the @c index is larger than the limit minus the size of @c float or less than @c 0.
+        * @remarks     This method writes the size of @c float number of bytes containing the given @c float value
+        *                              into this buffer at the given index.
         * @see                 GetFloat()
         */
        result SetFloat(int index, float value);
 
        /**
-        * Sets a @c int value at the specified @c index of the calling %ByteBuffer instance. @n
-        * It provides a way to perform absolute indexing and writing.
+        * Sets a @c int value at the specified index of the calling %ByteBuffer object. @n
+        * Provides a way for absolute indexing and writing.
         *
         * @since 2.0
         *
         * @return              An error code
-        * @param[in]   index                           The index of the current instance of %ByteBuffer at which the bytes are written
-        * @param[in]   value                           The @c int value to write
-        * @exception   E_SUCCESS                       The method is successful.
-        * @exception   E_OUT_OF_RANGE          Either of the following conditions has occurred:
-        *                                                                      - The specified @c index is outside the bounds of the data structure.
-        *                                                                      - The specified @c index is larger than the limit minus the size of the @c int value.
-        *                                                                      - The specified @c index is less than @c 0
-        * @remarks             This method writes the size of the @c int number of bytes containing the given @c int value
-        *                              into the calling buffer, at the given @c index.
+        * @param[in]   index           The index of current instance of %ByteBuffer at which the bytes are written
+        * @param[in]   value           The @c int value to write
+        * @exception   E_SUCCESS               The method is successful.
+        * @exception   E_OUT_OF_RANGE          The specified index is outside the bounds of the data structure, or
+        *                                                                      the @c index is larger than the limit minus size of @c int or less than @c 0.
+        * @remarks     This method writes the size of @c int number of bytes containing the given @c int value
+        *                              into this buffer at the given index.
         * @see                 GetInt()
         */
        result SetInt(int index, int value);
 
        /**
-        * Sets a @c long value at the specified index of the calling %ByteBuffer instance. @n
-        * It provides a way to perform absolute indexing and writing.
+        * Sets a @c long value at the specified index of the calling %ByteBuffer object. @n
+        * Provides a way for absolute indexing and writing.
         *
         * @since 2.0
         *
         * @return              An error code
-        * @param[in]   index                           The index at which the bytes are written
-        * @param[in]   value                           The @c long value to write
+        * @param[in]   index           The index at which the bytes are written
+        * @param[in]   value           The @c long value to write
         * @exception   E_SUCCESS                       The method is successful.
-        * @exception   E_OUT_OF_RANGE          Either of the following conditions has occurred:
-        *                                                                      - The specified @c index is outside the bounds of the data structure.
-        *                                                                      - The specified @c index is larger than the limit minus the size of the @c long value.
-        *                                                                      - The specified @c index is less than @c 0.
-        * @remarks             This method writes the size of the @c long number of bytes containing the given @c long value
-        *                              into the calling buffer, at the given @c index.
+        * @exception   E_OUT_OF_RANGE          The specified index is outside the bounds of the data structure, or
+        *                                                                      the @c index is larger than the limit minus the size of @c long or less than @c 0.
+        * @remarks     This method writes size of @c long number of bytes containing the given @c long value
+        *                              into this buffer at the given index.
         * @see                 GetLong()
         */
        result SetLong(int index, long value);
 
        /**
-        * Sets a @c long @c long value at the specified @c index of the calling %ByteBuffer instance. @n
-        * It provides a way to perform absolute indexing and writing.
+        * Sets a @c long @c long value at the specified index of the calling %ByteBuffer object. @n
+        * Provides a way for absolute indexing and writing.
         *
         * @since 2.0
         *
         * @return              An error code
-        * @param[in]   index                           The index at which the bytes are written
-        * @param[in]   value                           The @c long @c long value to write
+        * @param[in]   index           The index at which the bytes will be written
+        * @param[in]   value           The @c long @c long value to write
         * @exception   E_SUCCESS                       The method is successful.
-        * @exception   E_OUT_OF_RANGE          Either of the following conditions has occurred:
-        *                                                                      - The specified @c index is outside the bounds of the data structure.
-        *                                                                      - The specified @c index is larger than the limit minus the size of the @c long @c long value.
-        *                                                                      - The specified @c index is less than @c 0.
-        * @remarks             This method writes the size of the @c long @c long number of bytes containing the given @c long @c long value
-        *                              into the calling buffer, at the given @c index.
+        * @exception   E_OUT_OF_RANGE          The specified index is outside the bounds of the data structure, or
+        *                                                                      the @c index is larger than the limit minus the size of @c long @c long or less than @c 0.
+        * @remarks     This method writes the size of @c long @c long number of bytes containing the given @c long @c long value
+        *                              into this buffer at the given index.
         * @see                 GetLongLong()
         */
        result SetLongLong(int index, long long value);
 
        /**
         * @if OSPDEPREC
-        * Sets a @c wchar_t value at the specified @c index of the calling %ByteBuffer instance. @n
-        * It provides a way to perform absolute indexing and writing.
+        * Sets a @c wchar_t value at the specified index of the calling %ByteBuffer object. @n
+        * Provides a way for absolute indexing and writing.
         *
-        * @brief               <i> [Deprecated] </i>
-        * @deprecated  This method is deprecated as @c mchar type is changed to @c wchar_t type.
-        *                              Instead of using this method, use the SetWchar(int index, wchar_t value) method.
+        * @brief       <i> [Deprecated] </i>
+        * @deprecated This method is deprecated as @c mchar type is changed to @c wchar_t type.
+        * Instead of using this method, use the SetWchar(int index, wchar_t value) method.
         * @since 2.0
         *
         * @return              An error code
-        * @param[in]   index                           The index at which the bytes are written
-        * @param[in]   value                           The @c wchar_t value to write
+        * @param[in]   index           The index at which the bytes will be written
+        * @param[in]   value           The @c wchar_t value to write
         * @exception   E_SUCCESS                       The method is successful.
-        * @exception   E_OUT_OF_RANGE          Either of the following conditions has occurred:
-        *                                                                      - The specified index is outside the bounds of the data structure.
-        *                                                                      - The specified @c index is larger than the limit minus the size of the @c wchar_t value.
-        *                                                                      - The specified @c index is less than @c 0.
-        * @remarks             This method writes the size of the @c wchar_t number of bytes containing the given @c wchar_t value
-        *                              into the calling buffer, at the given @c index.
+        * @exception   E_OUT_OF_RANGE          The specified index is outside the bounds of the data structure, or
+        *                                                                      the @c index is larger than the limit minus the size of @c wchar_t or less than @c 0.
+        * @remarks     This method writes the size of @c wchar_t number of bytes containing the given @c wchar_t value
+        *                              into this buffer at the given index.
         * @see                 GetMchar()
         * @endif
         */
        result SetMchar(int index, wchar_t value);
 
        /**
-        * Sets a @c wchar_t value at the specified @c index of the calling %ByteBuffer instance. @n
-        * It provides a way to perform absolute indexing and writing.
+        * Sets a @c wchar_t value at the specified index of the calling %ByteBuffer object. @n
+        * Provides a way for absolute indexing and writing.
         *
         * @since 2.0
         *
         * @return              An error code
-        * @param[in]   index           The index at which the bytes are written
+        * @param[in]   index           The index at which the bytes will be written
         * @param[in]   value           The @c wchar_t value to write
         * @exception   E_SUCCESS               The method is successful.
-        * @exception   E_OUT_OF_RANGE  Either of the following conditions has occurred:
-        *                                                              - The specified @c index is outside the bounds of the data structure.
-        *                                                              - The specified @c index is larger than the limit minus the size of the @c wchar_t value.
-        *                                                              - The specified @c index is less than @c 0.
-        * @remarks             This method writes the size of the @c wchar_t number of bytes containing the given @c wchar_t value
-        *                              into the calling buffer, at the given @c index.
+        * @exception   E_OUT_OF_RANGE  The specified index is outside the bounds of the data structure, or
+        *                                                              the @c index is larger than the limit minus the size of @c wchar_t or less than @c 0.
+        * @remarks     This method writes the size of @c wchar_t number of bytes containing the given @c wchar_t value
+        *                              into this buffer at the given index.
         * @see                 GetWchar()
         */
        result SetWchar(int index, wchar_t value);
 
        /**
-        * Sets a @c short value at the specified @c index of the calling %ByteBuffer instance. @n
-        * It provides a way to perform absolute indexing and writing.
+        * Sets a @c short value at the specified index of the calling %ByteBuffer object. @n
+        * Provides a way for absolute indexing and writing.
         *
         * @since 2.0
         *
         * @return              An error code
-        * @param[in]   index                           The index of at which the bytes are written
-        * @param[in]   value                           The @c short value to write
+        * @param[in]   index           The index of at which the bytes are written
+        * @param[in]   value           The @c short value to write
         * @exception   E_SUCCESS                       The method is successful.
-        * @exception   E_OUT_OF_RANGE          Either of the following conditions has occurred:
-        *                                                                      - The specified @c index is outside the bounds of the data structure.
-        *                                                                      - The specified @c index is larger than the limit minus the size of the @c short value.
-        *                                                                      - The specified @c index is less than @c 0.
-        * @remarks             This method writes the size of the @c short number of bytes containing the given @c short value
-        *                              into the calling buffer, at the given @c index.
+        * @exception   E_OUT_OF_RANGE          The specified index is outside the bounds of the data structure, or
+        *                                                                      the @c index is larger than the limit minus the size of @c short or less than @c 0.
+        * @remarks     This method writes the size of @c short number of bytes containing the given @c short value
+        *                              into this buffer at the given index.
         * @see                 GetShort()
         */
        result SetShort(int index, short value);
 
        /**
         * Creates a new %ByteBuffer whose content is a shared portion of
-        * the content of the calling %ByteBuffer instance.
+        * the content of the calling %ByteBuffer object.
         *
         * @since 2.0
         *
-        * @return              A %ByteBuffer pointer to the current position of the calling object
-        * @remarks
-        *                              - The content of the new buffer starts at the current position of the calling %ByteBuffer object.
-        *                              - The new buffer's position is zero, its capacity and limit are
-        *                              the number of bytes remaining in the current instance of %ByteBuffer,
+        * @return              %ByteBuffer pointer to the current position of the calling object
+        * @remarks     The content of the new buffer starts at the current position of the calling %ByteBuffer object.
+        *                              The new buffer's position is zero, its capacity and limit are
+        *                              the number of bytes remaining of the current instance of %ByteBuffer,
         *                              and its mark is undefined.
         */
        ByteBuffer* SliceN(void) const;
 
        /**
-        * Gets a pointer to the raw array of the calling buffer. @n
+        * Gets the pointer to the raw array of the calling buffer. @n
         * If the capacity is zero, it returns @c null.
         *
         * @since 2.0
@@ -1318,12 +1244,12 @@ public:
        const byte* GetPointer(void) const;
 
        /**
-        * Gets a pointer to the raw array of the calling buffer. @n
+        * Gets the pointer to the raw array of the calling buffer. @n
         * If the capacity is zero, it returns @c null.
         *
         * @since 2.1
         *
-        * @return              A pointer (non-constant) to the raw array of the calling buffer
+        * @return              A pointer(non-const) to the raw array of the calling buffer
         */
        byte* GetPointer(void);
 
@@ -1332,12 +1258,12 @@ public:
         *
         * @since 2.0
         *
-        * @return              @c true if the input Object equals the calling %ByteBuffer instance, @n
+        * @return              @c true if the input object equals the calling %ByteBuffer instance, @n
         *                              else @c false
-        * @param[in]   obj                     The Object instance to compare with the calling object
-        * @remarks         This method returns @c true only if the specified object is also an instance of
-        *                              the %ByteBuffer class, the two buffers have the same number of remaining elements, and the
-        *                              sequences of the remaining elements are equal (considered independent of their starting positions).
+        * @param[in]   obj     The object instance to compare with the calling object
+        * @remarks     This method returns @c true only if the specified object is also an instance of
+        *                              the %ByteBuffer class, the two buffers have the same number of remaining elements, and the two
+        *                              sequences of remaining elements are equal (considered independent of their starting positions).
         * @see                 Tizen::Base::BufferBase::GetHashCode()
         */
        virtual bool Equals(const Tizen::Base::Object& obj) const;
@@ -1347,7 +1273,7 @@ public:
         *
         *      @since 2.0
         *
-        *      @return                 The hash value of the current instance
+        *      @return         The hash value of the current instance
         *      @remarks                The hash code of a buffer depends only upon its remaining elements.
         */
        virtual int GetHashCode(void) const;
index 479c00e..483894e 100644 (file)
@@ -32,32 +32,32 @@ namespace Tizen { namespace Base
 /**
  *     @enum   UnicodeCategory
  *
- *     Defines the constants used to distinguish the categories of the Unicode characters.
+ *     Defines the constants used to distinguish the categories of Unicode characters.
  *
  *     @since 2.0
  */
 enum UnicodeCategory
 {
-       UNICODE_SURROGATE = 1,          /**< The surrogate Unicode category */
-       UNICODE_MODIFIER,               /**< The spacing modifier Unicode category */
-       UNICODE_ARROW,                  /**< @if OSPDEPREC @deprecated This enum value is deprecated because this category is not valid anymore. @endif */
-       UNICODE_SPACE,                  /**< The space Unicode category */
-       UNICODE_PUNCTUATION,            /**< The punctuation Unicode category */
-       UNICODE_CONTROL,                /**< The control Unicode category */
-       UNICODE_MATH,                   /**< The math Unicode category */
-       UNICODE_DIGIT,                  /**< The digit Unicode category */
-       UNICODE_HANGUL,                 /**< @if OSPDEPREC @deprecated This enum value is deprecated because this category is not valid anymore. @endif */
-       UNICODE_HANJA,                  /**< @if OSPDEPREC @deprecated This enum value is deprecated because this category is not valid anymore. @endif */
-       UNICODE_COMBINING,              /**< @if OSPDEPREC @deprecated This enum value is deprecated because this category is not valid anymore. @endif */
-       UNICODE_LANGUAGE,               /**< @if OSPDEPREC @deprecated This enum value is deprecated because this category is not valid anymore. @endif */
-       UNICODE_UPPERCASE,              /**< The uppercase Unicode category */
-       UNICODE_LOWERCASE,              /**< The lowercase Unicode category */
-       UNICODE_TITLECASE,              /**< The titlecase Unicode category */
-       UNICODE_LETTER,                 /**< The letter Unicode category */
-       UNICODE_MARK,                   /**< The mark Unicode category */
-       UNICODE_CURRENCY,               /**< The currency Unicode category */
-       UNICODE_SEPARATOR,              /**< The separator Unicode category */
-       UNICODE_OTHER                   /**< The other Unicode category */
+       UNICODE_SURROGATE = 1,          /**<    The surrogate Unicode category          */
+       UNICODE_MODIFIER,               /**<    The spacing modifier Unicode category           */
+       UNICODE_ARROW,                  /**<    @if OSPDEPREC @deprecated This enum value is deprecated because this category is not valid anymore. @endif*/
+       UNICODE_SPACE,                  /**<    The space Unicode category                      */
+       UNICODE_PUNCTUATION,            /**<    The punctuation Unicode category        */
+       UNICODE_CONTROL,                /**<    The control Unicode category            */
+       UNICODE_MATH,                   /**<    The math Unicode category                       */
+       UNICODE_DIGIT,                  /**<    The digit Unicode category                      */
+       UNICODE_HANGUL,                 /**<    @if OSPDEPREC @deprecated This enum value is deprecated because this category is not valid anymore. @endif*/
+       UNICODE_HANJA,                  /**<    @if OSPDEPREC @deprecated This enum value is deprecated because this category is not valid anymore. @endif*/
+       UNICODE_COMBINING,              /**<    @if OSPDEPREC @deprecated This enum value is deprecated because this category is not valid anymore. @endif*/
+       UNICODE_LANGUAGE,               /**<    @if OSPDEPREC @deprecated This enum value is deprecated because this category is not valid anymore. @endif*/
+       UNICODE_UPPERCASE,              /**<    The uppercase Unicode category*/
+       UNICODE_LOWERCASE,              /**<    The lowercase Unicode category*/
+       UNICODE_TITLECASE,              /**<    The titlecase Unicode category*/
+       UNICODE_LETTER,                 /**<    The letter Unicode category*/
+       UNICODE_MARK,                   /**<    The mark Unicode category*/
+       UNICODE_CURRENCY,               /**<    The currency Unicode category*/
+       UNICODE_SEPARATOR,              /**<    The separator Unicode category*/
+       UNICODE_OTHER                   /**<    The other Unicode category              */
 };
 
 
@@ -67,9 +67,9 @@ enum UnicodeCategory
  *
  *     @since 2.0
  *
- *     The %Character class wraps the value of the @c wchar_t type. It also provides
+ *     The %Character class wraps a value of the @c wchar_t type. It also provides
  *     several methods for determining a Unicode character's category, and for
- *     converting the case of the intrinsic characters. This class is useful when
+ *     converting the case of intrinsic characters. The class is useful when
  *     passing a Unicode character to a method expecting an instance of Object.
  *
  * The following example demonstrates how to use the %Character class.
@@ -80,7 +80,7 @@ enum UnicodeCategory
  *
  *     using namespace Tizen::Base;
  *
- *     // This method converts the first character of the given string to the upper case.
+ *     // This method converts the first character of the given @c string to the upper case.
  *     void
  *     MyClass::CharacterSample(String& str)
  *     {
@@ -104,7 +104,7 @@ public:
         *
         *      @since 2.0
         *
-        *      @param[in]      value   The multi-byte character used to initialize the %Character instance
+        *      @param[in]      value   A multi-byte character used to initialize the %Character instance
         */
        Character(wchar_t value);
 
@@ -113,7 +113,7 @@ public:
         *
         *      @since 2.0
         *
-        *      @param[in]      value   An instance of %Character to copy
+        *      @param[in]      value   An instance of %Character
         */
        Character(const Character& value);
 
@@ -129,7 +129,7 @@ public:
         *
         *      @since 2.0
         *
-        *      @param[in]      rhs     An instance of %Character to copy
+        *      @param[in]      rhs     An instance of %Character
         */
        Character& operator =(const Character& rhs);
 
@@ -139,8 +139,8 @@ public:
         *
         *      @since 2.0
         *
-        *      @return         The 32-bit @c signed integer value
-        *  @param[in]  value   The %Character instance to compare with
+        *      @return         A 32-bit @c signed integer value
+        *  @param[in]  value   The character instance to compare with
         *
         *      @code
         *      @li <  0  if the value of the current instance is less than the value of the input instance
@@ -152,14 +152,14 @@ public:
        int CompareTo(const Character& value) const;
 
        /**
-        *      Checks whether the value of the input Object is equal
-        *      to the value of the calling %Object.
+        *      Checks whether the value of the Object parameter is equal
+        *      to the value of the calling object.
         *
         *      @since 2.0
         *      @return         @c true if the input Object is equal to the calling %Object, @n
         *                              else @c false
-        *      @param[in]      obj             The object to compare with the calling object
-        *      @see            Tizen::Base::Object::Equals()
+        *      @param[in]      obj     The object to compare with the calling object
+        *      @see                    Tizen::Base::Object::Equals()
         */
        virtual bool Equals(const Object& obj) const;
 
@@ -169,28 +169,30 @@ public:
         *      @since 2.0
         *
         *      @return         The hash value of the current instance
-        *      @remarks        The two Tizen::Base::Object::Equals() instances must return the same hash value. @n
-        *                              For better performance,the used hash function must generate a random distribution for all the inputs.
+        *      @remarks        The two Tizen::Base::Object::Equals() instances must return the same hash value. For better performance,
+        *                              the used hash function must generate a random distribution for all inputs.
         */
        virtual int GetHashCode(void) const;
 
        /**
-        *      Returns the value of the current instance as a @c wchar_t value.
+        *      Returns the value of the current instance as a
+        *      @c wchar_t.
         *
         *      @since 2.0
         *
-        *      @return         The value of this instance as a @c wchar_t value
+        *      @return         The value of this instance as
+        *                              a @c wchar_t
         */
        wchar_t ToMchar(void) const;
 
        /**
         *      @if OSPDEPREC
         *      Converts the Unicode characters of the calling object to its equivalent lowercase. @n
-        *      Unicode characters other than the English alphabets are not changed.
+        *      The Unicode characters other than English alphabets are not changed.
         *
-        *      @brief          <i> [Deprecated] </i>
+        *      @brief  <i> [Deprecated] </i>
         *      @deprecated This method is deprecated as a new method has been introduced.
-        *                              Instead of using this method, use the ToLowerCase() method that supports Unicode characters other than the English alphabets.
+        *      Instead of using this method, use the ToLowerCase() method that supports Unicode characters other than English alphabets.
         *
         *      @since 2.0
         *      @endif
@@ -200,7 +202,7 @@ public:
 
        /**
         *      Converts the Unicode characters of the calling object to its equivalent lowercase. @n
-        *      Unicode characters other than the English alphabets are also supported.
+        *      The Unicode characters other than English alphabets are also supported.
         *
         *      @since 2.0
         */
@@ -210,11 +212,11 @@ public:
        /**
         *      @if OSPDEPREC
         *      Converts the Unicode characters of the current object to its equivalent uppercase. @n
-        *      Unicode characters other than the English alphabets are not changed.
+        *      The Unicode characters other than English alphabets are not changed.
         *
-        *      @brief          <i> [Deprecated] </i>
+        *      @brief  <i> [Deprecated] </i>
         *      @deprecated This method is deprecated as a new method has been introduced.
-        *                              Instead of using this method, use the ToUpperCase() method that supports Unicode characters other than the English alphabets.
+        *      Instead of using this method, use the ToUpperCase() method that supports the Unicode characters other than English alphabets.
         *
         *      @since 2.0
         *      @endif
@@ -224,7 +226,7 @@ public:
 
        /**
         *      Converts the Unicode characters of the current object to its equivalent uppercase. @n
-        *      Unicode characters other than English alphabets are also supported.
+        *      The Unicode characters other than English alphabets are also supported.
         *
         *      @since 2.0
         */
@@ -232,11 +234,11 @@ public:
 
 
        /**
-        *      Returns a string that represents the value of the calling %Character instance.
+        *      Returns a string representing the value of the calling %Character instance.
         *
         *      @since 2.0
         *
-        *      @return         An instance of String that
+        *      @return         An instance of String class that
         *                              contains a Unicode representation of the calling instance
         */
        String ToString(void) const;
@@ -247,7 +249,7 @@ public:
         *
         *      @since 2.0
         *
-        *      @return         An instance of String
+        *      @return         An instance of the String class
         *                              that contains the Unicode representation of the
         *                              input value
         *      @param[in]      value   The Unicode character to convert
@@ -255,12 +257,12 @@ public:
        static String ToString(wchar_t value);
 
        /**
-        *      Categorizes a Unicode character into a group that is identified by
+        *      Categorizes a Unicode character into a group identified by
         *      one of the UnicodeCategory values.
         *
         *      @since 2.0
         *
-        *      @return             The value of type UnicodeCategory that identifies the group that contains the specified @c ch
+        *      @return             A value of type UnicodeCategory that identifies the group that contains the specified @c ch
         *      @param[in]      ch      The Unicode character to categorize
         *
         */
@@ -269,14 +271,14 @@ public:
        /**
         *      @if OSPDEPREC
         *      Converts the input Unicode character to its equivalent lowercase. @n
-        *      Unicode characters other than the English alphabets are not changed.
+        *      The Unicode characters other than English alphabets are not changed.
         *
-        *      @brief          <i> [Deprecated] </i>
+        *      @brief  <i> [Deprecated] </i>
         *      @deprecated This method is deprecated as a new method has been introduced.
-        *                              Instead of using this method, use the ToLowerCase(wchar_t ch) method that supports Unicode characters other than the English alphabets.
+        *      Instead of using this method, use the ToLowerCase(wchar_t ch) method that supports the Unicode characters other than English alphabets.
         *
         *      @since 2.0
-        *      @return         The lowercase equivalent of the input Unicode character
+        *      @return         An lowercase equivalent of the input Unicode character
         *      @param[in]      ch      The Unicode character to convert
         *      @endif
         */
@@ -284,11 +286,11 @@ public:
 
        /**
         *      Converts the input Unicode character to its equivalent lowercase. @n
-        *      Unicode characters other than the English alphabets are also supported.
+        *      The Unicode characters other than English alphabets are also supported.
         *
         *      @since 2.0
         *
-        *      @return         The lowercase equivalent of the input Unicode character
+        *      @return         An lowercase equivalent of the input Unicode character
         *      @param[in]      ch      The Unicode character to convert
         */
        static wchar_t ToLowerCase(wchar_t ch);
@@ -296,14 +298,14 @@ public:
        /**
         *      @if OSPDEPREC
         *      Converts the input Unicode character to its equivalent uppercase. @n
-        *  Unicode characters other than the English alphabets are not changed.
+        *  The Unicode characters other than English alphabets are not changed.
         *
-        *      @brief          <i> [Deprecated] </i>
+        *      @brief  <i> [Deprecated] </i>
         *      @deprecated This method is deprecated as a new method has been introduced.
-        *                              Instead of using this method, use the ToUpperCase(wchar_t ch) method that supports Unicode characters other than the English alphabets.
+        *      Instead of using this method, use the ToUpperCase(wchar_t ch) method that supports Unicode characters other than English alphabets.
         *
         *      @since 2.0
-        *      @return         The uppercase equivalent of the input Unicode character
+        *      @return         An uppercase equivalent of the input Unicode character
         *      @param[in]      ch      The Unicode character to convert
         *      @endif
         */
@@ -311,18 +313,18 @@ public:
 
        /**
         *      Converts the input Unicode character to its equivalent uppercase. @n
-        *      Unicode characters other than the English alphabets are also supported.
+        *      The Unicode characters other than English alphabets are also supported.
         *
         *      @since 2.0
         *
-        *      @return         The uppercase equivalent of the input Unicode character
+        *      @return         An uppercase equivalent of the input Unicode character
         *      @param[in]      ch      The Unicode character to convert
         */
        static wchar_t ToUpperCase(wchar_t ch);
 
        /**
         *      Checks whether the input character is an alphanumeric character (letter or digit). @n
-        *      A character is considered to be an alphanumeric character if either Character::isLetter(wchar_t ch) or Character::isDigit(wchar_t ch) returns @c true for the character
+        *      A character is considered to be an alphanumeric character if either Character::isLetter(wchar_t ch) or Character::isDigit(wchar_t ch) returns true for the character
         *      @if OSPCOMPAT
         *      @brief <i> [Compatibility] </i>
         *      @endif
@@ -343,11 +345,11 @@ public:
         *      @section                CompCharacterIsAlphaNumericPageIssueSection Issues
         *                                      Implementing this method in OSP compatible applications has the following issues: @n
         *
-        *      -# The method returns @c true only if the character is an alphabet character, it cannot check other Unicode characters in the letter and digit category.
+        *      -# The method returns true only if the character is alphabet character and cannot checks other Unicode character in Letter and digit category.
         *
         *      @section                CompCharacterIsAlphaNumericPageSolutionSection Resolutions
         *
-        *      This issue mentioned above is resolved in %Tizen.
+        *      This issue has been resolved in Tizen.
         *      @endif
         */
 
@@ -385,11 +387,11 @@ public:
         *      @section                CompCharacterIsLetterPageIssueSection Issues
         *                                      Implementing this method in OSP compatible applications has the following issues: @n
         *
-        *      -# The method returns @c true only if the character is an alphabet character, it cannot check other Unicode characters in the letter category.
+        *      -# The method returns true only if the character is alphabet character and cannot checks other Unicode character in Letter category.
         *
         *      @section                CompCharacterIsLetterPageSolutionSection Resolutions
         *
-        *      This issue mentioned above is resolved in %Tizen.
+        *      This issue has been resolved in Tizen.
         *      @endif
         */
 
@@ -397,12 +399,12 @@ public:
         *      @if OSPDEPREC
         *      Checks whether the input character is a lowercase alphabet.
         *
-        *      @brief          <i> [Deprecated] </i>
+        *      @brief  <i> [Deprecated] </i>
         *      @deprecated This method is deprecated as a new method has been introduced.
-        *                              Instead of using this method, use the IsLowerCase(wchar_t ch) method that supports Unicode characters.
+        *      Instead of using this method, use the IsLowerCase(wchar_t ch) method that supports Unicode characters.
         *      @since 2.0
         *
-        *      @return         @c true if the input character is a lowercase alphabet, @n
+        *      @return         @c true if the input character is a lowercase English alphabet, @n
         *                              else @c false
         *      @param[in]      ch      The Unicode character
         *      @endif
@@ -425,9 +427,9 @@ public:
         *      @if OSPDEPREC
         *      Checks whether the input character is an uppercase alphabet.
         *
-        *      @brief          <i> [Deprecated] </i>
+        *      @brief  <i> [Deprecated] </i>
         *      @deprecated This method is deprecated as a new method has been introduced.
-        *                              Instead of using this method, use the IsUpperCase(wchar_t ch) method that also supports Unicode characters other than the English alphabets.
+        *      Instead of using this method, use the IsUpperCase(wchar_t ch) method that also supports Unicode characters other than English alphabets.
         *      @since 2.0
         *
         *      @return         @c true if the input character is an uppercase alphabet, @n
@@ -450,39 +452,38 @@ public:
        static bool IsUpperCase(wchar_t ch);
 
        /**
-        *      Returns the value of the input character in the supplied @c radix. @n
-        *      The value of @c radix must be between Character::RADIX_MIN and Character::RADIX_MAX.
+        *      Returns the value of the input character in the supplied radix. @n
+        *      The value of radix must be between RADIX_MIN and RADIX_MAX.
         *
         *      @since 2.0
         *
-        *      @return         The integer value of the input character in the supplied @c radix
-        *      @param[in]      ch   The character that determines the value
+        *      @return         A integer value of the input character in the supplied radix
+        *      @param[in]      ch   The character to determine the value
         *      @param[in]      radix   The radix
         */
        static int ToDigit(wchar_t ch, int radix);
 
        /**
-        *      Returns the value which represents the input digit in the specified @c radix. @n
-        *      The value of @c radix must be between Character::RADIX_MIN and Character::RADIX_MAX.
+        *      Returns the value which represents the input digit with specified radix. @n
+        *      The value of radix must be between RADIX_MIN and RADIX_MAX.
         *
         *      @since 2.0
         *
-        *      @return         The Unicode character of the input digit in the specified @c radix @n
-        *                              else @c null character (U+0000)
-        *      @param[in]      digit   The digit that determines the value
+        *      @return         A Unicode character of the input digit with specified @c radix @n
+        *                              else @c null character (U+0000)
+        *      @param[in]      digit   The digit to determine the value
         *      @param[in]      radix   The radix
         */
        static wchar_t ForDigit(int digit, int radix);
 
        /**
         *      Gets the numeric value of the input unicode character. @n
-        *      This is used when some numeric values are fractions, negative, or too large for the @c int value.
+        *      This is used when some numeric values are fractions, negative, or too large for @c int value.
         *
         *      @since 2.0
         *
-        *      @return         The @c double value @n 
-        *                              NO_NUMERIC_VALUE is returned for characters without any numeric values in the Unicode character.
-        *      @param[in]      ch      The Unicode character
+        *      @return         A @c double value @n NO_NUMERIC_VALUE for characters without any numeric values in the Unicode %Character.
+        *      @param[in]      ch      A Unicode character
         */
        static double GetNumericValue(wchar_t ch);
 
@@ -493,7 +494,7 @@ public:
         *
         *      @return         @c true if the Unicode character is an assigned character, @n
         *                              else @c false
-        *      @param[in]      ch      The Unicode character
+        *      @param[in]      ch      A Unicode character
         */
        static bool IsDefined(wchar_t ch);
 
@@ -505,10 +506,10 @@ public:
         *
         *      @return         @c true if the Unicode character is a whitespace character, @n
         *                              else @c false
-        *      @param[in]      ch      The Unicode character
+        *      @param[in]      ch      A Unicode character
         *
         *      @code
-        *      It is a Unicode Separator character, but is also not a non-breaking space (U+00A0 NBSP or U+2007 Figure Space or U+202F Narrow NBSP).
+        *      It is a Unicode Separator character, but is not also a non-breaking space (U+00A0 NBSP or U+2007 Figure Space or U+202F Narrow NBSP).
         *      It is U+0009 HORIZONTAL TABULATION.
         *      It is U+000A LINE FEED.
         *      It is U+000B VERTICAL TABULATION.
@@ -530,7 +531,7 @@ public:
         *
         *      @return         @c true if the Unicode character is a title character, @n
         *                              else @c false
-        *      @param[in]      ch      The Unicode character
+        *      @param[in]      ch      A Unicode character
         */
        static bool IsTitleCase(wchar_t ch);
 
@@ -539,20 +540,19 @@ public:
         *
         *      @since 2.0
         *
-        *      @return         The title case character equivalent for the input character @n 
-        *                              The character itself is returned if no equivalent is defined.
-        *      @param[in]      ch      The Unicode character
+        *      @return         A title case character equivalent for the input character @n The character itself is returned if none is defined.
+        *      @param[in]      ch      A Unicode character
         */
        static wchar_t ToTitleCase(wchar_t ch);
 
        /**
-        *      Checks whether the input character is an ISO control code.
+        *      Checks whether the input character is an ISO control code or not.
         *
         *      @since 2.0
         *
         *      @return         @c true if the Unicode character is an ISO control character, @n
         *                              else @c false
-        *      @param[in]      ch      The Unicode character
+        *      @param[in]      ch      A Unicode character
         */
        static bool IsISOControl(wchar_t ch);
 
@@ -565,57 +565,57 @@ public:
        static const wchar_t VALUE_MAX = 0x10FFFF;
 
        /**
-        * A constant holding the smallest value of type @c wchar_t, 0x0000.
+        * A constant holding the smallest value of type wchar_t, 0x0000.
         *
         * @since 2.0
         */
        static const wchar_t VALUE_MIN = 0x0000;
 
        /**
-        * The minimum radix available for converting to and from strings. @n
-        * Same value as Character::RADIX_BINARY.
+        * The minimum radix available for conversion to and from strings. @n
+        * Same value as RADIX_BINARY.
         *
         * @since 2.0
         */
        static const int RADIX_MIN = 2;
 
        /**
-        * The radix for binary number.
+        * The radix for binary number.
         *
         * @since 2.0
         */
        static const int RADIX_BINARY = 2;
 
        /**
-        * The radix for decimal number.
+        * The radix for decimal number.
         *
         * @since 2.0
         */
        static const int RADIX_DECIMAL = 10;
 
        /**
-        * The radix for an octal number.
+        * The radix for octal number.
         *
         * @since 2.0
         */
        static const int RADIX_OCTAL = 8;
 
        /**
-        * The radix for hexadecimal number.
+        * The radix for hexadecimal number.
         *
         * @since 2.0
         */
        static const int RADIX_HEXADECIMAL = 16;
 
        /**
-        * The maximum radix available for converting to and from strings. Same value as Character::RADIX_HEXADECIMAL.
+        * The maximum radix available for conversion to and from strings. Same value as RADIX_HEXADECIMAL.
         *
         * @since 2.0
         */
        static const int RADIX_MAX = 36;
 
        /**
-        * The special value that is returned by the GetNumericValue(wchar_t ch) method when no numeric value is defined for the unicode character.
+        * Special value that is returned by GetNumericValue(wchar_t ch) when no numeric value is defined for the unicode character.
         *
         * @since 2.0
         */
index dad0b70..9dfb600 100644 (file)
@@ -27,9 +27,9 @@ namespace Tizen { namespace Base { namespace Collection
 {
 /**
  * @struct     AllElementsDeleter
- * @brief      This function object provides a resource clean-up function for collection.
+ * @brief      This function object provides a resource clean-up function for collection.
  *
- * The %AllElementsDeleter struct provides a resource clean-up function for collection. This can be used with unique_ptr as a custom deleter.
+ * The %AllElementsDeleter struct provides a resource clean-up function for collection. This can be used with unique_ptr as a custom deleter.
  *
  * @since 2.0
  */
@@ -41,7 +41,7 @@ struct AllElementsDeleter
         * @since 2.0
         *
         * @param[in] c         The collection to clean up
-        * @remarks                     The collection should be destructible and should support the RemoveAll(bool) method.
+        * @remarks                     The collection should be destructible and support the RemoveAll(bool) method.
         *                                      IList, IMap, and IMultiMap support this concept.
         */
        template< typename Collection >
index 5404c1f..3be53d6 100644 (file)
@@ -113,14 +113,11 @@ public:
         *
         * @since 2.0
         *
-        * @param[in]   deleter         A function pointer to the type of the element deleter
-        * @remarks             
-        *                              - To create an owning collection, set the element deleter value as @c SingleObjectDeleter. @n
-        *                              This gives the collection the ownership of the elements and the collection will destroy the elements. @n
-        *                              On the other hand, to create a non-owning collection, you do not need to set the element deleter value, 
-        *                              as @c NoOpDeleter is the default element deleter. @n
-        *                              It means that you do not transfer the ownership of the elements to the collection.
-        *                              - After creating an instance of the %ArrayList class, one of the Construct() methods must be called explicitly to initialize this instance.
+        * @param[in]   deleter The function pointer to type of the element deleter
+        * @remarks             To create an owning collection, set the element deleter value as @c SingleObjectDeleter. This gives the collection the ownership of elements and the collection will destroy elements. @n
+        *                              On the other hand, to create a non-owning collection, you do not need to set the element deleter value, as @c NoOpDeleter is the default element deleter.
+        *                              It means that you do not transfer the ownership of elements to the collection.
+        * @remarks             After creating an instance of the %ArrayList class, one of the Construct() methods must be called explicitly to initialize this instance.
         * @see                 NoOpDeleter()
         * @see                 SingleObjectDeleter()
         * @see                 ArrayDeleter()
@@ -141,14 +138,13 @@ public:
         * @since 2.0
         *
         * @return              An error code
-        * @param[in]   capacity                  The number of elements @n
-        *                                                                The default capacity is @c 10.
+        * @param[in]   capacity        The number of elements @n
+        *                                                      The default capacity is @c 10.
         * @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 specified @c capacity is negative.
-        * @remarks     If the number of elements added to the list reaches the current capacity,
-        *                              the capacity is automatically increased by memory reallocation. @n
+        * @exception   E_INVALID_ARG     A specified input parameter is invalid, or
+        *                                                                the specified @c capacity is negative.
+        * @remarks             If the number of elements added to the list reaches the current capacity,
+        *                              the capacity is automatically increased by memory reallocation.
         *                              Therefore, if the size of the list can be estimated,
         *                              specifying the initial capacity eliminates the need to perform a number of
         *                              resizing operations while adding elements to the list.
@@ -165,12 +161,11 @@ public:
         * @since 2.0
         *
         * @return              An error code
-        * @param[in]   collection                      The collection to add
+        * @param[in]   collection                      A collection to add
         * @exception   E_SUCCESS                       The method is successful.
-        * @exception   E_INVALID_OPERATION     Either of the following conditions has occurred:
-        *                                                                      - The current state of the instance prohibits the execution of the specified operation.
-        *                                                                      - The specified @c collection is modified during the operation of this method.
-        * @remarks     This method performs a shallow copy. It copies just the pointer and not the element itself.
+        * @exception   E_INVALID_OPERATION     The current state of the instance prohibits the execution of the specified operation, or
+        *                                                                      the @c collection is modified during the operation of this method.
+        * @remarks             This method performs a shallow copy. It copies just the pointer; not the element itself.
         * @see                 ArrayList()
         */
        result Construct(const ICollection& collection);
@@ -181,10 +176,10 @@ public:
         * @since 2.0
         *
         * @return              An error code
-        * @param[in]   pObj                    A pointer to the object to add
+        * @param[in]   pObj                    An pointer to object to add
         * @exception   E_SUCCESS               The method is successful.
         * @exception   E_INVALID_ARG   The specified input parameter is invalid.
-        * @remarks     This method performs a shallow copy. It copies just the pointer and not the element itself.
+        * @remarks             This method performs a shallow copy. It adds just the pointer; not the element itself.
         * @see                 Remove()
         */
        virtual result Add(Object* pObj);
@@ -196,39 +191,38 @@ public:
         * @since 2.0
         *
         * @return              An error code
-        * @param[in]   collection                      The collection to add
+        * @param[in]   collection                      A collection to add
         * @exception   E_SUCCESS                       The method is successful.
-        * @exception   E_INVALID_OPERATION     Either of the following conditions has occurred:
-        *                                                                      - The current state of the instance prohibits the execution of the specified operation.
-        *                                                                      - The specified @c collection is modified during the operation of this method.
-        * @remarks     This method performs a shallow copy. It copies just the pointer and not the element itself.
+        * @exception   E_INVALID_OPERATION     The current state of the instance prohibits the execution of the specified operation, or
+        *                                                                      the @c collection is modified during the operation of this method.
+        * @remarks             This method performs a shallow copy. It adds just the pointer; not the element itself.
         * @see                 RemoveItems()
         */
        virtual result AddItems(const ICollection& collection);
 
 
        /**
-        * Gets the enumerator (an instance of the IEnumerator derived class) of this list.
+        * Gets an enumerator (an instance of the IEnumerator-derived class) of this list.
         *
         * @since 2.0
         *
-        * @return              An instance of the IEnumerator derived class, @n
-        *                              else @c null if an exception occurs
+        * @return              An instance of the IEnumerator-derived class, @n
+        *                              else @c null if some exception occurs
         * @remarks             The specific error code can be accessed using the GetLastResult() method.
         */
        virtual IEnumerator* GetEnumeratorN(void) const;
 
        /**
-        * Gets the bidirectional enumerator (an instance of the IBidirectionalEnumerator derived class) of this list.
+        * Gets a bidirectional enumerator (an instance of the IBidirectionalEnumerator derived class) of this list.
         *
         * @since 2.0
         *
         * @return                      An instance of the IBidirectionalEnumerator derived class, @n
-        *                                      else @c null if an exception occurs
-        * @remarks                     
-        *                                      - Use this method to obtain a bidirectional enumerator (an instance of the IBidirectionalEnumerator derived class)
+        *                                      else @c null if some exception occurs
+        * @remarks                     Use this method to obtain a bidirectional enumerator (an instance of the IBidirectionalEnumerator derived class)
         *                                      to iterate over a collection (an instance of the IList derived class).
-        *                                      - The specific error code can be accessed using GetLastResult() method.
+        *                                      The specific error code can be accessed using GetLastResult() method.
+        * @see                         Tizen::Base::Collection::IBidirectionalEnumerator
         */
        virtual IBidirectionalEnumerator* GetBidirectionalEnumeratorN(void) const;
 
@@ -238,13 +232,11 @@ public:
         * @since 2.0
         *
         * @return              The object at the specified @c index of this list, @n
-        *                              else @c null if the @c index is not valid
-        * @param[in]   index                                   The index of the object to read in the calling list
+        *                              else @c null if the index is not valid
+        * @param[in]   index                                   The index of the object in the calling list to read
         * @exception   E_SUCCESS                               The method is successful.
-        * @exception   E_OUT_OF_RANGE                  Either of the following conditions has occurred:
-        *                                                                              - The specified @c index is outside the bounds of the data structure.
-        *                                                                              - The specified @c index is either equal to or greater than the number of elements.
-        *                                                                              - The specified @c index is less than @c 0.
+        * @exception   E_OUT_OF_RANGE                  The specified @c index is outside the bounds of the data structure, or
+        *                                                                              the specified @c index is either equal to or greater than the number of elements or less than @c 0.
         * @remarks             The specific error code can be accessed using the GetLastResult() method.
         * @see                 SetAt()
         */
@@ -257,110 +249,117 @@ public:
         * @since 2.0
         *
         * @return              The object at the specified @c index of this list, @n
-        *                              else @c null if the @c index is not valid
-        * @param[in]   index                                   The index of the object to read
+        *                              else @c null if the index is not valid
+        * @param[in]   index   The index of the object to read
         * @exception   E_SUCCESS                               The method is successful.
-        * @exception   E_OUT_OF_RANGE                  Either of the following conditions has occurred:
-        *                                                                              - The specified @c index is outside the bounds of the data structure.
-        *                                                                              - The specified @c index is either equal to or greater than the number of elements.
-        *                                                                              - The specified @c index is less than @c 0.
+        * @exception   E_OUT_OF_RANGE                  The specified @c index is outside the bounds of the data structure, or
+        *                                                                              the specified @c index is either equal to or greater than the number of elements or less than @c 0.
         * @remarks             The specific error code can be accessed using the GetLastResult() method.
         * @see                 SetAt()
         */
        virtual Object* GetAt(int index);
 
        /**
-        * Gets an IList instance within the specified range of this list.
+        * Gets the reference of the object at the specified @c index of this list.
+        *
+        * @since               3.0
+        *
+        * @return              The reference of the object at the specified @c index of this list
+        * @param[in]           index   The index of the object to read
+        * @exception   E_SUCCESS                               The method is successful.
+        * @exception   E_OUT_OF_RANGE                  The specified @c index is outside the bounds of the data structure, or
+        *                                                                              the specified @c index is either equal to or greater than the number of elements or less than @c 0.
+        * @remarks             The specific error code can be accessed using the GetLastResult() method.
+        */
+       virtual Object*& GetAtRef(int index);
+
+       /**
+        * Gets the IList within the specified range of this list.
         *
         * @since 2.0
         *
         * @return              A pointer to IList, @n
-        *                              else @c null if an exception occurs
-        * @param[in]   startIndex                              The starting index of the range
-        * @param[in]   count                                   The number of elements to read
+        *                              else @c null if some exception occurs
+        * @param[in]   startIndex      The starting index of the range
+        * @param[in]   count           The number of elements to read
         * @exception   E_SUCCESS                               The method is successful.
-        * @exception   E_OUT_OF_RANGE                  Either of the following conditions has occurred:
-        *                                                                              - The specified index is outside the bounds of the data structure.
-        *                                                                              - The specified @c startIndex is either equal to or greater than the number of elements.
-        *                                                                              - The specified @c startIndex is less than @c 0.
-        *                                                                              - The specified @c count is greater than the number of elements starting from @c startIndex.
-        *                                                                              - The specified @c count is less than @c 0.
-        * @remarks             
-        *                              - The IList stores only the pointers to the elements in the list, not the elements themselves.
-        *                              - The specific error code can be accessed using the GetLastResult() method.
+        * @exception   E_OUT_OF_RANGE                  Either of the following conditions has occurred: @n
+        *                                                                              - The specified index is outside the bounds of the data structure. @n
+        *                                                                              - The specified @c startIndex is either equal to or greater than the number of elements or less than @c 0. @n
+        *                                                                              - The @c count is greater than the number of elements starting from @c startIndex
+        *                                                                              or less than @c 0.
+        * @remarks             The IList stores just the pointers to the elements in the list, not the elements themselves.
+        *              The specific error code can be accessed using the GetLastResult() method.
         */
        virtual IList* GetItemsN(int startIndex, int count) const;
 
        /**
         * Searches for an object in this list. @n
-        * Gets the @c index of the object if found.
+        * Gets the index of the object if found.
         *
         * @since 2.0
         *
         * @return              An error code
-        * @param[in]   obj             The object to locate
-        * @param[out]  index                   The index of the object
+        * @param[in]   obj         The object to locate
+        * @param[out]  index           The index of the object
         * @exception   E_SUCCESS               The method is successful.
-        * @exception   E_OBJ_NOT_FOUND The specified @c obj has not been found.
+        * @exception   E_OBJ_NOT_FOUND The specified @c obj is not found.
         * @see                 LastIndexOf()
         */
        virtual result IndexOf(const Object& obj, int& index) const;
 
        /**
-        * Searches for an object starting from the specified @c startIndex. @n
-        * Gets the @c index of the object if found.
+        * Searches for an object starting from the specified index. @n
+        * Gets the index of the object if found.
         *
         * @since 2.0
         *
         * @return              An error code
-        * @param[in]   obj                             The object to locate
-        * @param[in]   startIndex                              The starting index for the search @n
-        *                                                                              It must be less than the number of elements.
-        * @param[out]  index                                   The index of the object
+        * @param[in]   obj         The object to locate
+        * @param[in]   startIndex      The starting index for the search @n
+        *                                                      It must be less than the number of elements.
+        * @param[out]  index           The index of the object
         * @exception   E_SUCCESS                               The method is successful.
-        * @exception   E_OUT_OF_RANGE                  Either of the following conditions has occurred:
-        *                                                                              - The specified @c index is outside the bounds of the data structure.
-        *                                                                              - The specified @c startIndex is either equal to or greater than the number of elements.
-        *                                                                              - The specified @c startIndex is less than @c 0.
-        * @exception   E_OBJ_NOT_FOUND                 The specified @c obj has not been found.
+        * @exception   E_OUT_OF_RANGE                  The specified index is outside the bounds of the data structure, or
+        *                                                                              the specified @c startIndex is either equal to or greater than the number of elements or less than @c 0.
+        * @exception   E_OBJ_NOT_FOUND                 The specified @c obj is not found.
         * @see                 LastIndexOf()
         */
        virtual result IndexOf(const Object& obj, int startIndex, int& index) const;
 
        /**
         * Searches for an object within the specified range. @n
-        * Gets the @c index of the object if found.
+        * Gets the index of the object if found.
         *
         * @since 2.0
         *
         * @return              An error code
-        * @param[in]   obj                             The object to locate
-        * @param[in]   startIndex                              The starting index of the range
-        * @param[in]   count                                   The number of elements to read
-        * @param[out]  index                                   The index of the object
+        * @param[in]   obj         The object to locate
+        * @param[in]   startIndex      The starting index of the range
+        * @param[in]   count           The number of elements to read
+        * @param[out]  index           The index of the object
         * @exception   E_SUCCESS                               The method is successful.
-        * @exception   E_OUT_OF_RANGE                  Either of the following conditions has occurred:
-        *                                                                              - The specified @c index is outside the bounds of the data structure.
-        *                                                                              - The specified @c startIndex is either equal to or greater than the number of elements.
-        *                                                                              - The specified @c startIndex is less than @c 0.
-        *                                                                              - The specified @c count is greater than the number of elements starting from @c startIndex.
-        *                                                                              - The specified @c count is less than @c 0.
-        * @exception   E_OBJ_NOT_FOUND                 The specified @c obj has not been found.
+        * @exception   E_OUT_OF_RANGE                  Either of the following conditions has occurred: @n
+        *                                                                              - The specified index is outside the bounds of the data structure. @n
+        *                                                                              - The specified @c startIndex is either equal to or greater than the number of elements or less than @c 0. @n
+        *                                                                              - The @c count is greater than the number of elements starting from @c startIndex
+        *                                                                              or less than @c 0.
+        * @exception   E_OBJ_NOT_FOUND                 The specified @c obj is not found.
         * @see                 LastIndexOf()
         */
        virtual result IndexOf(const Object& obj, int startIndex, int count, int& index) const;
 
        /**
         * Searches for the last occurrence of an object in this list. @n
-        * Gets the @c index of the object if found.
+        * Gets the index of the object if found.
         *
         * @since 2.0
         *
         * @return              An error code
-        * @param[in]   obj                     The object to locate
-        * @param[out]  index                           The index of the last occurrence of the specified object
+        * @param[in]   obj         The object to locate
+        * @param[out]  index           The index of the last occurrence of the specified object
         * @exception   E_SUCCESS                       The method is successful.
-        * @exception   E_OBJ_NOT_FOUND         The specified @c obj has not been found.
+        * @exception   E_OBJ_NOT_FOUND         The specified @c obj is not found.
         * @see                 IndexOf()
         */
        virtual result LastIndexOf(const Object& obj, int& index) const;
@@ -371,19 +370,16 @@ public:
         * @since 2.0
         *
         * @return              An error code
-        * @param[in]   pObj                                    A pointer to the object to insert
-        * @param[in]   index                                   The index at which the object is inserted
+        * @param[in]   pObj    The pointer to object to insert
+        * @param[in]   index   The index at which the object must be inserted
         * @exception   E_SUCCESS                               The method is successful.
         * @exception   E_INVALID_ARG                   The specified input parameter is invalid.
-        * @exception   E_OUT_OF_RANGE                  Either of the following conditions has occurred:
-        *                                                                              - The specified @c index is outside the bounds of the data structure.
-        *                                                                              - The specified @c index is greater than the number of elements.
-        *                                                                              - The specified @c index is less than @c 0.
-        * @remarks             
-        *                              - The elements that follow the insertion point move down to accommodate the new element.
-        *                              - If the @c index is equal to the number of elements, then the new element
+        * @exception   E_OUT_OF_RANGE                  The specified index is outside the bounds of the data structure, or
+        *                                                                              the @c index is greater than the number of elements or less than @c 0.
+        * @remarks             The elements that follow the insertion point move down to accommodate the new element.
+        *                              If the @c index equals to the number of elements, then the new element
         *                              is added at the end of this list.
-        *                              - This method performs a shallow copy. It inserts just the pointer and not the element itself.
+        *                              This method performs a shallow copy. It inserts just the pointer; not the element itself.
         * @see                 Add()
         * @see                 RemoveAt()
         */
@@ -395,21 +391,17 @@ public:
         * @since 2.0
         *
         * @return              An error code
-        * @param[in]   collection                              The collection to insert
-        * @param[in]   startIndex                              The starting index at which the collection is inserted
+        * @param[in]   collection      The collection to insert
+        * @param[in]   startIndex      The starting index at which the collection must be inserted
         * @exception   E_SUCCESS                               The method is successful.
-        * @exception   E_OUT_OF_RANGE                  Either of the following conditions has occurred:
-        *                                                                              - The specified index is outside the bounds of the data structure.
-        *                                                                              - The specified @c startIndex is greater than the number of elements.
-        *                                                                              - The specified @c startIndex is less than @c 0.
-        * @exception   E_INVALID_OPERATION             Either of the following conditions has occurred:
-        *                                                                              - The current state of the instance prohibits the execution of the specified operation.
-        *                                                                              - The specified @c collection is modified during the operation of this method.
-        * @remarks
-        *                              - The elements that follow the insertion point move down to accommodate the new element.
-        *                              - If the @c startIndex is equal to the number of elements then the new elements
+        * @exception   E_OUT_OF_RANGE                  The specified index is outside the bounds of the data structure, or
+        *                                                                              the @c startIndex is greater than the number of elements or less than @c 0.
+        * @exception   E_INVALID_OPERATION             The current state of the instance prohibits the execution of the specified operation, or
+        *                                                                              the @c collection is modified during the operation of this method.
+        * @remarks             The elements that follow the insertion point move down to accommodate the new element.
+        *                              If the @c startIndex equals to the number of elements then the new elements
         *                              are added at the end of this list.
-        *                              - This method performs a shallow copy. It inserts just the pointer and not the element itself.
+        *                              This method performs a shallow copy. It inserts just the pointer; not the element itself.
         * @see                 RemoveItems()
         * @see                 AddItems()
         */
@@ -421,9 +413,9 @@ public:
         * @since 2.0
         *
         * @return              An error code
-        * @param[in]   obj                             The object to remove
+        * @param[in]   obj                             An object to remove
         * @exception   E_SUCCESS               The method is successful.
-        * @exception   E_OBJ_NOT_FOUND The specified @c obj has not been found.
+        * @exception   E_OBJ_NOT_FOUND The specified @c obj is not found.
         * @see                 Add()
         * @see                 RemoveAt()
         * @see                 RemoveAll()
@@ -436,12 +428,10 @@ public:
         * @since 2.0
         *
         * @return              An error code
-        * @param[in]   index                                   The index at which the object is removed
+        * @param[in]   index                                   The index at which the object must be removed
         * @exception   E_SUCCESS                               The method is successful.
-        * @exception   E_OUT_OF_RANGE                  Either of the following conditions has occurred:
-        *                                                                              - The specified @c index is outside the bounds of the data structure.
-        *                                                                              - The specified @c index is either equal to or greater than the number of elements.
-        *                                                                              - The specified @c index is less than @c 0.
+        * @exception   E_OUT_OF_RANGE                  The specified index is outside the bounds of the data structure, or
+        *                                                                              the specified @c index is either equal to or greater than the number of elements or less than @c 0.
         * @remarks             The elements that follow the deletion point move up to occupy the vacated spot.
         * @see                 InsertAt()
         * @see                 Remove()
@@ -454,15 +444,14 @@ public:
         * @since 2.0
         *
         * @return              An error code
-        * @param[in]   startIndex                              The starting index of the range
-        * @param[in]   count                                   The number of elements to read
+        * @param[in]   startIndex      The starting index of the range
+        * @param[in]   count           The number of elements to read
         * @exception   E_SUCCESS                               The method is successful.
-        * @exception   E_OUT_OF_RANGE                  Either of the following conditions has occurred:
-        *                                                                              - The specified index is outside the bounds of the data structure.
-        *                                                                              - The specified @c startIndex is either equal to or greater than the number of elements.
-        *                                                                              - The specified @c startIndex is less than @c 0.
-        *                                                                              - The specified @c count is greater than the number of elements starting from @c startIndex.
-        *                                                                              - The specified @c count is less than @c 0.
+        * @exception   E_OUT_OF_RANGE                  Either of the following conditions has occurred: @n
+        *                                                                              - The specified index is outside the bounds of the data structure. @n
+        *                                                                              - The specified @c startIndex is either equal to or greater than the number of elements or less than @c 0. @n
+        *                                                                              - The @c count is greater than the number of elements starting from @c startIndex
+        *                                                                              or less than @c 0.
         * @remarks             The elements that follow the deletion point move up to occupy the vacated spot.
         * @see                 AddItems()
         */
@@ -477,16 +466,15 @@ public:
         * @return              An error code
         * @param[in]   collection                      The collection to remove from this list
         * @exception   E_SUCCESS                       The method is successful.
-        * @exception   E_INVALID_OPERATION     Either of the following conditions has occurred:
-        *                                                                      - The current state of the instance prohibits the execution of the specified operation.
-        *                                                                      - The specified @c collection is modified during the operation of this method.
+        * @exception   E_INVALID_OPERATION     The current state of the instance prohibits the execution of the specified operation, or
+        *                                                                      the @c collection is modified during the operation of this method.
         * @see                 Remove()
         * @see                 RemoveAt()
         */
        virtual result RemoveItems(const ICollection& collection);
 
        /**
-        * Removes all the object pointers in the collection and also removes all the objects depending on the specified element deleter.
+        * Removes all of the object pointers in the collection and also removes all of the objects depending on the specified element deleter.
         * The %RemoveAll() can be called before the collection is deleted.
         *
         * @since 2.0
@@ -499,29 +487,26 @@ public:
         * @since 2.0
         *
         * @return              An error code
-        * @param[in]   pObj                                    A pointer to the object to set
-        * @param[in]   index                                   The index at which the object is set
+        * @param[in]   pObj                                    An pointer to object to set
+        * @param[in]   index                                   The index at which the object must be set
         * @exception   E_SUCCESS                               The method is successful.
-        * @exception   E_INVALID_ARG                   A specified input parameter is invalid.
-        * @exception   E_OUT_OF_RANGE                  Either of the following conditions has occurred:
-        *                                                                              - The specified @c index is outside the bounds of the data structure.
-        *                                                                              - The specified @c index is either equal to or greater than the number of elements.
-        *                                                                              - The specified @c index is less than @c 0.
+        * @exception   E_INVALID_ARG                   The specified input parameter is invalid.
+        * @exception   E_OUT_OF_RANGE                  The specified index is outside the bounds of the data structure, or
+        *                                                                              the specified @c index is either equal to or greater than the number of elements or less than @c 0.
         * @see                 GetAt()
         */
        virtual result SetAt(Object* pObj, int index);
 
        /**
-        * Sets the capacity of this list at the specified value.
+        * Sets the capacity of this list to the specified value.
         *
         * @since 2.0
         *
         * @return              An error code
-        * @param[in]   newCapacity             The new capacity of this list
+        * @param[in]   newCapacity     The new capacity of this list
         * @exception   E_SUCCESS               The method is successful.
-        * @exception   E_INVALID_ARG   Either of the following conditions has occurred:
-        *                                                              - The specified input parameter is invalid.
-        *                                                              - The specified @c newCapacity is negative.
+        * @exception   E_INVALID_ARG   The specified input parameter is invalid, or
+        *                                                              the @c newCapacity is negative.
         * @remarks             When the new capacity is less than the current capacity, the elements
         *                              within the truncated memory are not destroyed.
         * @see                 Construct()
@@ -531,7 +516,7 @@ public:
        virtual result SetCapacity(int newCapacity);
 
        /**
-        * Sorts the elements of this list using the @c comparer provided.
+        * Sorts the elements of this list using the comparer provided.
         *
         * @since 2.0
         *
@@ -569,13 +554,13 @@ public:
        virtual int GetCount(void) const;
 
        /**
-        * Checks whether the list contains the specified object.
+        * Checks whether a list contains the specified object.
         *
         * @since 2.0
         *
         * @return              @c true if the object is present in the list, @n
         *                              else @c false
-        * @param[in]   obj     The object to locate
+        * @param[in]   obj The object to locate
         * @see                 ContainsAll()
         */
        virtual bool Contains(const Object& obj) const;
@@ -587,28 +572,26 @@ public:
         *
         * @return              @c true if the list contains all the elements of the specified @c collection, @n
         *                              else @c false
-        * @param[in]   collection                      The collection to check for in the list
+        * @param[in]   collection      The collection to check for in the list
         * @exception   E_SUCCESS                       The method is successful.
-        * @exception   E_INVALID_OPERATION     Either of the following conditions has occurred:
-        *                                                                      - The current state of the instance prohibits the execution of the specified operation.
-        *                                                                      - The specified @c collection is modified during the operation of this method.
-        * @remarks
-        *                              - The specific error code can be accessed using the GetLastResult() method.
-        *                              - If the given @c collection is empty, this method will return @c true.
+        * @exception   E_INVALID_OPERATION     The current state of the instance prohibits the execution of the specified operation, or
+        *                                                                      the @c collection is modified during the operation of this method.
+        * @remarks             The specific error code can be accessed using the GetLastResult() method.
+        * @remarks             If the given @c collection is empty, this method will return @c true.
         * @see                 Contains()
         */
        virtual bool ContainsAll(const ICollection& collection) const;
 
        /**
-        * Compares the specified Tizen::Base::Object instance with the calling %ArrayList instance.
+        * Compares the specified Object instance with the calling %ArrayList instance.
         *
         * @since 2.0
         *
-        * @return              @c true if the given Tizen::Base::Object matches the calling list, @n
+        * @return              @c true if the given object matches the calling List, @n
         *                              else @c false
         * @param[in]   obj The object to compare with the calling list
-        * @remarks     This method returns @c true only if the specified @c obj is also an instance of %ArrayList,
-        *                              both lists have the same size, and all the corresponding pairs of the elements in the two lists are equal. @n
+        * @remarks             This method returns @c true only if the specified object @c obj is also an instance of %ArrayList class,
+        *                              both lists have the same size, and all the corresponding pairs of the elements in the two lists are equal.
         *                              In other words, the two lists are equal if they contain the same elements in the same order.
         */
        virtual bool Equals(const Object& obj) const;
@@ -619,13 +602,13 @@ public:
         * @since 2.0
         *
         * @return      The hash value of the current instance
-        * @remarks     The two Tizen::Base::Object::Equals() instances must return the same hash value. @n
-        *                              For better performance, the used hash function must generate a random distribution for all the inputs.
+        * @remarks     The two Tizen::Base::Object::Equals() instances must return the same hash value. For better performance, @n
+        *                      the used hash function must generate a random distribution for all inputs.
         */
        virtual int GetHashCode(void) const;
 
        /**
-        * Checks whether the instance is an %ArrayList or a LinkedList.
+        * Distinguish between %ArrayList and LinkedList.
         *
         * @since 2.0
         * @return      @c true if it is an %ArrayList, @n
index 425d42d..a687295 100644 (file)
@@ -138,11 +138,10 @@ public:
         * @param[in]   capacity                The initial capacity of the class @n
         *                              The default capacity is @c 10.
         * @exception   E_SUCCESS               The method is successful.
-        * @exception   E_INVALID_ARG   Either of the following conditions has occurred:
-        *                                                              - The specified input parameter is invalid.
-        *                                                              - The specified @c capacity is negative.
-        * @remarks     If the number of elements added to the list reaches its current capacity,
-        *                              the capacity is automatically increased by memory reallocation. @n
+        * @exception   E_INVALID_ARG   A specified input parameter is invalid, or
+        *                                                              the specified @c capacity is negative.
+        * @remarks             If the number of elements added to the list reaches its current capacity,
+        *                              the capacity is automatically increased by memory reallocation.
         *                              Thus, if the size of the list can be estimated,
         *                              specifying the initial capacity eliminates the need to perform a number of
         *                              resizing operations while adding elements to the list.
@@ -165,11 +164,10 @@ public:
         * @since 2.0
         *
         * @return              An error code
-        * @param[in]   collection                      The collection of elements to add
+        * @param[in]   collection                      A collection of elements to add
         * @exception   E_SUCCESS                       The method is successful.
-        * @exception   E_INVALID_OPERATION     Either of the following conditions has occurred:
-        *                                                                      - The current state of the instance prohibits the execution of the specified operation.
-        *                                                                      - The specified @c collection is modified during the operation of this method.
+        * @exception   E_INVALID_OPERATION     The current state of the instance prohibits the execution of the specified operation, or
+        *                                                                      the @c collection is modified during the operation of this method.
         * @see                 ArrayListT()
         */
        result Construct(const ICollectionT< Type >& collection)
@@ -187,12 +185,12 @@ CATCH:
        }
 
        /**
-        * Adds the specified @c obj to the end of the list.
+        * Adds the specified object to the end of the list.
         *
         * @since 2.0
         *
         * @return              An error code
-        * @param[in]   obj                             The object to add to the list
+        * @param[in]   obj                             An object to add to the list
         * @exception   E_SUCCESS               The method is successful.
         * @exception   E_OUT_OF_MEMORY The memory is insufficient.
         * @see                 Remove()
@@ -213,16 +211,15 @@ CATCH:
        }
 
        /**
-        * Adds the elements of the specified @c collection to the end of the list.
+        * Adds the elements of the specified collection to the end of the list.
         *
         * @since 2.0
         *
         * @return              An error code
-        * @param[in]   collection                      The collection of elements to add to the list
+        * @param[in]   collection                      A collection of elements to add to the list
         * @exception   E_SUCCESS                       The method is successful.
-        * @exception   E_INVALID_OPERATION     Either of the following conditions has occurred:
-        *                                                                      - The current state of the instance prohibits the execution of the specified operation.
-        *                                                                      - The specified @c collection is modified during the operation of this method.
+        * @exception   E_INVALID_OPERATION     The current state of the instance prohibits the execution of the specified operation, or
+        *                                                                      the @c collection is modified during the operation of this method.
         * @see                 RemoveItems()
         */
        virtual result AddItems(const ICollectionT< Type >& collection)
@@ -266,15 +263,16 @@ CATCH:
        }
 
        /**
-        * Gets the elements of the list through an instance of the IEnumeratorT derived class.
+        * Gets the elements of the list in an instance of the IEnumeratorT derived class.
         *
         * @since 2.0
         *
-        * @return              An instance of the IEnumeratorT derived class, @n
+        * @return              An instance of the IEnumeratorT derived class if successful, @n
         *                              else @c null if an exception occurs
         * @exception   E_SUCCESS                       The method is successful.
         * @exception   E_OUT_OF_MEMORY         The memory is insufficient.
         * @remarks             The specific error code can be accessed using the GetLastResult() method.
+        * @see                 Tizen::Base::Collection::IEnumeratorT
         */
        virtual IEnumeratorT< Type >* GetEnumeratorN(void) const
        {
@@ -292,7 +290,7 @@ CATCH:
        }
 
        /**
-        * Gets the bidirectional enumerator (an instance of the IBidirectionalEnumeratorT derived class) of this list.
+        * Gets a bidirectional enumerator (an instance of the IBidirectionalEnumeratorT derived class) of this list.
         *
         * @since 2.0
         *
@@ -300,10 +298,10 @@ CATCH:
         *                              else @c null if an exception occurs
         * @exception   E_SUCCESS                       The method is successful.
         * @exception   E_OUT_OF_MEMORY         The memory is insufficient.
-        * @remarks
-        *                              - Use this method to obtain a bidirectional enumerator (an instance of the IBidirectionalEnumeratorT derived class)
+        * @remarks             Use this method to obtain a bidirectional enumerator (an instance of the IBidirectionalEnumeratorT derived class)
         *                              to iterate over a collection (an instance of the IListT derived class).
-       *                               - The specific error code can be accessed using the GetLastResult() method.
+        * @remarks             The specific error code can be accessed using the GetLastResult() method.
+        * @see                 Tizen::Base::Collection::IBidirectionalEnumeratorT
         */
        virtual IBidirectionalEnumeratorT< Type >* GetBidirectionalEnumeratorN(void) const
        {
@@ -327,12 +325,10 @@ CATCH:
         *
         * @return              An error code
         * @param[in]   index                                   The index of the object to read
-        * @param[out]  obj                                             The object to get from this list
+        * @param[out]  obj                                             An object to get from this list
         * @exception   E_SUCCESS                               The method is successful.
-        * @exception   E_OUT_OF_RANGE                  Either of the following conditions has occurred:
-        *                                                                              - The specified @c index is outside the bounds of the data structure.
-        *                                                                              - The specified @c index is either greater than or equal to the number of elements.
-        *                                                                              - The specified @c index is less than @c 0.
+        * @exception   E_OUT_OF_RANGE                  The specified @c index is outside the bounds of the data structure, or
+        *                                                                              the specified @c index is either equal to or greater than the number of elements or less than @c 0.
         * @see                 SetAt()
         */
        virtual result GetAt(int index, Type& obj) const
@@ -352,12 +348,10 @@ CATCH:
         *
         * @return              An error code
         * @param[in]   index                                   The index of the object to read
-        * @param[out]  obj                                             The object to get from this list
+        * @param[out]  obj                                             An object to get from this list
         * @exception   E_SUCCESS                               The method is successful.
-        * @exception   E_OUT_OF_RANGE                  Either of the following conditions has occurred:
-        *                                                                              - The specified @c index is outside the bounds of the data structure.
-        *                                                                              - The specified @c index is either greater than or equal to the number of elements.
-        *                                                                              - The specified @c index is less than @c 0.
+        * @exception   E_OUT_OF_RANGE                  The specified @c index is outside the bounds of the data structure, or
+        *                                                                              the specified @c index is either equal to or greater than the number of elements or less than @c 0.
         * @see                 SetAt()
         */
        virtual result GetAt(int index, Type& obj)
@@ -371,22 +365,20 @@ CATCH:
        }
 
        /**
-        * Gets a list of the specified number of elements starting from the specified index.
+        * Gets a list of a specified number of elements starting from a specified index.
         *
         * @since 2.0
         *
         * @return              An instance of the IListT derived class within the specified range of the list, @n
         *                              else @c null if an exception occurs
-        * @param[in]   startIndex                              The index to start reading elements from
-        * @param[in]   count                                   The number of elements to read
+        * @param[in]   startIndex      The index to start reading elements from
+        * @param[in]   count           The number of elements to read
         * @exception   E_SUCCESS                               The method is successful.
         * @exception   E_INVALID_ARG                   A specified input parameter is invalid.
-        * @exception   E_OUT_OF_RANGE                  Either of the following conditions has occurred:
-        *                                                                              - The specified index is outside the bounds of the data structure.
-        *                                                                              - The specified @c startIndex is either greater than or equal to the number of elements.
-        *                                                                              - The specified @c startIndex is less than @c 0.
-        *                                                                              - The specified @c count is greater than the number of elements starting from @c startIndex.
-        *                                                                              - The specified @c count is less than @c 0.
+        * @exception   E_OUT_OF_RANGE                  Either of the following conditions has occurred: @n
+        *                                                                              - The specified index is outside the bounds of the data structure. @n
+        *                                                                              - The specified @c startIndex is either greater than or equal to the number of elements or less than @c 0. @n
+        *                                                                              - The specified @c count is either greater than the number of elements starting from @c startIndex or less than @c 0.
         *
         * @remarks             The specific error code can be accessed using the GetLastResult() method.
         */
@@ -424,15 +416,15 @@ CATCH:
 
        /**
         * Searches for an object in this list. @n
-        * Gets the @c index of the object if found.
+        * Gets the index of the object if found.
         *
         * @since 2.0
         *
         * @return              An error code
-        * @param[in]   obj                                     The object to locate
-        * @param[out]  index                           The index of the object
+        * @param[in]   obj                     The object to locate
+        * @param[out]  index           The index of the object
         * @exception   E_SUCCESS                       The method is successful.
-        * @exception   E_OBJ_NOT_FOUND         The specified @c obj has not been found.
+        * @exception   E_OBJ_NOT_FOUND         The specified @c obj is not found.
         * @see                 LastIndexOf()
         */
        virtual result IndexOf(const Type& obj, int& index) const
@@ -442,21 +434,19 @@ CATCH:
 
        /**
         * Searches for an object starting from the specified @c index. @n
-        * Gets the @c index of the object if found.
+        * Gets the index of the object if found.
         *
         * @since 2.0
         *
         * @return              An error code
-        * @param[in]   obj                                             The object to locate
-        * @param[in]   startIndex                              The starting index for the search @n
-        *                                                                              It must be less than the number of elements.
-        * @param[out]  index                                   The index of the object
+        * @param[in]   obj                     The object to locate
+        * @param[in]   startIndex      The starting index for the search @n
+        *                                                      It must be less than the number of elements.
+        * @param[out]  index           The index of the object
         * @exception   E_SUCCESS                               The method is successful.
-        * @exception   E_OUT_OF_RANGE                  Either of the following conditions has occurred:
-        *                                                                              - The specified @c index is outside the bounds of the data structure.
-        *                                                                              - The specified @c startIndex is either greater than or equal to the number of elements.
-        *                                                                              - The specified @c startIndex is less than @c 0.
-        * @exception   E_OBJ_NOT_FOUND                 The specified @c obj has not been found.
+        * @exception   E_OUT_OF_RANGE                  The specified @c index is outside the bounds of the data structure, or
+        *                                                                              the specified @c startIndex is either equal to or greater than the number of elements or less than @c 0.
+        * @exception   E_OBJ_NOT_FOUND                 The specified @c obj is not found.
         * @see                 LastIndexOf()
         */
        virtual result IndexOf(const Type& obj, int startIndex, int& index) const
@@ -470,23 +460,21 @@ CATCH:
 
        /**
         * Searches for an object within the specified range. @n
-        * Gets the @c index of the object if found.
+        * Gets the index of the object if found.
         *
         * @since 2.0
         *
         * @return              An error code
-        * @param[in]   obj                                             The object to locate
-        * @param[in]   startIndex                              The starting index of the range
-        * @param[in]   count                                   The number of elements to read
-        * @param[out]  index                                   The index of the object
+        * @param[in]   obj                     The object to locate
+        * @param[in]   startIndex      The starting index of the range
+        * @param[in]   count           The number of elements to read
+        * @param[out]  index           The index of the object
         * @exception   E_SUCCESS                               The method is successful.
-        * @exception   E_OUT_OF_RANGE                  Either of the following conditions has occurred:
-        *                                                                              - The specified @c index is outside the bounds of the data structure.
-        *                                                                              - The specified @c startIndex is either greater than or equal to the number of elements.
-        *                                                                              - The specified @c startIndex is less than @c 0.
-        *                                                                              - The specified @c count is greater than the number of elements starting from @c startIndex.
-        *                                                                              - The specified @c count is less than @c 0.
-        * @exception   E_OBJ_NOT_FOUND                 The specified @c obj has not been found.
+        * @exception   E_OUT_OF_RANGE                  Either of the following conditions has occurred: @n
+        *                                                                              - The specified @c index is outside the bounds of the data structure. @n
+        *                                                                              - The specified @c startIndex is either greater than or equal to the number of elements or less than @c 0. @n
+        *                                                                              - The specified @c count is either greater than the number of elements starting from @c startIndex or less than @c 0.
+        * @exception   E_OBJ_NOT_FOUND                 The specified @c obj is not found.
         * @see                 LastIndexOf()
         */
        virtual result IndexOf(const Type& obj, int startIndex, int count, int& index) const
@@ -513,21 +501,18 @@ CATCH:
        }
 
        /**
-        * Inserts an object at the specified location.
+        * Inserts an object at a specified location.
         *
         * @since 2.0
         *
         * @return              An error code
-        * @param[in]   obj                                             The object to insert
-        * @param[in]   index                                   The index at which the object is inserted
+        * @param[in]   obj             The object to insert
+        * @param[in]   index   The index at which the object must be inserted
         * @exception   E_SUCCESS                               The method is successful.
-        * @exception   E_OUT_OF_RANGE                  Either of the following conditions has occurred:
-        *                                                                              - The specified @c index is outside the bounds of the data structure.
-        *                                                                              - The specified @c index is greater than the number of elements.
-        *                                                                              - The specified @c index is less than @c 0.
-        * @remarks
-        *                              - The elements that follow the insertion point move down to accommodate the new element.
-        *                              - If the @c index is equal to the number of elements in the list, the new element
+        * @exception   E_OUT_OF_RANGE                  The specified @c index is outside the bounds of the data structure, or
+        *                                                                              the @c index is greater than the number of elements or less than @c 0.
+        * @remarks             The elements that follow the insertion point move down to accommodate the new element.
+        *                              If the @c index equals the number of elements in the list, the new element
         *                              is added at the end of the list.
         * @see                 Add()
         * @see                 RemoveAt()
@@ -559,24 +544,20 @@ CATCH:
        }
 
        /**
-        * Inserts the elements of the collection from a specified location.
+        * Inserts the elements of a collection at a specified location.
         *
         * @since 2.0
         *
         * @return              An error code
-        * @param[in]   collection                              The collection to insert
-        * @param[in]   startIndex                              The index from which the collection is inserted
+        * @param[in]   collection      The collection to insert
+        * @param[in]   startIndex      The index from which the collection must be inserted
         * @exception   E_SUCCESS                               The method is successful.
-        * @exception   E_OUT_OF_RANGE                  Either of the following conditions has occurred:
-        *                                                                              - The specified @c index is outside the bounds of the data structure.
-        *                                                                              - The specified @c startIndex is greater than the number of elements.
-        *                                                                              - The specified @c startIndex is less than @c 0.
-        * @exception   E_INVALID_OPERATION             Either of the following conditions has occurred:
-        *                                                                              - The current state of the instance prohibits the execution of the specified operation.
-        *                                                                              - The specified @c collection is modified during the operation of this method.
-        * @remarks
-        *                              - The elements that follow the insertion point move down to accommodate the new elements.
-        *                              - If the @c startIndex is equal to the number of elements in the list, the new elements
+        * @exception   E_OUT_OF_RANGE                  The specified index is outside the bounds of the data structure, or
+        *                                                                              the @c startIndex is greater than the number of elements or less than @c 0.
+        * @exception   E_INVALID_OPERATION             The current state of the instance prohibits the execution of the specified operation, or
+        *                                                                              the @c collection is modified during the operation of this method.
+        * @remarks             The elements that follow the insertion point move down to accommodate the new elements.
+        *                              If the @c startIndex equals the number of elements in the list, the new elements
         *                              are added at the end of the list.
         * @see                 RemoveItems()
         * @see                 AddItems()
@@ -635,15 +616,15 @@ CATCH:
 
        /**
         * Searches for the last occurrence of an object in this list. @n
-        * Gets the @c index of the object if found.
+        * Gets the index of the object if found.
         *
         * @since 2.0
         *
         * @return              An error code
-        * @param[in]   obj                             The object to locate
-        * @param[out]  index                   The index of the last occurrence of the specified object
+        * @param[in]   obj                     The object to locate
+        * @param[out]  index           The index of the last occurrence of the specified object
         * @exception   E_SUCCESS               The method is successful.
-        * @exception   E_OBJ_NOT_FOUND The specified @c obj has not been found.
+        * @exception   E_OBJ_NOT_FOUND The specified @c obj is not found.
         * @see                 IndexOf()
         */
        virtual result LastIndexOf(const Type& obj, int& index) const
@@ -661,14 +642,14 @@ CATCH:
        }
 
        /**
-        * Removes the first occurrence of the specified object.
+        * Removes the first occurrence of a specified object.
         *
         * @since 2.0
         *
         * @return              An error code
         * @param[in]   obj                             The object to remove
         * @exception   E_SUCCESS               The method is successful.
-        * @exception   E_OBJ_NOT_FOUND The specified @c obj has not been found.
+        * @exception   E_OBJ_NOT_FOUND The specified @c obj is not found.
         * @see                 Add()
         * @see                 RemoveAt()
         * @see                 RemoveAll()
@@ -688,16 +669,15 @@ CATCH:
        }
 
        /**
-        * Removes all the elements of the specified collection from the list.
+        * Removes all the elements of a specified collection from the list.
         *
         * @since 2.0
         *
         * @return              An error code
         * @param[in]   collection                      The collection to remove from this list
         * @exception   E_SUCCESS                       The method is successful.
-        * @exception   E_INVALID_OPERATION     Either of the following conditions has occurred:
-        *                                                                      - The current state of the instance prohibits the execution of the specified operation.
-        *                                                                      - The specified @c collection is modified during the operation of this method.
+        * @exception   E_INVALID_OPERATION     The current state of the instance prohibits the execution of the specified operation, or
+        *                                                                      the @c collection is modified during the operation of this method.
         * @see                 Remove()
         * @see                 RemoveAt()
         */
@@ -737,17 +717,15 @@ CATCH:
        }
 
        /**
-        * Removes an object from the specified location.
+        * Removes an object from a specified location.
         *
         * @since 2.0
         *
         * @return              An error code
-        * @param[in]   index                                   The index of the object to remove
+        * @param[in]   index                                   The index of the object that is to remove
         * @exception   E_SUCCESS                               The method is successful.
-        * @exception   E_OUT_OF_RANGE                  Either of the following conditions has occurred:
-        *                                                                              - The specified @c index is outside the bounds of the data structure.
-        *                                                                              - The specified @c index is greater than or equal to the number of elements.
-        *                                                                              - The specified @c index is less than @c 0.
+        * @exception   E_OUT_OF_RANGE                  The specified @c index is outside the bounds of the data structure, or
+        *                                                                              the specified @c index is greater than or equal to the number of elements or less than @c 0.
         * @remarks             The elements that follow the deleted object move up the list to occupy the empty location.
         * @see                 InsertAt()
         * @see                 Remove()
@@ -772,20 +750,18 @@ CATCH:
        }
 
        /**
-        * Removes all the elements within the specified range.
+        * Removes all the elements within a specified range.
         *
         * @since 2.0
         *
         * @return              An error code
-        * @param[in]   startIndex                              The starting index of the range
-        * @param[in]   count                                   The number of elements to remove
+        * @param[in]   startIndex      The starting index of the range
+        * @param[in]   count           The number of elements to remove
         * @exception   E_SUCCESS                               The method is successful.
-        * @exception   E_OUT_OF_RANGE                  Either of the following conditions has occurred:
-        *                                                                              - The specified index is outside the bounds of the data structure.
-        *                                                                              - The specified @c startIndex is either greater than or equal to the number of elements.
-        *                                                                              - The specified @c startIndex is less than @c 0.
-        *                                                                              - The specified @c count is greater than the number of elements starting from @c startIndex.
-        *                                                                              - The specified @c count is less than @c 0.
+        * @exception   E_OUT_OF_RANGE                  Either of the following conditions has occurred: @n
+        *                                                                              - The specified index is outside the bounds of the data structure. @n
+        *                                                                              - The specified @c startIndex is either greater than or equal to the number of elements or less than @c 0. @n
+        *                                                                              - The specified @c count is either greater than the number of elements starting from @c startIndex or less than @c 0.
         * @remarks             The elements that follow the deleted elements move up the list to occupy the empty locations.
         * @see                 AddItems()
         * @see                 InsertItemsFrom()
@@ -825,7 +801,7 @@ CATCH:
        }
 
        /**
-        * Removes all the elements in the list.
+        * Removes all elements in the list.
         *
         * @since 2.0
         */
@@ -845,18 +821,16 @@ CATCH:
        }
 
        /**
-        * Sets the object at the specified @c index of the current instance of ByteBuffer.
+        * Sets the object at a specified @c index of the current instance of ByteBuffer with the specified object.
         *
         * @since 2.0
         *
         * @return              An error code
-        * @param[in]   obj                                             The object to set
-        * @param[in]   index                                   The index at which the object must be set
+        * @param[in]   obj             The object to set
+        * @param[in]   index   The index at which the object must be set
         * @exception   E_SUCCESS                               The method is successful.
-        * @exception   E_OUT_OF_RANGE                  Either of the following conditions has occurred:
-        *                                                                              - The specified @c index is outside the bounds of the data structure.
-        *                                                                              - The specified @c index is either greater than or equal to the number of elements.
-        *                                                                              - The specified @c index is less than @c 0.
+        * @exception   E_OUT_OF_RANGE                  The specified @c index is outside the bounds of the data structure, or
+        *                                                                              the specified @c index is either equal to or greater than the number of elements or less than @c 0.
         * @see                 GetAt()
         */
        virtual result SetAt(const Type& obj, int index)
@@ -873,16 +847,15 @@ CATCH:
        }
 
        /**
-        * Sets the capacity of the list at the specified value.
+        * Sets the capacity of the list to a specified value.
         *
         * @since 2.0
         *
         * @return              An error code
         * @param[in]   newCapacity             The new capacity to set for the list
         * @exception   E_SUCCESS               The method is successful.
-        * @exception   E_INVALID_ARG   Either of the following conditions has occurred:
-        *                                                              - The specified input parameter is invalid.
-        *                                                              - The specified @c newCapacity is negative.
+        * @exception   E_INVALID_ARG   A specified input parameter is invalid, or
+        *                                                              the @c newCapacity is negative.
         * @remarks             If the new capacity is less than the current capacity, the memory
         *                              is truncated and the elements within the truncated memory are destroyed.
         * @see                 Construct()
@@ -939,9 +912,8 @@ CATCH:
         * @return              An error code
         * @param[in]   comparer                A pointer to IComparerT
         * @exception   E_SUCCESS               The method is successful.
-        * @exception   E_INVALID_ARG   Either of the following conditions has occurred:
-        *                                                              - The specified input parameter is invalid.
-        *                                                              - The specified @c comparer is invalid.
+        * @exception   E_INVALID_ARG   A specified input parameter is invalid, or
+        *                                                              the @c comparer is not valid.
         */
        virtual result Sort(const IComparerT< Type >& comparer)
        {
@@ -962,13 +934,13 @@ CATCH:
        }
 
        /**
-        * Trims the capacity of the list to the actual number of elements in the list.
+        * Trims the capacity of a list to the actual number of elements in the list.
         *
         * @since 2.0
         *
         * @return              An error code
-        * @exception   E_SUCCESS                       The method is successful.
-        * @exception   E_OUT_OF_MEMORY         The memory is insufficient.
+        * @exception   E_SUCCESS               The method is successful.
+        * @exception   E_OUT_OF_MEMORY The memory is insufficient.
         * @remarks             The specific error code can be accessed using the GetLastResult() method.
         * @see                 SetCapacity()
         */
@@ -1012,13 +984,13 @@ CATCH:
        }
 
        /**
-        * Checks whether the list contains the specified object.
+        * Checks whether a list contains the specified object.
         *
         * @since 2.0
         *
         * @return              @c true if the object is present in the list, @n
         *                              else @c false
-        * @param[in]   obj     The object to locate
+        * @param[in]   obj The object to locate
         * @see                 ContainsAll()
         */
        virtual bool Contains(const Type& obj) const
@@ -1045,14 +1017,13 @@ CATCH:
         * @since 2.0
         *
         * @return              An error code
-        * @param[in]   collection                      The collection to check in the list
-        * @param[out]  out                                     @c true if the list contains all the elements of the specified @c collection, @n
-        *                                                                      else @c false
+        * @param[in]   collection      The collection to check for in the list
+        * @param[out]  out                     @c true if the list contains all the elements of the specified @c collection, @n
+        *                                                      else @c false
         * @exception   E_SUCCESS                       The method is successful.
-        * @exception   E_INVALID_OPERATION     Either of the following conditions has occurred:
-        *                                                                      - The current state of the instance prohibits the execution of the specified operation.
-        *                                                                      - The specified @c collection is modified during the operation of this method.
-        * @remarks             If the given @c collection is empty, then @c out is set to @c true.
+        * @exception   E_INVALID_OPERATION     The current state of the instance prohibits the execution of the specified operation, or
+        *                                                                      the @c collection is modified during the operation of this method.
+        * @remarks             If the given @c collection is empty, the @c out parameter will be set to @c true.
         * @see                 Contains()
         */
        virtual result ContainsAll(const ICollectionT< Type >& collection, bool& out) const
@@ -1101,7 +1072,7 @@ CATCH:
        }
 
        /**
-        * Compares two instances of %ArrayListT.
+        * Compares two instances of the %ArrayListT class.
         *
         * @since 2.0
         *
@@ -1145,8 +1116,8 @@ CATCH:
         * @since 2.0
         *
         * @return      The hash value of the current instance
-        * @remarks     The two Tizen::Base::Object::Equals() instances must return the same hash value. @n
-        *                              For better performance, the used hash function must generate a random distribution for all the inputs.
+        * @remarks     The two Tizen::Base::Object::Equals() instances must return the same hash value. For better performance, @n
+        *                      the used hash function must generate a random distribution for all inputs.
         */
        virtual int GetHashCode(void) const
        {
index cf1434d..d7b99c2 100644 (file)
@@ -43,7 +43,7 @@ class _HashMapEntry;
  *
  * For more information on the class features, see <a href="../org.tizen.native.appprogramming/html/guide/base/hashmap_multihashmap.htm">HashMap and MultiHashMap</a>.
  *
- * The following example demonstrates how to use the %HashMap class to create and initialize a %HashMap instance and use its methods.
+ * The following example demonstrates how to use the %HashMap class to create and initialize a %HashMap instance and to use its methods.
  *
  * @code
  *
@@ -104,11 +104,10 @@ public:
         *
         * @since 2.0
         *
-        * @param[in]   deleter         A function pointer to the type of the element deleter
-        * @remarks     To create an owning collection, set the element deleter value as @c SingleObjectDeleter. @n
-        *                              This gives the collection, the ownership of the elements and the collection destroys the elements. @n
-        *                              On the other hand, to create a non-owning collection, do not set the element deleter value, as @c NoOpDeleter is the default element deleter.
-        *                              It means that you do not transfer the ownership of the elements to the collection.
+        * @param[in]   deleter The function pointer to type of the element deleter
+        * @remarks     To create an owning collection, set the element deleter value as @c SingleObjectDeleter. This gives the collection the ownership of elements and the collection will destroy elements. @n
+        *                      On the other hand, to create a non-owning collection, you do not need to set the element deleter value, as @c NoOpDeleter is the default element deleter.
+        *                      It means that you do not transfer the ownership of elements to the collection.
         * @see         NoOpDeleter()
         * @see         SingleObjectDeleter()
         * @see         ArrayDeleter()
@@ -123,7 +122,7 @@ public:
        virtual ~HashMap(void);
 
        /**
-        * Initializes an instance of the empty %HashMap with the initial @c capacity and the load factor.
+        * Initializes an instance of an empty %HashMap class with the initial capacity and load factor.
         *
         * @since 2.0
         *
@@ -131,37 +130,34 @@ public:
         * @param[in]   capacity                The initial capacity
         * @param[in]   loadFactor              The maximum ratio of elements to buckets
         * @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 specified @c capacity or the specified @c loadFactor is negative.
-        * @remarks             The GetHashCode() method of the key objects is used for hashing and
-        *                              the Equals() method of the key objects is used for comparing the keys.
+        * @exception   E_INVALID_ARG   A specified input parameter is invalid, @n
+        *                                                              the @c capacity or the @c loadFactor is negative.
+        * @remarks             The GetHashCode() method of key objects is used for hashing and
+        *                              the Equals() method of key objects is used for comparing keys.
         * @see                 HashMap()
         */
        result Construct(int capacity = 16, float loadFactor = 0.75);
 
        /**
-        * Initializes an instance of %HashMap by copying the elements of the specified @c map.
+        * Initializes an instance of a %HashMap class by copying the elements of the specified @c map.
         *
         * @since 2.0
         *
         * @return              An error code
-        * @param[in]   map                                     The map to copy
-        * @param[in]   loadFactor                      The maximum ratio of elements to buckets
-        * @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 specified @c loadFactor is negative.
-        * @exception   E_INVALID_OPERATION     Either of the following conditions has occurred:
-        *                                                                      - The current state of the instance prohibits the execution of the specified operation.
-        *                                                                      - The specified @c map is modified during the operation of this method.
-        * @remarks     This method performs a shallow copy. It copies just the pointer and not the element itself.
+        * @param[in]   map                             The map to copy
+        * @param[in]   loadFactor              The maximum ratio of elements to buckets
+        * @exception   E_SUCCESS               The method is successful.
+        * @exception   E_INVALID_ARG   A specified input parameter is invalid, or
+        *                                                              the @c loadFactor is negative.
+        * @exception   E_INVALID_OPERATION     The current state of the instance prohibits the execution of the specified operation, or
+        *                                                                      the @c map is modified during the operation of this method.
+        * @remarks             This method performs a shallow copy. It copies only the pointer; not the element itself.
         * @see                 HashMap()
         */
        result Construct(const IMap& map, float loadFactor = 0.75);
 
        /**
-        * Initializes an instance of the empty %HashMap with the specified initial capacity, load factor, hash code provider, and comparer.
+        * Initializes an instance of an empty %HashMap class with the specified initial capacity, load factor, hash code provider, and comparer.
         *
         * @since 2.0
         *
@@ -174,71 +170,67 @@ public:
         * @param[in]   comparer                An instance of the IComparer derived class to use when comparing the keys
         *
         * @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 specified @c capacity or the specified @c loadFactor is negative.
-        * @remarks             The instances of the hash code provider and the comparer are not deallocated later from this map.
+        * @exception   E_INVALID_ARG   A specified input parameter is invalid, or
+        *                                                                the @c capacity or the @c loadFactor is negative.
+        * @remarks             The instances of hash code provider and comparer will not be deallocated later from this map.
         * @see                 HashMap()
         */
        result Construct(int capacity, float loadFactor, const IHashCodeProvider& provider, const IComparer& comparer);
 
        /**
-        * Initializes an instance of %HashMap by copying the elements of the specified map with the specified load factor, hash code provider, and comparer.
+        * Initializes an instance of a %HashMap class by copying the elements of the specified map with the specified load factor, hash code provider, and comparer.
         *
         * @since 2.0
         *
         * @return              An error code
-        * @param[in]   map                                     The map to copy
-        * @param[in]   loadFactor                      The maximum ratio of elements to buckets @n
-        *                                                                      If it is @c 0, the default load factor(0.75) is used.
-        * @param[in]   provider                        An instance of the IHashCodeProvider derived class that supplies the hash codes for all the keys in this map
-        * @param[in]   comparer                        An instance of the IComparer derived class to use when comparing the keys
+        * @param[in]   map                     The map to copy
+        * @param[in]   loadFactor      The maximum ratio of elements to buckets @n
+        *                                                      If it is @c 0, the default load factor(0.75) is used.
+        * @param[in]   provider        An instance of the IHashCodeProvider derived class that supplies the hash codes for all keys in this map
+        * @param[in]   comparer        An instance of the IComparer derived class to use when comparing keys
         * @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 specified @c loadFactor is negative.
-        * @exception   E_INVALID_OPERATION     Either of the following conditions has occurred:
-        *                                                                      - The current state of the instance prohibits the execution of the specified operation.
-        *                                                                      - The specified @c map is modified during the operation of this method.
-        * @remarks
-        *                              - This method performs a shallow copy. It copies just the pointer and not the element itself.
-        *                              - The instances of the hash code provider and the comparer are not deallocated later from this map.
+        * @exception   E_INVALID_ARG           A specified input parameter is invalid, or
+        *                                                                      the @c loadFactor is negative.
+        * @exception   E_INVALID_OPERATION     The current state of the instance prohibits the execution of the specified operation, or
+        *                                                                      the @c map is modified during the operation of this method.
+        * @remarks             This method performs a shallow copy. It copies only the pointer; not the element itself.
+        * @remarks             The instances of hash code provider and comparer will not be deallocated later from this map.
         * @see                 HashMap()
         */
        result Construct(const IMap& map, float loadFactor, const IHashCodeProvider& provider, const IComparer& comparer);
 
        /**
-        * Adds the specified key-value pair to the map.
+        * Adds the specified key-value pair to a map.
         *
         * @since 2.0
         *
         * @return              An error code
-        * @param[in]   pKey                            A pointer to the key of the value to add
-        * @param[in]   pValue                          A pointer to the value to add
+        * @param[in]   pKey    The pointer to key of the value to add
+        * @param[in]   pValue  The pointer to value to add
         * @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_INVALID_ARG           A specified input parameter is invalid, or
+        *                                                                      the comparer has failed to compare the keys.
         * @exception   E_OBJ_ALREADY_EXIST     The specified @c pKey already exists.
-        * @remarks     This method performs a shallow copy. It adds just the pointer and not the element itself.
+        * @remarks             This method performs a shallow copy. It adds only the pointer; not the element itself.
         * @see                 Remove()
         */
        virtual result Add(Object* pKey, Object* pValue);
 
        /**
-        * Gets the enumerator (an instance of the IMapEnumerator derived class) of this map.
+        * Gets an enumerator (an instance of the IMapEnumerator derived class) of this map.
         *
         * @since 2.0
         *
-        * @return              An instance of the IMapEnumerator derived class, @n
+        * @return              An instance of the IMapEnumerator derived class, if successful @n
         *                              else @c null if an exception occurs
         * @remarks             The specific error code can be accessed using the GetLastResult() method.
         * @see                 Tizen::Base::Collection::IEnumerator
+        * @see                 Tizen::Base::Collection::IMapEnumerator
         */
        virtual IEnumerator* GetEnumeratorN(void) const;
 
        /**
-        * Gets the elements of the map through an instance of the IMapEnumerator derived class.
+        * Gets the elements of the map in an instance of the IMapEnumerator derived class.
         *
         * @since 2.0
         *
@@ -246,56 +238,55 @@ public:
         *                              else @c null if an exception occurs
         * @remarks             The specific error code can be accessed using the GetLastResult() method.
         * @see                 Tizen::Base::Collection::IEnumerator
+        * @see                 Tizen::Base::Collection::IMapEnumerator
         */
        virtual IMapEnumerator* GetMapEnumeratorN(void) const;
 
        /**
-        * Gets the value associated to the specified @c key.
+        * Gets the value associated with the specified @c key.
         *
         * @since 2.0
         *
-        * @return              The value associated to the key, @n
+        * @return              The value associated with the key, @n
         *                              else @c null if an exception occurs
-        * @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           Either of the following conditions has occurred:
-        *                                                                      - The 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.
+        * @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.
         * @remarks             The specific error code can be accessed using the GetLastResult() method.
         * @see                 SetValue()
         */
        virtual const Object* GetValue(const Object& key) const;
 
        /**
-        * Gets the value associated to the specified @c key.
+        * Gets the value associated with the specified @c key.
         *
         * @since 2.0
         *
-        * @return              The value associated to the key, @n
+        * @return              The value associated with the key, @n
         *                              else @c null if an exception occurs
-        * @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           Either of the following conditions has occurred:
-        *                                                                      - The 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.
+        * @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             The specific error code can be accessed using the GetLastResult() method.
         * @see                 SetValue()
         */
        virtual Object* GetValue(const Object& key);
 
        /**
-        * Gets the list of all the keys in the map.
+        * Gets a list of all the keys in a map.
         *
         * @since 2.0
         *
-        * @return              A pointer to the IList object containing all the keys in the map, @n
+        * @return              A pointer to an IList object containing all the keys in the map, @n
         *                              else @c null if an exception occurs
-        * @remarks
-        *                              - The order of the keys is the same as the corresponding values in the IList interface returned by the GetValuesN() method.
-        *                              - 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.
+        * @remarks             The order of the keys is the same as the corresponding values in the IList interface returned by the GetValuesN() method.
+        *              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;
 
@@ -304,27 +295,25 @@ public:
         *
         * @since 2.0
         *
-        * @return              A pointer to the IList object that contains all the values in the map, @n
+        * @return              A pointer to an IList object containing 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 and not the elements themselves.
-        *                              - 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.
+        * @remarks             The specific error code can be accessed using the GetLastResult() method.
         * @see                 GetKeysN()
         */
        virtual IList* GetValuesN(void) const;
 
        /**
-        * Removes the values associated to the specified @c key.
+        * Removes the values associated with the specified @c key.
         *
         * @since 2.0
         *
         * @return              An error code
-        * @param[in]   key                             The key to remove
+        * @param[in]   key The key to remove
         * @exception   E_SUCCESS                       The method is successful.
-        * @exception   E_INVALID_ARG           Either of the following conditions has occurred:
-        *                                                                      - The 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.
+        * @exception   E_INVALID_ARG           The specified input parameter is invalid, or
+        *                                                                      the comparer has failed to compare keys.
+        * @exception   E_OBJ_NOT_FOUND The specified @c key is not found in the map.
         * @see                 Add()
         */
        virtual result Remove(const Object& key);
@@ -338,19 +327,19 @@ public:
        virtual void RemoveAll(void);
 
        /**
-        * Sets the value associated to the specified @c key by allocating a new value to it.
+        * Sets the value associated with the specified @c key by allocating it a new value.
         *
         * @since 2.0
         *
         * @return              An error code
-        * @param[in]   key                                     The key whose value is replaced
-        * @param[in]   pValue                          A pointer to the new value to replace
+        * @param[in]   key     The key whose value is to replace
+        * @param[in]   pValue  The pointer to new value to replace
         * @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.
+        * @exception   E_INVALID_ARG           A specified input parameter is invalid, or
+        *                                                                      the comparer has failed to compare keys.
+        * @exception   E_OBJ_NOT_FOUND The specified @c key is not found in the map.
         * @remarks             To add a new key-value pair, use the Add() method.
+        * @see                 Add()
         * @see                 GetValue()
         */
        virtual result SetValue(const Object& key, Object* pValue);
@@ -371,11 +360,10 @@ public:
         *
         * @return              @c true if the map contains the specified @c 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   Either of the following conditions has occurred:
-        *                                                              - The specified input parameter is invalid.
-        *                                                              - The comparer has failed to compare the keys.
+        * @exception   E_INVALID_ARG   The 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()
         */
@@ -395,14 +383,14 @@ public:
        virtual bool ContainsValue(const Object& value) const;
 
        /**
-        * Compares two instances of %HashMap.
+        * Compares two instances of the %HashMap class.
         *
         * @since 2.0
         *
         * @return              @c true if the two instances match, @n
         *                              else @c false
         * @param[in]   obj The object to compare with the current instance
-        * @remarks             This method returns @c true if and only if the two instances contain the same number of elements and all the elements are present in both of them.
+        * @remarks             This method returns @c true if and only if the two instances contain the same number of elements and all the elements contained in each other.
         */
        virtual bool Equals(const Object& obj) const;
 
@@ -412,8 +400,8 @@ public:
         * @since 2.0
         *
         * @return      The hash value of the current instance
-        * @remarks     The two Tizen::Base::Object::Equals() instances must return the same hash value. @n
-        *                              For better performance, the used hash function must generate a random distribution for all the inputs.
+        * @remarks     The two Tizen::Base::Object::Equals() instances must return the same hash value. For better performance, @n
+        *                      the used hash function must generate a random distribution for all inputs.
         */
        virtual int GetHashCode(void) const;
 
index 35751e4..e731325 100644 (file)
@@ -51,7 +51,7 @@ template< class KeyType > class __HashMapDefaultProviderT;
  * The %HashMapT class provides a template-based collection of associated keys and values
  * that are organized based on the hash code of the key.
  * It contains unique keys and each key maps to one single value.
- * The key and value cannot be a @c null reference. Several methods in the %HashMapT class need the assignment (=) operators of the KeyType and the ValueType.
+ * The key and value cannot be a null reference. Several methods in the %HashMapT class need assignment (=) operators of KeyType and ValueType.
  * @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>.
  *
@@ -152,9 +152,8 @@ public:
         * @param[in]   capacity                The initial capacity
         * @param[in]   loadFactor              The maximum ratio of elements to buckets
         * @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 specified @c capacity or the specified @c loadFactor is negative.
+        * @exception   E_INVALID_ARG   A specified input parameter is invalid, or
+        *                                                              the @c capacity or the @c loadFactor is negative.
         * @remarks             To work properly, the key type must be of a primitive number type.
         * @see                 HashMapT()
         */
@@ -218,15 +217,13 @@ CATCH:
         * @since 2.0
         *
         * @return              An error code
-        * @param[in]   map                                     The map to copy
-        * @param[in]   loadFactor                      The maximum ratio of elements to buckets
+        * @param[in]   map                     The map to copy
+        * @param[in]   loadFactor      The maximum ratio of elements to buckets
         * @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 specified @c loadFactor is negative.
-        * @exception   E_INVALID_OPERATION     Either of the following conditions has occurred:
-        *                                                                      - The current state of the instance prohibits the execution of the specified operation.
-        *                                                                      - The specified @c map is modified during the operation of this method.
+        * @exception   E_INVALID_ARG           A specified input parameter is invalid, or
+        *                                                                      the @c loadFactor is negative.
+        * @exception   E_INVALID_OPERATION     The current state of the instance prohibits the execution of the specified operation, or
+        *                                                                      the @c map is modified during the operation of this method.
         * @see                 HashMapT()
         */
        result Construct(const IMapT< KeyType, ValueType >& map, float loadFactor = 0.75)
@@ -267,24 +264,24 @@ CATCH:
        }
 
        /**
-        * Initializes this instance of the empty %HashMapT, with the specified initial capacity, load factor, hash code provider, and comparer.
+        * Initializes this instance of an empty %HashMapT class, with the specified initial capacity, load factor, hash code provider, and comparer.
         *
         * @since 2.0
         *
         * @return              An error code
-        * @param[in]   capacity                The initial capacity @n
-        *                                                              If it is @c 0, the default capacity (16) is used.
-        * @param[in]   loadFactor              The maximum ratio of the elements to buckets @n
-        *                                                              If it is @c 0, the default load factor (0.75) is used.
-        * @param[in]   provider                An instance of the IHashCodeProviderT-derived class that supplies the hash codes
-        *                                                              for all the keys in this map
-        * @param[in]   comparer                An instance of the IComparerT-derived class to use when comparing the keys
+        * @param[in]   capacity        The initial capacity @n
+        *                                                      If it is @c 0, the default capacity (16) is used.
+        * @param[in]   loadFactor      The maximum ratio of the elements to buckets @n
+        *                                                      If it is @c 0, the default load factor (0.75) is used.
+        * @param[in]   provider        An instance of the IHashCodeProviderT-derived class that supplies the hash codes
+        *                                                      for all keys in this map
+        * @param[in]   comparer        An instance of the IComparerT-derived class to use when comparing keys
         * @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 specified @c capacity is negative.
-        *                                                              - The specified @c loadFactor is negative.
-        * @remarks             The instances of the hash code provider and the comparer are not deallocated later from this map.
+        * @exception   E_INVALID_ARG   Either of the following conditions has occurred: @n
+        *                                                              - A specified input parameter is invalid. @n
+        *                                                              - The specified @c capacity is negative. @n
+        *                                                              - The @c loadFactor is negative.
+        * @remarks             The instances of hash code provider and comparer will not be deallocated later from this map.
         * @see                 HashMapT()
         */
        result Construct(int capacity, float loadFactor, const IHashCodeProviderT< KeyType >& provider,
@@ -345,21 +342,20 @@ CATCH:
         * @since 2.0
         *
         * @return              An error code
-        * @param[in]   map                                     The map to copy
-        * @param[in]   loadFactor                      The maximum ratio of elements to buckets @n
-        *                                                                      If it is @c 0, the default load factor (0.75) is used.
-        * @param[in]   provider                        An instance of the IHashCodeProviderT-derived class that supplies the hash codes
-        *                                                                      for all the keys in this map
-        * @param[in]   comparer                        An instance of the IComparerT-derived class to use when comparing the keys
+        * @param[in]   map                     The map to copy
+        * @param[in]   loadFactor      The maximum ratio of elements to buckets @n
+        *                                                      If it is @c 0, the default load factor (0.75) is used.
+        * @param[in]   provider        An instance of the IHashCodeProviderT-derived class that supplies the hash codes
+        *                                                      for all keys in this map
+        * @param[in]   comparer        An instance of the IComparerT-derived class to use when comparing keys
         * @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 specified @c loadFactor is negative.
-        *                                                                      - Either the specified @c provider or the specified @c comparer is @c null.
-        * @exception   E_INVALID_OPERATION     Either of the following conditions has occurred:
-        *                                                                      - The current state of the instance prohibits the execution of the specified operation.
-        *                                                                      - The specified @c map is modified during the operation of this method.
-        * @remarks             The instances of the hash code provider and the comparer are not deallocated later from this map.
+        * @exception   E_INVALID_ARG           Either of the following conditions has occurred: @n
+        *                                                                      - A specified input parameter is invalid. @n
+        *                                                                      - The @c loadFactor is negative. @n
+        *                                                                      - The @c provider is a @c null or the @c comparer is a @c null.
+        * @exception   E_INVALID_OPERATION     The current state of the instance prohibits the execution of the specified operation, or
+        *                                                                      the @c map is modified during the operation of this method.
+        * @remarks             The instances of hash code provider and comparer will not be deallocated later from this map.
         * @see                 HashMapT()
         */
        result Construct(const IMapT< KeyType, ValueType >& map, float loadFactor, const IHashCodeProviderT< KeyType >& provider,
@@ -395,17 +391,16 @@ CATCH:
        }
 
        /**
-        * Adds the specified key-value pair to the map.
+        * Adds the specified key-value pair to a map.
         *
         * @since 2.0
         *
         * @return              An error code
-        * @param[in]   key                                     The key of the value to add
-        * @param[in]   value                           The value to add
+        * @param[in]   key             The key of the value to add
+        * @param[in]   value   The value to add
         * @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_INVALID_ARG           A specified input parameter is invalid, or
+        *                                                                      the comparer has failed to compare the keys.
         * @exception   E_OBJ_ALREADY_EXIST     The specified @c key already exists.
         * @see Remove()
         */
@@ -438,11 +433,11 @@ CATCH:
        }
 
        /**
-        * Gets the elements of the map through an instance of the IMapEnumeratorT-derived class.
+        * Gets the elements of a map in an instance of the IMapEnumeratorT-derived class.
         *
         * @since 2.0
         *
-        * @return              An instance of the IMapEnumeratorT-derived class, @n
+        * @return              An instance of the IMapEnumeratorT-derived class if successful, @n
         *                              else @c null if an exception occurs
         * @exception   E_SUCCESS               The method is successful.
         * @exception   E_OUT_OF_MEMORY The memory is insufficient.
@@ -466,11 +461,11 @@ CATCH:
        }
 
        /**
-        * Gets the elements of the map through an instance of the IMapEnumeratorT class.
+        * Gets the elements of a map in an instance of the IMapEnumeratorT class.
         *
         * @since 2.0
         *
-        * @return              An instance of the IMapEnumeratorT class, @n
+        * @return              An instance of the IMapEnumeratorT class if successful, @n
         *                              else @c null if an exception occurs
         * @exception   E_SUCCESS               The method is successful.
         * @exception   E_OUT_OF_MEMORY The memory is insufficient.
@@ -490,13 +485,12 @@ CATCH:
         *
         * @return              The value associated with the key, @n
         *                              else @c null if an exception occurs
-        * @param[in]   key                                     The key to locate
-        * @param[out]  value                           The value associated with the @c key
+        * @param[in]   key             The key to locate
+        * @param[out]  value   The value associated with the key
         * @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.
+        * @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                 SetValue()
         */
        virtual result GetValue(const KeyType& key, ValueType& value) const
@@ -532,13 +526,12 @@ CATCH:
         *
         * @return              The value associated with the key, @n
         *                              else @c null if an exception occurs
-        * @param[in]   key                                     The key to locate
-        * @param[out]  value                           The value associated with the @c key
+        * @param[in]   key             The key to locate
+        * @param[out]  value   The value associated with the key
         * @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.
+        * @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                 SetValue()
         */
        virtual result GetValue(const KeyType& key, ValueType& value)
@@ -547,17 +540,16 @@ CATCH:
        }
 
        /**
-        * Gets the list of all the keys in the map.
+        * Gets a list of all the keys in a map.
         *
         * @since 2.0
         *
-        * @return              A pointer to the IListT object that contains all the keys in the map, @n
+        * @return              A pointer to an IListT object containing all the keys in the map, @n
         *                              else @c null if an exception occurs
         * @exception   E_SUCCESS               The method is successful.
         * @exception   E_OUT_OF_MEMORY The memory is insufficient.
-        * @remarks
-        *                              - The order of the keys is the same as the corresponding values in the IListT interface returned by the GetValuesN() method.
-        *                              - The specific error code can be accessed using the GetLastResult() method.
+        * @remarks             The order of the keys is the same as the corresponding values in the IListT interface returned by the GetValuesN() method.
+        * @remarks             The specific error code can be accessed using the GetLastResult() method.
         * @see                 GetValuesN()
         */
        virtual IListT< KeyType >* GetKeysN(void) const
@@ -590,11 +582,11 @@ CATCH:
        }
 
        /**
-        * Gets all the values in the map.
+        * Gets all the values in a map.
         *
         * @since 2.0
         *
-        * @return              A pointer to the IListT object that contains all the values in the map, @n
+        * @return              A pointer to an IListT object containing all the values in the map, @n
         *                              else @c null if an exception occurs
         * @exception   E_SUCCESS               The method is successful.
         * @exception   E_OUT_OF_MEMORY The memory is insufficient.
@@ -631,17 +623,16 @@ CATCH:
        }
 
        /**
-        * Removes the value associated to the specified @c key.
+        * Removes the value associated with the specified @c key.
         *
         * @since 2.0
         *
         * @return              An error code
-        * @param[in]   key                             The key to remove
+        * @param[in]   key The key to remove
         * @exception   E_SUCCESS                       The method is successful.
-        * @exception   E_INVALID_ARG           Either of the following conditions has occurred:
-        *                                                                      - The 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.
+        * @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.
         * @see                 Add()
         */
        virtual result Remove(const KeyType& key)
@@ -684,7 +675,7 @@ CATCH:
        }
 
        /**
-        * Removes all the key-value pairs in the map.
+        * Removes all key-value pairs in the map.
         *
         * @since 2.0
         */
@@ -704,14 +695,14 @@ CATCH:
         * @since 2.0
         *
         * @return              An error code
-        * @param[in]   key                                     The key whose value is replaced
-        * @param[in]   value                           The new value to replace
+        * @param[in]   key             The key for which the value is to replace
+        * @param[in]   value   The new value to replace
         * @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.
+        * @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             Use the Add() method to add a new key-value pair.
+        * @see                 Add()
         * @see                 GetValue()
         */
        virtual result SetValue(const KeyType& key, const ValueType& value)
@@ -746,7 +737,7 @@ CATCH:
        }
 
        /**
-        * Gets the number of pairs currently stored in the map.
+        * Gets the number of pairs currently stored in a map.
         *
         * @since 2.0
         *
@@ -758,18 +749,17 @@ CATCH:
        }
 
        /**
-        * Checks whether the map contains the specified @c key.
+        * Checks whether a map contains the specified @c 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 @c 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 @c key, @n
+        *                                              else @c false
         * @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_INVALID_ARG           A specified input parameter is invalid, or
+        *                                                                      the comparer has failed to compare the keys.
         * @see                 ContainsValue()
         */
        virtual result ContainsKey(const KeyType& key, bool& out) const
@@ -800,7 +790,7 @@ CATCH:
        }
 
        /**
-        * Checks whether the map contains the specified @c value.
+        * Checks whether a map contains the specified @c value.
         *
         * @since 2.0
         *
@@ -827,14 +817,14 @@ CATCH:
        }
 
        /**
-        * Compares two instances of %HashMapT.
+        * Compares two instances of the %HashMapT class.
         *
         * @since 2.0
         *
         * @return              @c true if the two instances match, @n
         *                              else @c false
         * @param[in]   obj The object to compare with the current instance
-        * @remarks             This method returns @c true if and only if the two instances contain the same number of elements and all the elements are present in both of them.
+        * @remarks             This method returns @c true if and only if the two instances contain the same number of elements and all the elements of each other.
         */
        virtual bool Equals(const Object& obj) const
        {
@@ -880,8 +870,8 @@ CATCH:
         * @since 2.0
         *
         * @return      The hash value of the current instance
-        * @remarks     The two Tizen::Base::Object::Equals() instances must return the same hash value. @n
-        *                              For better performance, the used hash function must generate a random distribution for all the inputs.
+        * @remarks     The two Tizen::Base::Object::Equals() instances must return the same hash value. For better performance, @n
+        *                      the used hash function must generate a random distribution for all inputs.
         */
        virtual int GetHashCode(void) const
        {
@@ -1075,7 +1065,7 @@ public:
         * @param[in]   k               The key to include in this entry
         * @param[in]   v               The value to include in this entry
         * @param[in]   next    A pointer to the next entry
-        * @param[in]   h               The hash value of the key
+        * @param[in]   h               A hash value of the key
         */
        __HashMapEntryT(const KeyType& k, const ValueType& v, __HashMapEntryT< KeyType, ValueType >* next, int h)
                : key(k)
@@ -1170,10 +1160,9 @@ public:
         * @return              An error code
         * @param[out]  obj                                     The current object
         * @exception   E_SUCCESS                       The method is successful.
-        * @exception   E_INVALID_OPERATION     Either of the following conditions has occurred:
-        *                                                                      - The current state of the instance prohibits the execution of the specified operation.
-        *                                                                      - This enumerator is currently positioned before the first element or past the last element.
-        *                                                                      - The map is modified after this enumerator is created.
+        * @exception   E_INVALID_OPERATION     The current state of the instance prohibits the execution of the specified operation. @n
+        *                                                                      This enumerator is currently positioned before the first element or
+        *                                                                      past the last element or the map is modified after this enumerator is created.
         */
        virtual result GetCurrent(MapEntryT< KeyType, ValueType >& obj) const
        {
@@ -1186,17 +1175,17 @@ public:
        }
 
        /**
-        * Moves this enumerator to the next element of the map.
+        * Moves this enumerator to the next elements of the map.
         * When this enumerator is first created, or when the Reset() method is called, or when the %MoveNext() method is first called, the enumerator positions itself to the first element in the map.
         *
         * @since 2.0
         *
         * @return              An error code
         * @exception   E_SUCCESS                       The method is successful.
-        * @exception   E_INVALID_OPERATION     Either of the following conditions has occurred:
-        *                                                                      - The current state of the instance prohibits the execution of the specified operation.
-        *                                                                      - The map is modified after this enumerator is created.
+        * @exception   E_INVALID_OPERATION     The current state of the instance prohibits the execution of the specified operation, or
+        *                                                                      the map is modified after this enumerator is created.
         * @exception   E_OUT_OF_RANGE          The enumerator has passed the end of the map.
+        * @see                 Reset()
         */
        virtual result MoveNext(void)
        {
@@ -1224,15 +1213,14 @@ public:
        }
 
        /**
-        * Positions the enumerator before the first element in the map.
+        * Positions the enumerator before the first element in a map.
         *
         * @since 2.0
         *
         * @return              An error code
         * @exception   E_SUCCESS                       The method is successful.
-        * @exception   E_INVALID_OPERATION     Either of the following conditions has occurred:
-        *                                                                      - The current state of the instance prohibits the execution of the specified operation.
-        *                                                                      - The map is modified after this enumerator is created.
+        * @exception   E_INVALID_OPERATION     The current state of the instance prohibits the execution of the specified operation, or
+        *                                                                      the map is modified after this enumerator is created.
         */
        virtual result Reset(void)
        {
@@ -1245,17 +1233,16 @@ public:
        }
 
        /**
-        * Gets the current key in the map.
+        * Gets the current key in a map.
         *
         * @since 2.0
         *
         * @return              An error code
         * @param[out]  key                                     The current key
         * @exception   E_SUCCESS                       The method is successful.
-        * @exception   E_INVALID_OPERATION     Either of the following conditions has occurred:
-        *                                                                      - The current state of the instance prohibits the execution of the specified operation.
-        *                                                                      - This enumerator is currently positioned before the first element or past the last element.
-        *                                                                      - The map is modified after this enumerator is created.
+        * @exception   E_INVALID_OPERATION     The current state of the instance prohibits the execution of the specified operation. @n
+        *                                                                      This enumerator is currently positioned before the first element or
+        *                                                                      past the last element or the map is modified after this enumerator is created.
         */
        virtual result GetKey(KeyType& key) const
        {
@@ -1268,17 +1255,16 @@ public:
        }
 
        /**
-        * Gets the current value in the map.
+        * Gets the current value in a map.
         *
         * @since 2.0
         *
         * @return              An error code
-        * @param[out]  value                           The current value
+        * @param[out]  value The current value
         * @exception   E_SUCCESS                       The method is successful.
-        * @exception   E_INVALID_OPERATION     Either of the following conditions has occurred:
-        *                                                                      - The current state of the instance prohibits the execution of the specified operation.
-        *                                                                      - This enumerator is currently positioned before the first element or past the last element 
-        *                                                                      - The map is modified after the enumerator is created.
+        * @exception   E_INVALID_OPERATION     The current state of the instance prohibits the execution of the specified operation. @n
+        *                                                                      This enumerator is currently positioned before the first element or
+        *                                                                      past the last element or the map is modified after the enumerator is created.
         */
        virtual result GetValue(ValueType& value) const
        {
index 05449db..371ad85 100644 (file)
@@ -36,13 +36,13 @@ namespace Tizen { namespace Base { namespace Collection
  *
  * @since 2.0
  *
- * @remarks    An enumerator remains valid as long as the collection remains unchanged.@n
- *                             If changes are made to the collection, such as adding, modifying, or
- *                             deleting elements, the enumerator is irrecoverably invalidated. @n
- *                             The next call to GetCurrent(), MoveNext(), MovePrevious(), Reset(), or ResetLast() fails (@c E_INVALID_OPERATION).
+ * @remarks
+ * An enumerator remains valid as long as the collection remains unchanged.
+ * If changes are made to the collection, such as adding, modifying, or
+ * deleting elements, the enumerator is irrecoverably invalidated. The next call to GetCurrent(), MoveNext(), MovePrevious(), Reset(), or ResetLast() fails (E_INVALID_OPERATION).
  *
  * The %IBidirectionalEnumerator interface supports a bidirectional iteration over a collection.
- * One can only access the elements in a collection through %IBidirectionalEnumerator. The elements cannot be modified through this interface.
+ *     One can only access the elements in a collection through %IBidirectionalEnumerator. The elements cannot be modified through this interface.
  */
 class _OSP_EXPORT_ IBidirectionalEnumerator
        : public virtual IEnumerator
@@ -58,17 +58,17 @@ public:
 
        /**
         * Moves %IBidirectionalEnumerator to the previous element of the collection. @n
-        * A call to the %MovePrevious() method after the ResetLast() method, positions the enumerator to the last element in the collection.
+        * A call to the MovePrevious() method after the ResetLast() method positions the enumerator to the last element in the collection.
         *
         * @since 2.0
         *
         * @return              An error code
         * @exception   E_SUCCESS                       The method is successful.
         * @exception   E_OUT_OF_RANGE          The enumerator has passed the front of the collection.
-        * @exception   E_INVALID_OPERATION     Either of the following conditions has occurred:
-        *                                                                      - The current state of the instance prohibits the execution of the specified operation.
-        *                                                                      - The collection is modified after the enumerator is created.
+        * @exception   E_INVALID_OPERATION     The current state of the instance prohibits the execution of the specified operation, or
+        *                                                                      the collection is modified after the enumerator is created.
         * @see                 Tizen::Base::Collection::IEnumerator::MoveNext()
+        * @see                 ResetLast()
         */
        virtual result MovePrevious(void) = 0;
 
@@ -79,9 +79,8 @@ public:
         *
         * @return              An error code
         * @exception   E_SUCCESS                       The method is successful.
-        * @exception   E_INVALID_OPERATION     Either of the following conditions has occurred:
-        *                                                                      - The current state of the instance prohibits the execution of the specified operation.
-        *                                                                      - The collection is modified after the enumerator is created.
+        * @exception   E_INVALID_OPERATION     The current state of the instance prohibits the execution of the specified operation, or
+        *                                                                      the collection is modified after the enumerator is created.
         * @see                 Tizen::Base::Collection::IEnumerator::Reset()
         * @see                 MovePrevious()
         */
index 058754f..e3cac90 100644 (file)
@@ -42,11 +42,11 @@ namespace Tizen { namespace Base { namespace Collection
 /**
  * @interface  ICollection
  * @brief              This interface represents a collection of objects. @n
- *                             It defines the size, the enumerators, and the synchronization mechanism of a collection.
+ *                             It defines the size, enumerators, and the synchronization mechanism of a collection.
  *
  * @since 2.0
  *
- * The %ICollection interface represents a collection of objects. It defines the size, the enumerators, and the synchronization mechanism of a collection.
+ * The %ICollection interface represents a collection of objects. It defines the size, enumerators, and the synchronization mechanism of a collection.
  *
  */
 class _OSP_EXPORT_ ICollection
@@ -65,24 +65,24 @@ public:
         *
         * @since 2.0
         *
-        * @return              The integer value that indicates the number of objects currently stored in the collection
+        * @return              An integer value indicating the number of objects currently stored in the collection
         */
        virtual int GetCount(void) const = 0;
 
        /**
         * Gets the enumerator of the %ICollection derived class,
-        * or returns @c null if an exception occurs.
+        * or returns @c null if some exception occurs.
         *
         * @since 2.0
         *
-        * @return          A pointer to the enumerator interface of the %ICollection derived class, @n
+        * @return          A pointer to an enumerator interface of the %ICollection derived class, @n
         *                              else @c null if an exception occurs
         * @exception   E_SUCCESS                       The method is successful.
         * @exception   E_OUT_OF_MEMORY     The memory is insufficient.
-        * @remarks
-        *                              - Use this method to obtain an enumerator (an instance of the IEnumerator derived class)
+        * @remarks             Use this method to obtain an enumerator (an instance of the IEnumerator derived class)
         *                              to iterate over a collection (an instance of the %ICollection derived class).
-        *                              - The specific error code can be accessed using GetLastResult() method.
+        * @remarks             The specific error code can be accessed using GetLastResult() method.
+        * @see                 Tizen::Base::Collection::IEnumerator
         *
         */
        virtual IEnumerator* GetEnumeratorN(void) const = 0;
index d0b5d21..859d4bd 100644 (file)
@@ -35,12 +35,12 @@ namespace Tizen { namespace Base { namespace Collection
 /**
  * @interface  ICollectionT
  * @brief              This interface represents a template-based collection of objects.
- *                             It defines the size, and the enumerators.
+ *                             It defines the size, and enumerators.
  *
  * @since 2.0
  *
  * The %ICollectionT interface represents a template-based collection of objects.
- * It defines the size, and the enumerators.
+ * It defines the size, and enumerators.
  */
 template< class Type >
 class ICollectionT
@@ -69,14 +69,14 @@ public:
         *
         * @since 2.0
         *
-        * @return              A pointer to the enumerator interface of the %ICollectionT derived class, @n
+        * @return              A pointer to an enumerator interface of the %ICollectionT derived class, @n
         *                              else @c null if an exception occurs
         * @exception   E_SUCCESS                       The method is successful.
         * @exception   E_OUT_OF_MEMORY         The memory is insufficient.
-        * @remarks
-        *                              - Use this method to obtain the enumerator (an instance of the IEnumeratorT derived class)
+        * @remarks             Use this method to obtain an enumerator (an instance of the IEnumeratorT derived class)
         *                              to iterate over a collection (an instance of the %ICollectionT derived class).
-        *                              - The specific error code can be accessed using the GetLastResult() method.
+        * @remarks             The specific error code can be accessed using the GetLastResult() method.
+        * @see                 Tizen::Base::Collection::IEnumerator
         */
        virtual IEnumeratorT< Type >* GetEnumeratorN(void) const = 0;
 
index a210d4e..689b1f2 100644 (file)
@@ -30,11 +30,11 @@ namespace Tizen { namespace Base { namespace Collection
 {
 /**
  * @interface  IComparer
- * @brief              This interface allows a derived class to compare two objects of the same type.
+ * @brief              This interface allows a derived class to compare 2 objects of the same type.
  *
  * @since 2.0
  *
- * The %IComparer interface allows a derived class to compare two objects of the same type.
+ * The %IComparer interface allows a derived class to compare 2 objects of the same type.
  */
 class _OSP_EXPORT_ IComparer
 {
@@ -56,15 +56,15 @@ public:
         * @return              An error code
         * @param[in]   obj1    The first object to compare
         * @param[in]   obj2    The second object to compare
-        * @param[out]  cmp             The result of the comparison
+        * @param[out]  cmp             The result of comparison
         * @exception   E_SUCCESS               The method is successful.
         * @exception   E_INVALID_ARG   The specified object instances are not of the expected type.
         * @remarks             The value of @c cmp can be:
         *
         * @code
-        * <  0  if the value of obj1 is less than the value of obj2
-        * == 0  if the value of obj1 is equal to the value of obj2
-        * >  0  if the value of obj1 is greater than the value of obj2
+        * <  0  if the value of @c obj1 is less than the value of @c obj2
+        * == 0  if the value of @c obj1 is equal to the value of @c obj2
+        * >  0  if the value of @c obj1 is greater than the value of @c obj2
         * @endcode
         */
        virtual result Compare(const Tizen::Base::Object& obj1, const Tizen::Base::Object& obj2, int& cmp) const = 0;
index ef2eaa2..7b18e17 100644 (file)
 #define _FBASE_COL_IENUMERATOR_H_
 
 #include <FBaseTypes.h>
-
-namespace Tizen {namespace Base
-{
-class Object;
-}}
+#include <FBaseObject.h>
 
 namespace Tizen { namespace Base { namespace Collection
 {
@@ -107,6 +103,26 @@ public:
         */
        virtual result Reset(void) = 0;
 
+       /**
+        * Gets the reference of the current object in the collection
+        *
+        * @since               3.0
+        *
+        * @return              The reference of the pointer to the current object in the collection
+        * @exception   E_SUCCESS                       The method is successful.
+        * @exception   E_INVALID_OPERATION     Either of the following conditions has occurred: @n
+        *                                                                      - The current state of the instance prohibits the execution of the specified operation. @n
+        *                                                                      - The enumerator is currently positioned before the first element
+        *                                                                      or after the last element. @n
+        *                                                                      - The collection is modified after the enumerator is created.
+        * @remarks             The specific error code can be accessed using the GetLastResult() method.
+        * @see                 GetLastResult()
+        */
+       virtual Tizen::Base::Object*& GetCurrentRef(void) const
+       {
+               return Tizen::Base::Object::pNullObj;
+       }
+
 protected:
        //
        // This method is for internal use only. Using this method can cause behavioral, security-related,
@@ -117,16 +133,6 @@ protected:
        //
        virtual void IEnumerator_Reserved1(void) { }
 
-
-       //
-       // This method is for internal use only. Using this method can cause behavioral, security-related,
-       // and consistency-related issues in the application.
-       // This method is reserved and may change its name at any time without prior notice.
-       //
-       // @since 2.0
-       //
-       virtual void IEnumerator_Reserved2(void) { }
-
 }; // IEnumerator
 
 }}} // Tizen::Base::Collection
index 3e527ac..9ccd9d1 100644 (file)
@@ -33,11 +33,11 @@ namespace Tizen { namespace Base { namespace Collection
 
 /**
  * @interface  IHashCodeProvider
- * @brief              This interface represents classes that provide the hash code of a specific type of object.
+ * @brief              This interface represents classes that can provide the hash code of a specific type of object.
  *
  * @since 2.0
  *
- * The %IHashCodeProvider interface represents classes that provide the hash code of a specific type of object.
+ * The %IHashCodeProvider interface represents classes that can provide the hash code of a specific type of object.
  */
 class _OSP_EXPORT_ IHashCodeProvider
 {
@@ -56,11 +56,10 @@ public:
         * @since 2.0
         *
         * @return              The hash code of the specified object
-        * @param[in]   obj             A pointer to the object whose hash code is required
-        * @remarks
-        *                              - The hash algorithm is usually of a specific type.
-        *                              - Two equal instances must return the same hash value. @n
-        *                              For better performance, the used hash function must generate a random distribution for all the inputs.
+        * @param[in]   obj A pointer to the object whose hash code is required
+        * @remarks     The hash algorithm is usually specific to a type.
+        *                              Two equal instances must return the same hash value.
+        *                              For better performance, the used hash function must generate a random distribution for all inputs.
         */
        virtual int GetHashCode(const Tizen::Base::Object& obj) const = 0;
 
index 7f9120f..a2174b1 100644 (file)
@@ -58,7 +58,7 @@ public:
         * Adds the specified object to the list.
         *
         * @brief               <i> [Deprecated] </i>
-        * @deprecated  This method is deprecated because it has a problem of constant reference argument.
+        * @deprecated  This method is deprecated because it has a problem of const reference argument.
         *                              Instead of using this method, use Add(Object* pObj).
         * @since 2.0
         *
@@ -66,14 +66,12 @@ public:
         * @param[in]   obj                             The object to add
         * @exception   E_SUCCESS               The method is successful.
         * @exception   E_OUT_OF_MEMORY The memory is insufficient.
-        * @remarks
-        *                              - In a collection of contiguous elements, such as a list, the elements
-        *                              that follow the insertion point move down to accommodate the new element. @n
+        * @remarks             In a collection of contiguous elements, such as a list, the elements
+        *                              that follow the insertion point move down to accommodate the new element.
         *                              If the collection is indexed, the indexes of the elements that are moved
-        *                              are also updated. @n
-        *                              This behavior does not apply to collections where
+        *                              are also updated. This behavior does not apply to collections where
         *                              elements are conceptually grouped into buckets, such as a hashtable.
-        *                              - This method performs a shallow copy. It adds just the pointer only and not the element itself.
+        *                              This method performs a shallow copy. It adds the pointer only; not the element itself.
         * @see Remove()
         * @endif
         */
@@ -88,48 +86,45 @@ public:
         * @since 2.0
         *
         * @return              An error code
-        * @param[in]   pObj                            A pointer to the object to add
+        * @param[in]   pObj                            The pointer to object to add
         * @exception   E_SUCCESS                       The method is successful.
         * @exception   E_INVALID_ARG           The specified input parameter is invalid.
-        * @remarks
-        *                              - In a collection of contiguous elements, such as a list, the elements
-        *                              that follow the insertion point move down to accommodate the new element. @n
+        * @remarks             In a collection of contiguous elements, such as a list, the elements
+        *                              that follow the insertion point move down to accommodate the new element.
         *                              If the collection is indexed, the indexes of the elements that are moved
-        *                              are also updated. @n
-        *                              This behavior does not apply to collections where
+        *                              are also updated. This behavior does not apply to collections where
         *                              elements are conceptually grouped into buckets, such as a hashtable.
-        *                              - This method performs a shallow copy. It adds just the pointer only and not the element itself.
+        *                              This method performs a shallow copy. It adds the pointer only; not the element itself.
         * @see Remove()
         */
        virtual result Add(Object* pObj) = 0;
 
        /**
-        * Adds the elements of the specified @c collection to the end of the list.
+        * Adds the elements of the specified collection to the end of the list.
         *
         * @since 2.0
         *
         * @return              An error code
         * @param[in]   collection                      The collection to add to the list
         * @exception   E_SUCCESS                       The method is successful.
-        * @exception   E_INVALID_OPERATION     Either of the following conditions has occurred:
-        *                                                                      - The current state of the instance prohibits the execution of the specified operation.
-        *                                                                      - The specified @c collection is modified during the operation of this method.
-        * @remarks     This method performs a shallow copy. It adds just the pointer only and not the element itself.
+        * @exception   E_INVALID_OPERATION     The current state of the instance prohibits the execution of the specified operation, or
+        *                                                                      the specified @c collection is modified during the operation of this method.
+        * @remarks             This method performs a shallow copy. It adds the pointer only; not the element itself.
         * @see                 RemoveItems()
         */
        virtual result AddItems(const ICollection& collection) = 0;
 
        /**
         * Searches for an object in this list. @n
-        * Gets the @c index of the object if found.
+        * Gets the index of the object if found.
         *
         * @since 2.0
         *
         * @return              An error code
-        * @param[in]   obj                                     The object to locate
-        * @param[out]  index                           The index of the object
+        * @param[in]   obj                     The object to locate
+        * @param[out]  index           The index of the object
         * @exception   E_SUCCESS                       The method is successful.
-        * @exception   E_OBJ_NOT_FOUND         The specified @c obj has not been found.
+        * @exception   E_OBJ_NOT_FOUND         The specified @c obj is not found.
         */
        virtual result IndexOf(const Object& obj, int& index) const = 0;
 
@@ -138,22 +133,19 @@ public:
         * Inserts an object at the specified location in the list.
         *
         * @brief               <i> [Deprecated] </i>
-        * @deprecated  This method is deprecated because it has a problem of constant reference argument.
+        * @deprecated  This method is deprecated because it has a problem of const reference argument.
         *                              Instead of using this method, use InsertAt(const Object* pObj, int index).
         * @since 2.0
         *
         * @return              An error code
-        * @param[in]   obj                                             The object to insert
-        * @param[in]   index                                   The index at which the object is inserted
+        * @param[in]   obj             The object to insert
+        * @param[in]   index   The index at which the object must be inserted
         * @exception   E_SUCCESS                               The method is successful.
-        * @exception   E_OUT_OF_RANGE                  Either of the following conditions has occurred:
-        *                                                                              - The specified @c index is outside the bounds of the data structure.
-        *                                                                              - The specified @c index is greater than the number of elements in the list.
-        *                                                                              - The specified @c index is less than @c 0.
-        * @remarks
-        *                              - If the @c index equals the number of elements in the list, the new element
+        * @exception   E_OUT_OF_RANGE                  The specified index is outside the bounds of the data structure, or
+        *                                                                              the @c index is greater than the number of elements in the list or less than @c 0.
+        * @remarks             If the @c index equals the number of elements in the list, the new element
         *                              is added at the end of the list.
-        *                              - This method performs a shallow copy. It inserts just the pointer only and not the element itself.
+        *                              This method performs a shallow copy. It inserts the pointer only; not the element itself.
         * @see                 Add(Object*)
         * @see                 RemoveAt()
         * @endif
@@ -169,78 +161,72 @@ public:
         * @since 2.0
         *
         * @return              An error code
-        * @param[in]   pObj                            A pointer to the object to insert
-        * @param[in]   index                           The index at which the object is inserted
+        * @param[in]   pObj    The pointer to object to insert
+        * @param[in]   index   The index at which the object must be inserted
         * @exception   E_SUCCESS                       The method is successful.
         * @exception   E_INVALID_ARG           The specified input parameter is invalid.
-        * @exception   E_OUT_OF_RANGE          Either of the following conditions has occurred:
-        *                                                                      - The specified index is outside the bounds of the data structure.
-        *                                                                      - The specified @c index is greater than the number of elements in the list.
-        *                                                                      - The specified @c index is less than @c 0.
-        * @remarks
-        *                              - If the @c index equals the number of elements in the list, the new element
+        * @exception   E_OUT_OF_RANGE          The specified index is outside the bounds of the data structure, or
+        *                                                                      the @c index is greater than the number of elements in the list or less than @c 0.
+        * @remarks             If the @c index equals the number of elements in the list, the new element
         *                              is added at the end of the list.
-        *                              - This method performs a shallow copy. It inserts just the pointer only and not the element itself.
+        *                      This method performs a shallow copy. It inserts the pointer only; not the element itself.
         * @see                 Add(Object*)
         * @see                 RemoveAt()
         */
        virtual result InsertAt(Object* pObj, int index) = 0;
 
        /**
-        * Searches for an object starting from the specified @c index. @n
-        * Gets the @c index of the object if found.
+        * Searches for an object starting from the specified index. @n
+        * Gets the index of the object if found.
         *
         * @since 2.0
         *
         * @return              An error code
-        * @param[in]   obj                             The object to locate
-        * @param[in]   startIndex                              The starting index for the search @n
-        *                                                                              It must be less than the number of elements.
-        * @param[out]  index                                   The index of the object
+        * @param[in]   obj         The object to locate
+        * @param[in]   startIndex      The starting index for the search @n
+        *                                                      It must be less than the number of elements.
+        * @param[out]  index           The index of the object
         * @exception   E_SUCCESS                               The method is successful.
-        * @exception   E_OUT_OF_RANGE                  Either of the following conditions has occurred:
-        *                                                                              - The specified @c index is outside the bounds of the data structure.
-        *                                                                              - The specified @c startIndex is either greater than or equal to the number of elements in the list.
-        *                                                                              - The specified @c startIndex is less than @c 0.
-        * @exception   E_OBJ_NOT_FOUND                 The specified @c obj has not been found.
+        * @exception   E_OUT_OF_RANGE                  The specified index is outside the bounds of the data structure, or
+        *                                                                              the specified @c startIndex is either equal to or greater than the number of elements in the list or less than @c 0.
+        * @exception   E_OBJ_NOT_FOUND                 The specified @c obj is not found.
         * @see                 LastIndexOf()
         */
        virtual result IndexOf(const Object& obj, int startIndex, int& index) const = 0;
 
        /**
         * Searches for an object within the specified range. @n
-        * Gets the @c index of the object if found.
+        * Gets the index of the object if found.
         *
         * @since 2.0
         *
         * @return              An error code
-        * @param[in]   obj                                             The object to locate
-        * @param[in]   startIndex                              The starting index of the range
-        * @param[in]   count                                   The number of elements to read
-        * @param[out]  index                                   The index of the object
+        * @param[in]   obj                     The object to locate
+        * @param[in]   startIndex      The starting index of the range
+        * @param[in]   count           The number of elements to read
+        * @param[out]  index           The index of the object
         * @exception   E_SUCCESS                               The method is successful.
-        * @exception   E_OUT_OF_RANGE                  Either of the following conditions has occurred:
-        *                                                                              - The specified @c index is outside the bounds of the data structure.
-        *                                                                              - The specified @c startIndex is either greater than or equal to the number of elements in the list.
-        *                                                                              - The specified @c startIndex is less than @c 0.
-        *                                                                              - The specified @c count is greater than the number of elements starting from @c startIndex.
-        *                                                                              - The specified @c count is less than @c 0.
-        * @exception   E_OBJ_NOT_FOUND                 The specified @c obj has not been found.
+        * @exception   E_OUT_OF_RANGE                  Either of the following conditions has occurred: @n
+        *                                                                              - The specified index is outside the bounds of the data structure. @n
+        *                                                                              - The specified @c startIndex is either equal to or greater than the number of elements in the list or less than @c 0. @n
+        *                                                                              - The @c count is greater than the number of elements starting from @c startIndex
+        *                                                                              or less than @c 0.
+        * @exception   E_OBJ_NOT_FOUND                 The specified @c obj is not found.
         * @see                 LastIndexOf()
         */
        virtual result IndexOf(const Object& obj, int startIndex, int count, int& index) const = 0;
 
        /**
-        * Searches for the last occurrence of an object in the list. @n
-        * Gets the @c index of the object if found.
+        * Searches for the last occurrence of an object in this list. @n
+        * Gets the index of the object if found.
         *
         * @since 2.0
         *
         * @return              An error code
-        * @param[in]   obj                     The object to locate
-        * @param[out]  index                           The index of the last occurrence of the specified object
+        * @param[in]   obj         The object to locate
+        * @param[out]  index           The index of the last occurrence of the specified object
         * @exception   E_SUCCESS                       The method is successful.
-        * @exception   E_OBJ_NOT_FOUND         The specified @c obj has not been found.
+        * @exception   E_OBJ_NOT_FOUND         The specified @c obj is not found.
         * @see                 IndexOf()
         */
        virtual result LastIndexOf(const Object& obj, int& index) const = 0;
@@ -251,20 +237,16 @@ public:
         * @since 2.0
         *
         * @return              An error code
-        * @param[in]   collection                              The collection to insert
-        * @param[in]   startIndex                              The starting index at which the collection is inserted
+        * @param[in]   collection      The collection to insert
+        * @param[in]   startIndex      The starting index at which the collection must be inserted
         * @exception   E_SUCCESS                               The method is successful.
-        * @exception   E_OUT_OF_RANGE                  Either of the following conditions has occurred:
-        *                                                                              - The specified @c index is outside the bounds of the data structure.
-        *                                                                              - The specified @c startIndex is greater than the number of elements in the list.
-        *                                                                              - The specified @c startIndex is less than @c 0.
-        * @exception   E_INVALID_OPERATION             Either of the following conditions has occurred:
-        *                                                                              - The current state of the instance prohibits the execution of the specified operation.
-        *                                                                              - The specified @c collection is modified during the operation of this method.
-        * @remarks
-        *                              - If the @c startIndex is equal to the number of elements in the list, the new elements
+        * @exception   E_OUT_OF_RANGE                  The specified index is outside the bounds of the data structure, or
+        *                                                                              the @c startIndex is greater than the number of elements in the list or less than @c 0.
+        * @exception   E_INVALID_OPERATION             The current state of the instance prohibits the execution of the specified operation, or
+        *                                                                              the specified @c collection is modified during the operation of this method.
+        * @remarks             If the @c startIndex equals the number of elements in the list, the new elements
         *                              are added at the end of the list.
-        *                              - This method performs a shallow copy. It inserts just the pointer and not the element itself.
+        *                      This method performs a shallow copy. It inserts just the pointer; not the element itself.
         * @see                 RemoveItems()
         * @see                 AddItems()
         */
@@ -276,13 +258,11 @@ public:
         * @since 2.0
         *
         * @return              The object at the specified location, @n
-        *                              else @c null if the @c index invalid
-        * @param[in]   index                                   The index of the object to get
+        *                              else @c null if the @c index is not valid
+        * @param[in]   index   The index of the object to get
         * @exception   E_SUCCESS                               The method is successful.
-        * @exception   E_OUT_OF_RANGE                  Either of the following conditions has occurred:
-        *                                                                              - The specified @c index is outside the bounds of the data structure.
-        *                                                                              - The specified @c index is either greater than or equal to the number of elements in the list.
-        *                                                                              - The specified @c index is less than @c 0.
+        * @exception   E_OUT_OF_RANGE                  The specified index is outside the bounds of the data structure, or
+        *                                                                              the specified @c index is either equal to or greater than the number of elements in the list or less than @c 0.
         * @remarks             The specific error code can be accessed using the GetLastResult() method.
         * @see                 SetAt()
         */
@@ -294,13 +274,11 @@ public:
         * @since 2.0
         *
         * @return              The object at the specified location, @n
-        *                              else @c null if the @c index invalid
+        *                              else @c null if the @c index is not valid
         * @param[in]   index                                   The index of the object to get
         * @exception   E_SUCCESS                               The method is successful.
-        * @exception   E_OUT_OF_RANGE                  Either of the following conditions has occurred:
-        *                                                                              - The specified @c index is outside the bounds of the data structure.
-        *                                                                              - The specified @c index is either greater than or equal to the number of elements in the list.
-        *                                                                              - The specified @c index is less than @c 0.
+        * @exception   E_OUT_OF_RANGE                  The specified index is outside the bounds of the data structure, or
+        *                                                                              the specified @c index is either equal to or greater than the number of elements in the list or less than @c 0.
         * @remarks             The specific error code can be accessed using the GetLastResult() method.
         * @see                 SetAt()
         */
@@ -311,20 +289,18 @@ public:
         *
         * @since 2.0
         *
-        * @return              A pointer to the %IList that contains elements lying within the specified range, @n
+        * @return              A pointer to an %IList with elements lying within the specified range, @n
         *                              else @c null if an exception occurs
-        * @param[in]   startIndex                              The starting index of the range
-        * @param[in]   count                                   The number of elements to read
+        * @param[in]   startIndex      The starting index of the range
+        * @param[in]   count           The number of elements to read
         * @exception   E_SUCCESS                               The method is successful.
-        * @exception   E_OUT_OF_RANGE                  Either of the following conditions has occurred:
-        *                                                                              - The specified @c index is outside the bounds of the data structure.
-        *                                                                              - The specified @c startIndex is either greater than or equal to the number of elements in the list.
-        *                                                                              - The specified @c startIndex is less than @c 0.
-        *                                                                              - The specified @c count is greater than the number of elements in the list starting from @c startIndex.
-        *                                                                              - The specified @c count is less than @c 0.
-        * @remarks
-        *                              - The %IList stores just the pointers to the elements in the list and not the elements themselves.
-        *                              - The specific error code can be accessed using the GetLastResult() method.
+        * @exception   E_OUT_OF_RANGE                  Either of the following conditions has occurred: @n
+        *                                                                              - The specified index is outside the bounds of the data structure. @n
+        *                                                                              - The specified @c startIndex is either equal to or greater than the number of elements in the list or less than @c 0. @n
+        *                                                                              - The @c count is greater than the number of elements in the list starting from @c startIndex
+        *                                                                              or less than @c 0.
+        * @remarks             The %IList stores just the pointers to the elements in the list, not the elements themselves.
+        *                              The specific error code can be accessed using the GetLastResult() method.
         */
        virtual IList* GetItemsN(int startIndex, int count) const = 0;
 
@@ -334,15 +310,15 @@ public:
         * @since 2.0
         *
         * @return              An error code
-        * @param[in]   obj                                     The object to remove
+        * @param[in]   obj                     The object 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_OBJ_NOT_FOUND         The specified @c obj has not been found.
+        * @exception   E_OBJ_NOT_FOUND         The specified @c obj is not found.
         * @remarks
-        *                              - 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.
+        *                              - 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.
         *                              - Remove(obj, @b true) internally works as the below code:
         * @code
         * DeleterFunctionType deleter = GetDeleter();
@@ -386,7 +362,7 @@ public:
         * @return              An error code
         * @param[in]   obj                                     The object to remove
         * @exception   E_SUCCESS                       The method is successful.
-        * @exception   E_OBJ_NOT_FOUND         The specified @c obj has not been found.
+        * @exception   E_OBJ_NOT_FOUND         The specified @c obj is not found.
         * @see                 Add(Object*)
         * @see                 RemoveAt()
         */
@@ -398,18 +374,16 @@ public:
         * @since 2.0
         *
         * @return              An error code
-        * @param[in]   index                                   The index at which the object is removed
-        * @param[in]   forceDeletion                   Set to @c true to deallocate the object, @n
-        *                                                                              else @c false
+        * @param[in]   index                           The index at which the object must be 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_OUT_OF_RANGE                  Either of the following conditions has occurred:
-        *                                                                              - The specified @c index is outside the bounds of the data structure.
-        *                                                                              - The specified @c index is either greater than or equal to the number of elements in the list.
-       *                                                                               - The specified @c index is less than @c 0.
+        * @exception   E_OUT_OF_RANGE                  The specified index is outside the bounds of the data structure, or
+        *                                                                              the specified @c index is either equal to or greater than the number of elements in the list or less than @c 0.
         * @remarks
-        *                              - 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.
+        *                              - 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.
         *                              - RemoveAt(index, @b true) internally works as the below code:
         * @code
         * DeleterFunctionType deleter = GetDeleter();
@@ -449,12 +423,10 @@ public:
         * @since 2.0
         *
         * @return              An error code
-        * @param[in]   index                                   The index at which the object is removed
+        * @param[in]   index                                   The index at which the object must be removed
         * @exception   E_SUCCESS                               The method is successful.
-        * @exception   E_OUT_OF_RANGE                  Either of the following conditions has occurred:
-        *                                                                              - The specified index is outside the bounds of the data structure.
-        *                                                                              - The specified @c index is either greater than or equal to the number of elements in the list.
-        *                                                                              - The specified @c index is less than @c 0.
+        * @exception   E_OUT_OF_RANGE                  The specified index is outside the bounds of the data structure, or
+        *                                                                              the specified @c index is either equal to or greater than the number of elements in the list or less than @c 0.
         */
        virtual result RemoveAt(int index) = 0;
 
@@ -464,21 +436,20 @@ public:
         * @since 2.0
         *
         * @return              An error code
-        * @param[in]   startIndex                              The starting index of the range
-        * @param[in]   count                                   The number of elements in the range
-        * @param[in]   forceDeletion                   Set to @c true to deallocate the object, @n
-        *                                                                              else @c false
+        * @param[in]   startIndex      The starting index of the range
+        * @param[in]   count           The number of elements in the range
+        * @param[in]   forceDeletion           Set to @c true to deallocate the object, @n
+        *                                                                      else @c false
         * @exception   E_SUCCESS                               The method is successful.
-        * @exception   E_OUT_OF_RANGE                  Either of the following conditions has occurred:
-        *                                                                              - The specified @c index is outside the bounds of the data structure.
-        *                                                                              - The specified @c startIndex is either greater than or equal to the number of elements in the list.
-        *                                                                              - The specified @c startIndex is less than @c 0.
-        *                                                                              - The specified @c count is greater than the number of elements starting from @c startIndex.
-        *                                                                              - The specified @c count is less than @c 0.
+        * @exception   E_OUT_OF_RANGE                  Either of the following conditions has occurred: @n
+        *                                                                              - The specified index is outside the bounds of the data structure. @n
+        *                                                                              - The specified @c startIndex is either equal to or greater than the number of elements in the list or less than @c 0. @n
+        *                                                                              - The @c count is greater than the number of elements starting from @c startIndex
+        *                                                                              or less than @c 0.
         * @remarks
-        *                              - 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.
+        *                              - 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.
         *                              - RemoveItems(startIndex, count, @b true) internally works as the below code:
         * @code
         * DeleterFunctionType deleter = GetDeleter();
@@ -519,15 +490,14 @@ public:
         * @since 2.0
         *
         * @return              An error code
-        * @param[in]   startIndex                              The starting index of the range
-        * @param[in]   count                                   The number of elements in the range
+        * @param[in]   startIndex      The starting index of the range
+        * @param[in]   count           The number of elements in the range
         * @exception   E_SUCCESS                               The method is successful.
-        * @exception   E_OUT_OF_RANGE                  Either of the following conditions has occurred:
-        *                                                                              - The specified @c index is outside the bounds of the data structure.
-        *                                                                              - The specified @c startIndex is either greater than or equal to the number of elements in the list.
-        *                                                                              - The specified @c startIndex is less than @c 0.
-        *                                                                              - The specified @c count is greater than the number of elements starting from @c startIndex.
-        *                                                                              - The specified @c count is less than @c 0.
+        * @exception   E_OUT_OF_RANGE                  Either of the following conditions has occurred: @n
+        *                                                                              - The specified index is outside the bounds of the data structure. @n
+        *                                                                              - The specified @c startIndex is either equal to or greater than the number of elements in the list or less than @c 0. @n
+        *                                                                              - The @c count is greater than the number of elements starting from @c startIndex
+        *                                                                              or less than @c 0.
         * @see                 AddItems()
         */
        virtual result RemoveItems(int startIndex, int count) = 0;
@@ -538,17 +508,16 @@ public:
         * @since 2.0
         *
         * @return              An error code
-        * @param[in]   collection                      The collection to remove from this list
+        * @param[in]   collection                      The collection to be removed from this list
         * @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_OPERATION     Either of the following conditions has occurred:
-        *                                                                      - The current state of the instance prohibits the execution of the specified operation.
-        *                                                                      - The specified @c collection is modified during the operation of this method.
+        * @exception   E_INVALID_OPERATION     The current state of the instance prohibits the execution of the specified operation, or
+        *                                                                      the specified @c collection is modified during the operation of this method.
         * @remarks
-        *                              - 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.
+        *                              - 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.
         *                              - RemoveItems(collection, @b true) internally works as the below code:
         * @code
         * DeleterFunctionType deleter = GetDeleter();
@@ -585,16 +554,15 @@ public:
        }
 
        /**
-        * Removes all the elements from the list that are common to the specified @c collection.
+        * Removes all the elements from the list that are common to the specified collection.
         *
         * @since 2.0
         *
         * @return              An error code
         * @param[in]   collection                      The collection to remove from this list
         * @exception   E_SUCCESS                       The method is successful.
-        * @exception   E_INVALID_OPERATION     Either of the following conditions has occurred:
-        *                                                                      - The current state of the instance prohibits the execution of the specified operation.
-        *                                                                      - The specified @c collection is modified during the operation of this method.
+        * @exception   E_INVALID_OPERATION     The current state of the instance prohibits the execution of the specified operation, or
+        *                                                                      the specified @c collection is modified during the operation of this method.
         * @see                 Remove()
         * @see                 RemoveAt()
         */
@@ -602,7 +570,7 @@ public:
 
        /**
         * Removes all the object pointers in the collection. @n
-        * If @c forceDeletion is set to @c true, it removes all the objects from the collection. @n
+        * If the deallocate param is set to @c true, it removes all the objects in the collection. @n
         * This method can be called just before deleting the collection.
         *
         * @since 2.0
@@ -611,9 +579,9 @@ public:
         * @param[in]   forceDeletion           Set to @c true to deallocate all the objects, @n
         *                                                                      else @c false
         * @remarks
-        *                              - 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.
+        *                              - 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.
         *                              - RemoveAll(@b true) internally works as the below code:
         * @code
         * DeleterFunctionType deleter = GetDeleter();
@@ -647,7 +615,7 @@ public:
        }
 
        /**
-        * Removes all the object pointers from the collection. @n
+        * Removes all the object pointers in the collection. @n
         * This method can be called just before deleting the collection.
         *
         * @since 2.0
@@ -655,24 +623,22 @@ public:
        virtual void RemoveAll(void) = 0;
 
        /**
-        * Replaces the object at the specified @c index with the specified object.
+        * Replaces the object at the specified index with the specified object.
         *
         * @since 2.0
         *
         * @return              An error code
-        * @param[in]   obj                                     The new object
-        * @param[in]   index                                   The index at which the new object is set
-        * @param[in]   forceDeletion                   Set to @c true to deallocate the object, @n
-        *                                                                              else @c false
+        * @param[in]   obj     The new object
+        * @param[in]   index   The index at which the new object must be set
+        * @param[in]   forceDeletion           Set to @c true to deallocate the object, @n
+        *                                                                      else @c false
         * @exception   E_SUCCESS                               The method is successful.
-        * @exception   E_OUT_OF_RANGE                  Either of the following conditions has occurred:
-        *                                                                              - The specified @c index is outside the bounds of the data structure.
-        *                                                                              - The specified @c index is either greater than or equal to the number of elements in the list.
-        *                                                                              - The specified @c index is less than @c 0.
+        * @exception   E_OUT_OF_RANGE                  The specified index is outside the bounds of the data structure, or
+        *                                                                              the specified @c index is either equal to or greater than the number of elements in the list or less than @c 0.
         * @remarks
-        *                              - 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.
+        *                              - 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.
         *                              - SetAt(obj, index, @b true) internally works as the below code:
         * @code
         * DeleterFunctionType deleter = GetDeleter();
@@ -708,30 +674,28 @@ public:
        }
 
        /**
-        * Replaces the object at the specified @c index with the specified object.
+        * Replaces the object at the specified index with the specified object.
         *
         * @since 2.0
         *
         * @return              An error code
-        * @param[in]   pObj                                    A pointer to the new object
-        * @param[in]   index                                   The index at which the new object is set
+        * @param[in]   pObj    The pointer to new object
+        * @param[in]   index   The index at which the new object must be set
         * @exception   E_SUCCESS                               The method is successful.
-        * @exception   E_INVALID_ARG                   A specified input parameter is invalid.
-        * @exception   E_OUT_OF_RANGE                  Either of the following conditions has occurred:
-        *                                                                              - The specified index is outside the bounds of the data structure.
-        *                                                                              - The specified @c index is either greater than or equal to the number of elements in the list.
-        *                                                                              - The specified @c index is less than @c 0.
+        * @exception   E_INVALID_ARG                   The specified input parameter is invalid.
+        * @exception   E_OUT_OF_RANGE                  The specified index is outside the bounds of the data structure, or
+        *                                                                              the specified @c index is either equal to or greater than the number of elements in the list or less than @c 0.
         * @see                 GetAt()
         */
        virtual result SetAt(Object* pObj, int index) = 0;
 
        /**
-        * Sorts the elements of the list using the @c comparer provided.
+        * Sorts the elements of this list using the comparer provided.
         *
         * @since 2.0
         *
         * @return              An error code
-        * @param[in]   comparer                The IComparer implementation to use when comparing the elements
+        * @param[in]   comparer                The IComparer implementation to use when comparing elements
         * @exception   E_SUCCESS               The method is successful.
         * @exception   E_INVALID_ARG   The specified input parameter is invalid.
         */
@@ -750,23 +714,22 @@ public:
 
        /**
         * @if OSPDEPREC
-        * Checks whether the list contains all the elements of the specified @c collection.
+        * Checks whether the list contains all the elements of the specified collection.
         *
         * @brief               <i> [Deprecated] </i>
-        * @deprecated  This method is deprecated because it transfers the result of the comparison in an out-parameter form.
-        *                              The return type is changed to boolean and this method returns the result.
+        * @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.
         *                              Instead of using this method, use bool ContainsAll(const ICollection& collection).
         * @since 2.0
         *
         * @return              An error code
-        * @param[in]   collection                      The collection to check for containment in this list
-        * @param[out]  out                                     Set to @c true if the list contains all the elements of the specified collection, @n
-        *                                                                      else @c false
+        * @param[in]   collection      The collection to check for containment in this list
+        * @param[out]  out                     Set to @c true if the list contains all the elements of the specified collection, @n
+        *                                                      else @c false
         * @exception   E_SUCCESS                       The method is successful.
-        * @exception   E_INVALID_OPERATION     Either of the following conditions has occurred:
-        *                                                                      - The current state of the instance prohibits the execution of the specified operation.
-        *                                                                      - The specified @c collection is modified during the operation of this method.
-        * @remarks             If the given @c collection is empty, then @c out is set to @c true.
+        * @exception   E_INVALID_OPERATION     The current state of the instance prohibits the execution of the specified operation, or
+        *                                                                      the specified @c collection is modified during the operation of this method.
+        * @remarks             If the given @c collection is empty, the @c out parameter is set to @c true.
         * @see                 Contains()
         * @endif
         */
@@ -778,45 +741,44 @@ public:
        }
 
        /**
-        * Checks whether the list contains all the elements of the specified @c collection.
+        * Checks whether the list contains all the elements of the specified collection.
         *
         * @since 2.0
         *
         * @return              @c true if the list contains all the elements of the specified collection, @n
-        *                              else @c false
+        *                                      else @c false
         * @param[in]   collection                      The collection to check for containment in this list
         * @exception   E_SUCCESS                       The method is successful.
-        * @exception   E_INVALID_OPERATION     Either of the following conditions has occurred:
-        *                                                                      - The current state of the instance prohibits the execution of the specified operation.
-        *                                                                      - The specified @c collection is modified during the operation of this method.
+        * @exception   E_INVALID_OPERATION     The current state of the instance prohibits the execution of the specified operation, or
+        *                                                                      the specified @c collection is modified during the operation of this method.
         * @remarks
         *                              - The specific error code can be accessed using the GetLastResult() method.
-        *                              - If the given @c collection is empty, this method returns @c true.
+        *                              - If the given @c collection is empty, this method will return @c true.
         * @see                 Contains()
         */
        virtual bool ContainsAll(const ICollection& collection) const = 0;
 
        /**
-       * Gets the bidirectional enumerator (an instance of the IBidirectionalEnumerator derived class) of this list.
+       * Gets a bidirectional enumerator (an instance of the IBidirectionalEnumerator derived class) of this list.
        *
        * @since 2.0
        *
-       * @return               A pointer to the bidirectional enumerator interface of the %IList derived class, @n
+       * @return               A pointer to a bidirectional enumerator interface of the %IList derived class, @n
        *                               else @c null if an exception occurs
-       * @remarks
-       *                               - Use this method to obtain a bidirectional enumerator (an instance of the IBidirectionalEnumerator derived class)
+       * @remarks              Use this method to obtain a bidirectional enumerator (an instance of the IBidirectionalEnumerator derived class)
        *                               to iterate over a collection (an instance of the %IList derived class).
-       *                               - The specific error code can be accessed using GetLastResult() method.
+       *                               The specific error code can be accessed using GetLastResult() method.
+       * @see                  Tizen::Base::Collection::IBidirectionalEnumerator
        */
        virtual IBidirectionalEnumerator* GetBidirectionalEnumeratorN(void) const = 0;
 
        /**
-        * Checks whether the instance is an ArrayList or a LinkedList.
+        * This method is for distinguishing between ArrayList and LinkedList.
         *
         * @since 2.0
         *
         * @return      @c true if it is an ArrayList, @n
-        *                      else @c false if it is a LinkedList
+        *                      else @c false if it is a LinkedList.
         */
        virtual bool IsRandomAccessible(void) const
        {
@@ -832,6 +794,23 @@ public:
         */
        virtual DeleterFunctionType GetDeleter(void) const = 0;
 
+       /**
+        * Gets the reference of the object at the specified location.
+        *
+        * @since               3.0
+        *
+        * @return              The reference of the object at the specified location
+        * @param[in]           index                                   The index of the object to get
+        * @exception   E_SUCCESS                               The method is successful.
+        * @exception   E_OUT_OF_RANGE                  The specified index is outside the bounds of the data structure, or
+        *                                                                              the specified @c index is either equal to or greater than the number of elements in the list or less than @c 0.
+        * @remarks             The specific error code can be accessed using the GetLastResult() method.
+        */
+       virtual Object*& GetAtRef(int index)
+       {
+               return Object::pNullObj;
+       }
+
 protected:
        //
        // This method is for internal use only. Using this method can cause behavioral, security-related,
@@ -842,15 +821,6 @@ protected:
        //
        virtual void IList_Reserved1(void) {}
 
-       //
-       // This method is for internal use only. Using this method can cause behavioral, security-related,
-       // and consistency-related issues in the application.
-       // This method is reserved and may change its name at any time without prior notice.
-       //
-       // @since 2.0
-       //
-       virtual void IList_Reserved2(void) {}
-
 private:
        /**
         * Sets the element deleter of the collection.
index 6729b7d..b0109fd 100644 (file)
@@ -78,82 +78,78 @@ public:
         * @return              An error code
         * @param[in]   collection                      The collection to add
         * @exception   E_SUCCESS                       The method is successful.
-        * @exception   E_INVALID_OPERATION     Either of the following conditions has occurred:
-        *                                                                      - The current state of the instance prohibits the execution of the specified operation.
-        *                                                                      - The specified @c collection is modified during the operation of this method.
+        * @exception   E_INVALID_OPERATION     The current state of the instance prohibits the execution of the specified operation, or
+        *                                                                      the specified @c collection is modified during the operation of this method.
         * @see                 RemoveItems()
         */
        virtual result AddItems(const ICollectionT< Type >& collection) = 0;
 
        /**
         * Searches for an object in this list. @n
-        * Gets the @c index of the object if found.
+        * Gets the index of the object if found.
         *
         * @since 2.0
         *
         * @return              An error code
-        * @param[in]   obj                                     The object to locate
-        * @param[out]  index                           The index of the object
+        * @param[in]   obj                     The object to locate
+        * @param[out]  index           The index of the object
         * @exception   E_SUCCESS                       The method is successful.
-        * @exception   E_OBJ_NOT_FOUND         The specified @c obj has not been found.
+        * @exception   E_OBJ_NOT_FOUND         The specified @c obj is not found.
         */
        virtual result IndexOf(const Type& obj, int& index) const = 0;
 
        /**
-        * Searches for an object starting from the specified @c startIndex. @n
-        * Gets the @c index of the object if found.
+        * Searches for an object starting from the specified index. @n
+        * Gets the index of the object if found.
         *
         * @since 2.0
         *
         * @return              An error code
-        * @param[in]   obj                             The object to locate
-        * @param[in]   startIndex                              The starting index for the search @n
-        *                                                                              It must be less than the number of elements.
-        * @param[out]  index                                   The index of the object
+        * @param[in]   obj         The object to locate
+        * @param[in]   startIndex      The starting index for the search @n
+        *                                                      It must be less than the number of elements.
+        * @param[out]  index           The index of the object
         * @exception   E_SUCCESS                               The method is successful.
-        * @exception   E_OUT_OF_RANGE                  Either of the following conditions has occurred:
-        *                                                                              - The specified @c index is outside the bounds of the data structure.
-        *                                                                              - The specified @c startIndex is either greater than or equal to the number of elements in the list.
-        *                                                                              - The specified @c startIndex is less than @c 0.
-        * @exception   E_OBJ_NOT_FOUND                 The specified @c obj has not been found.
+        * @exception   E_OUT_OF_RANGE                  The specified index is outside the bounds of the data structure, or
+        *                                                                              the specified @c startIndex is either equal to or greater than the number of elements in the list or less than @c 0.
+        * @exception   E_OBJ_NOT_FOUND                 The specified @c obj is not found.
         * @see                 LastIndexOf()
         */
        virtual result IndexOf(const Type& obj, int startIndex, int& index) const = 0;
 
        /**
         * Searches for an object within the specified range. @n
-        * Gets the @c index of the object if found.
+        * Gets the index of the object if found.
         *
         * @since 2.0
         *
         * @return              An error code
-        * @param[in]   obj                             The object to locate
-        * @param[in]   startIndex                              The starting index of the range
-        * @param[in]   count                                   The number of elements to read
-        * @param[out]  index                                   The index of the object
+        * @param[in]   obj         The object to locate
+        * @param[in]   startIndex      The starting index of the range
+        * @param[in]   count           The number of elements to read
+        * @param[out]  index           The index of the object
         * @exception   E_SUCCESS                               The method is successful.
-        * @exception   E_OUT_OF_RANGE                  Either of the following conditions has occurred:
-        *                                                                              - The specified @c index is outside the bounds of the data structure.
-        *                                                                              - The specified @c startIndex is either greater than or equal to the number of elements in the list.
-        *                                                                              - The specified @c startIndex is less than @c 0.
-        *                                                                              - The specified @c count is greater than the number of elements starting from @c startIndex.
-        *                                                                              - The specified @c count is less than @c 0.
-        * @exception   E_OBJ_NOT_FOUND                 The specified @c obj has not been found.
+        * @exception   E_OUT_OF_RANGE                  Either of the following conditions has occurred: @n
+        *                                                                              - The specified index is outside the bounds of the data structure. @n
+        *                                                                              - The specified @c startIndex is either equal to or greater than the number of elements in the list or less than @c 0. @n
+        *                                                                              - The @c count is greater than the number of elements starting from @c startIndex
+        *                                                                              or less than @c 0.
+        * @exception   E_OBJ_NOT_FOUND                 The specified @c obj is not found.
         * @see                 LastIndexOf()
         */
        virtual result IndexOf(const Type& obj, int startIndex, int count, int& index) const = 0;
 
        /**
         * Searches for the last occurrence of an object in this list. @n
-        * Gets the @c index of the object if found.
+        * Gets the index of the object if found.
         *
         * @since 2.0
         *
         * @return              An error code
-        * @param[in]   obj                     The object to locate
-        * @param[out]  index                           The index of the last occurrence of the specified object
+        * @param[in]   obj         The object to locate
+        * @param[out]  index           The index of the last occurrence of the specified object
         * @exception   E_SUCCESS                       The method is successful.
-        * @exception   E_OBJ_NOT_FOUND         The specified @c obj has not been found.
+        * @exception   E_OBJ_NOT_FOUND         The specified @c obj is not found.
         * @see                 IndexOf()
         */
        virtual result LastIndexOf(const Type& obj, int& index) const = 0;
@@ -164,14 +160,12 @@ public:
         * @since 2.0
         *
         * @return              An error code
-        * @param[in]   obj                                             The object to insert
-        * @param[in]   index                                   The index at which the object is inserted
+        * @param[in]   obj             The object to insert
+        * @param[in]   index   The index at which the object must be inserted
         * @exception   E_SUCCESS                               The method is successful.
-        * @exception   E_OUT_OF_RANGE                  Either of the following conditions has occurred:
-        *                                                                              - The specified @c index is outside the bounds of the data structure.
-        *                                                                              - The specified @c index is greater than the number of elements in the list.
-        *                                                                              - The specified @c index is less than @c 0.
-        * @remarks             If the @c index is equal to the number of elements in the list, the new element
+        * @exception   E_OUT_OF_RANGE                  The specified index is outside the bounds of the data structure, or
+        *                                                                              the @c index is greater than the number of elements in the list or less than @c 0.
+        * @remarks             If the @c index equals the number of elements in the list, the new element
         *                              is added at the end of the list.
         * @see                 Add()
         * @see                 RemoveAt()
@@ -179,21 +173,18 @@ public:
        virtual result InsertAt(const Type& obj, int index) = 0;
 
        /**
-        * Inserts the elements of a collection at the specified location in the list.
+        * Inserts the elements of a collection in the list at the specified location.
         *
         * @since 2.0
         *
         * @return              An error code
-        * @param[in]   collection                              The collection to insert
-        * @param[in]   startIndex                              The starting index at which the collection is inserted
+        * @param[in]   collection      The collection to insert
+        * @param[in]   startIndex      The starting index at which the collection must be inserted
         * @exception   E_SUCCESS                               The method is successful.
-        * @exception   E_OUT_OF_RANGE                  Either of the following conditions has occurred:
-        *                                                                              - The specified @c index is outside the bounds of the data structure.
-        *                                                                              - The specified @c startIndex is greater than the number of elements in the list.
-        *                                                                              - The specified @c startIndex is less than @c 0.
-        * @exception   E_INVALID_OPERATION             Either of the following conditions has occurred:
-        *                                                                              - The current state of the instance prohibits the execution of the specified operation.
-        *                                                                              - The specified @c collection is modified during the operation of this method.
+        * @exception   E_OUT_OF_RANGE                  The specified index is outside the bounds of the data structure, or
+        *                                                                              the @c startIndex is greater than the number of elements in the list or less than @c 0.
+        * @exception   E_INVALID_OPERATION             The current state of the instance prohibits the execution of the specified operation, or
+        *                                                                              the specified @c collection is modified during the operation of this method.
         * @remarks             If the @c startIndex equals the number of elements in the list, the new elements
         *                              are added at the end of the list.
         * @see                 RemoveItems()
@@ -207,13 +198,11 @@ public:
         * @since 2.0
         *
         * @return              An error code
-        * @param[in]   index                                   The index of the object to get
-        * @param[out]  obj                                             The object obtained from the list
+        * @param[in]   index   The index of the object to get
+        * @param[out]  obj             The object obtained from the list
         * @exception   E_SUCCESS                               The method is successful.
-        * @exception   E_OUT_OF_RANGE                  Either of the following conditions has occurred:
-        *                                                                              - The specified @c index is outside the bounds of the data structure.
-        *                                                                              - The specified @c index is either greater than or equal to the number of elements in the list.
-        *                                                                              - The specified @c index is less than @c 0.
+        * @exception   E_OUT_OF_RANGE                  The specified index is outside the bounds of the data structure, or
+        *                                                                              the specified @c index is either equal to or greater than the number of elements in the list or less than @c 0.
         * @see                 SetAt()
         */
        virtual result GetAt(int index, Type& obj) const = 0;
@@ -224,13 +213,11 @@ public:
         * @since 2.0
         *
         * @return              An error code
-        * @param[in]   index                                   The index of the object to get
-        * @param[out]  obj                                             The object obtained from the list
+        * @param[in]   index   The index of the object to get
+        * @param[out]  obj             The object obtained from the list
         * @exception   E_SUCCESS                               The method is successful.
-        * @exception   E_OUT_OF_RANGE                  Either of the following conditions has occurred:
-        *                                                                              - The specified @c index is outside the bounds of the data structure.
-        *                                                                              - The specified @c index is either greater than or equal to the number of elements in the list.
-        *                                                                              - The specified @c index is less than @c 0.
+        * @exception   E_OUT_OF_RANGE                  The specified index is outside the bounds of the data structure, or
+        *                                                                              the specified @c index is either equal to or greater than the number of elements in the list or less than @c 0.
         * @see                 SetAt()
         */
        virtual result GetAt(int index, Type& obj) = 0;
@@ -240,17 +227,16 @@ public:
         *
         * @since 2.0
         *
-        * @return              A pointer to %IListT that contains the elements lying within the specified range, @n
+        * @return              A pointer to %IListT with elements lying within the specified range, @n
         *                              else @c null if an exception occurs
-        * @param[in]   startIndex                              The starting index of the range
-        * @param[in]   count                                   The number of elements to read
+        * @param[in]   startIndex      The starting index of the range
+        * @param[in]   count           The number of elements to read
         * @exception   E_SUCCESS                               The method is successful.
-        * @exception   E_OUT_OF_RANGE                  Either of the following conditions has occurred:
-        *                                                                              - The specified @c index is outside the bounds of the data structure.
-        *                                                                              - The specified @c startIndex is either greater than or equal to the number of elements in the list.
-        *                                                                              - The specified @c startIndex is less than @c 0.
-        *                                                                              - The specified @c count is greater than the number of elements in the list starting from @c startIndex.
-        *                                                                              - The specified @c count is less than @c 0.
+        * @exception   E_OUT_OF_RANGE                  Either of the following conditions has occurred: @n
+        *                                                                              - The specified index is outside the bounds of the data structure. @n
+        *                                                                              - The specified @c startIndex is either equal to or greater than the number of elements in the list or less than @c 0. @n
+        *                                                                              - The @c count is greater than the number of elements in the list starting from @c startIndex
+        *                                                                              or less than @c 0.
         * @remarks             The specific error code can be accessed using the GetLastResult() method.
         */
        virtual IListT< Type >* GetItemsN(int startIndex, int count) const = 0;
@@ -263,7 +249,7 @@ public:
         * @return              An error code
         * @param[in]   obj                                     The object to remove
         * @exception   E_SUCCESS                       The method is successful.
-        * @exception   E_OBJ_NOT_FOUND         The specified @c obj has not been found.
+        * @exception   E_OBJ_NOT_FOUND         The object is not found.
         */
        virtual result Remove(const Type& obj) = 0;
 
@@ -273,26 +259,23 @@ public:
         * @since 2.0
         *
         * @return              An error code
-        * @param[in]   index                                   The index at which the object is removed
+        * @param[in]   index                                   The index at which the object must be removed
         * @exception   E_SUCCESS                               The method is successful.
-        * @exception   E_OUT_OF_RANGE                  Either of the following conditions has occurred:
-        *                                                                              - The specified @c index is outside the bounds of the data structure.
-        *                                                                              - The specified @c index is either greater than or equal to the number of elements in the list.
-        *                                                                              - The specified @c index is less than @c 0.
+        * @exception   E_OUT_OF_RANGE                  The specified index is outside the bounds of the data structure, or
+        *                                                                              the specified @c index is either equal to or greater than the number of elements in the list or less than @c 0.
         */
        virtual result RemoveAt(int index) = 0;
 
        /**
-        * Removes all the elements from the list that are common to the specified @c collection.
+        * Removes all the elements from the list that are common to the specified collection.
         *
         * @since 2.0
         *
         * @return              An error code
         * @param[in]   collection                      The collection to remove from this list
         * @exception   E_SUCCESS                       The method is successful.
-        * @exception   E_INVALID_OPERATION     Either of the following conditions has occurred:
-        *                                                                      - The current state of the instance prohibits the execution of the specified operation.
-        *                                                                      - The specified @c collection is modified during the operation of this method.
+        * @exception   E_INVALID_OPERATION     The current state of the instance prohibits the execution of the specified operation, or
+        *                                                                      the specified @c collection is modified during the operation of this method.
         * @see                 Remove()
         * @see                 RemoveAt()
         */
@@ -304,51 +287,48 @@ public:
         * @since 2.0
         *
         * @return              An error code
-        * @param[in]   startIndex                              The starting index of the range
-        * @param[in]   count                                   The number of elements in the range
+        * @param[in]   startIndex      The starting index of the range
+        * @param[in]   count           The number of elements in the range
         * @exception   E_SUCCESS                               The method is successful.
-        * @exception   E_OUT_OF_RANGE                  Either of the following conditions has occurred:
-        *                                                                              - The specified @c index is outside the bounds of the data structure.
-        *                                                                              - The specified @c startIndex is either greater than or equal to the number of elements in the list.
-        *                                                                              - The specified @c startIndex is less than @c 0.
-        *                                                                              - The specified @c count is greater than the number of elements starting from @c startIndex.
-        *                                                                              - The specified @c count is less than @c 0.
+        * @exception   E_OUT_OF_RANGE                  Either of the following conditions has occurred: @n
+        *                                                                              - The specified index is outside the bounds of the data structure. @n
+        *                                                                              - The specified @c startIndex is either equal to or greater than the number of elements in the list or less than @c 0. @n
+        *                                                                              - The @c count is greater than the number of elements starting from @c startIndex
+        *                                                                              or less than @c 0.
         * @see                 AddItems()
         * @see                 InsertItemsFrom()
         */
        virtual result RemoveItems(int startIndex, int count) = 0;
 
        /**
-        * Removes all the elements from the list.
+        * Removes all the elements in the list.
         *
         * @since 2.0
         */
        virtual void RemoveAll(void) = 0;
 
        /**
-        * Sets the object at the specified @c index with the specified object.
+        * Sets the object at the specified index with the specified object.
         *
         * @since 2.0
         *
         * @return              An error code
-        * @param[in]   obj                                             The new object
-        * @param[in]   index                                   The index at which the new object is set
+        * @param[in]   obj             The new object
+        * @param[in]   index   The index at which the new object must be set
         * @exception   E_SUCCESS                               The method is successful.
-        * @exception   E_OUT_OF_RANGE                  Either of the following conditions has occurred:
-        *                                                                              - The specified @c index is outside the bounds of the data structure.
-        *                                                                              - The specified @c index is either greater than or equal to the number of elements in the list.
-        *                                                                              - The specified @c index is less than @c 0.
+        * @exception   E_OUT_OF_RANGE                  The specified index is outside the bounds of the data structure, or
+        *                                                                              the specified @c index is either equal to or greater than the number of elements in the list or less than @c 0.
         * @see                 GetAt()
         */
        virtual result SetAt(const Type& obj, int index) = 0;
 
        /**
-        * Sorts the elements of this list using the @c comparer provided.
+        * Sorts the elements of this list using the comparer provided.
         *
         * @since 2.0
         *
         * @return              An error code
-        * @param[in]   comparer                The IComparerT implementation to use when comparing the elements
+        * @param[in]   comparer                The IComparerT implementation to use when comparing elements
         * @exception   E_SUCCESS               The method is successful.
         * @exception   E_INVALID_ARG   The specified input parameter is invalid.
         */
@@ -366,36 +346,35 @@ public:
        virtual bool Contains(const Type& obj) const = 0;
 
        /**
-        * Checks whether the list contains all the elements of the specified @c collection.
+        * Checks whether the list contains all the elements of the specified collection.
         *
         * @since 2.0
         *
         * @return              An error code
-        * @param[in]   collection                      The collection to check for containment in this list
-        * @param[out]  out                                     Set to @c true if the list contains all the elements of the specified collection, @n
-        *                                                                      else @c false
+        * @param[in]   collection      The collection to check for containment in this list
+        * @param[out]  out                     Set to @c true if the list contains all the elements of the specified collection, @n
+        *                                                      else @c false
         * @exception   E_SUCCESS                       The method is successful.
-        * @exception   E_INVALID_OPERATION     Either of the following conditions has occurred:
-        *                                                                      - The current state of the instance prohibits the execution of the specified operation.
-        *                                                                      - The specified @c collection is modified during the operation of this method.
-        * @remarks             If the given @c collection is empty, then @c out is set to @c true.
+        * @exception   E_INVALID_OPERATION     The current state of the instance prohibits the execution of the specified operation, or
+        *                                                                      the specified @c collection is modified during the operation of this method.
+        * @remarks             If the given @c collection is empty, the @c out parameter is set to @c true.
         * @see                 Contains()
         */
        virtual result ContainsAll(const ICollectionT< Type >& collection, bool& out) const = 0;
 
        /**
-        * Gets the bidirectional enumerator (an instance of the IBidirectionalEnumeratorT derived class) of this list.
+        * Gets a bidirectional enumerator (an instance of the IBidirectionalEnumeratorT derived class) of this list.
         *
         * @since 2.0
         *
-        * @return              A pointer to the bidirectional enumerator interface of the %IListT derived class, @n
+        * @return              A pointer to a bidirectional enumerator interface of the %IListT derived class, @n
         *                              else @c null if an exception occurs
         * @exception   E_SUCCESS                       The method is successful.
         * @exception   E_OUT_OF_MEMORY         The memory is insufficient.
-        * @remarks
-        *                              - Use this method to obtain a bidirectional enumerator (an instance of the IBidirectionalEnumeratorT derived class)
-        *                              to iterate over a collection (an instance of the %IListT derived class).
-        *                              - The specific error code can be accessed using the GetLastResult() method.
+        * @remarks             Use this method to obtain a bidirectional enumerator (an instance of the IBidirectionalEnumeratorT derived class)
+        *                              to iterate over a collection (an instance of the %IListT derived class).
+        * @remarks             The specific error code can be accessed using the GetLastResult() method.
+        * @see                 Tizen::Base::Collection::IBidirectionalEnumeratorT
         */
        virtual IBidirectionalEnumeratorT< Type >* GetBidirectionalEnumeratorN(void) const = 0;
 
index a24e53d..01faca3 100644 (file)
@@ -40,7 +40,7 @@ class MapEntry;
  *
  * @since 2.0
  *
- * The %IMap interface represents a collection of key-value pairs. An %IMap instance
+ * The %IMap interface abstracts a collection of key-value pairs. An %IMap instance
  * contains unique keys and each key maps to a single value.
  * The key and value cannot be a @c null reference.
  *
@@ -63,19 +63,18 @@ 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 constant reference argument.
+        * @deprecated  This method is deprecated because it has a problem of const 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           Either of the following conditions has occurred:
-        *                                                                      - A specified input parameter is invalid.
-        *                                                                      - The comparer has failed to compare the keys.
+        * @exception   E_INVALID_ARG           A specified input parameter is invalid, or
+        *                                                                      the comparer has failed to compare the keys.
         * @exception   E_OBJ_ALREADY_EXIST     The specified @c key already exists.
-        * @remarks     This method performs a shallow copy. It adds just the pointer and not the element itself.
+        * @remarks             This method performs a shallow copy. It adds just the pointer; not the element itself.
         * @see Remove()
         * @endif
         */
@@ -90,31 +89,29 @@ public:
         * @since 2.0
         *
         * @return              An error code
-        * @param[in]   pKey                            A pointer to the key to add
-        * @param[in]   pValue                          A pointer to the corresponding value to add
+        * @param[in]   pKey    The pointer to key to add
+        * @param[in]   pValue  The pointer to corresponding value to add
         * @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_INVALID_ARG           A specified input parameter is invalid, or
+        *                                                                      the comparer has failed to compare the keys.
         * @exception   E_OBJ_ALREADY_EXIST     The specified @c pKey already exists.
-        * @remarks     This method performs a shallow copy. It adds just the pointer and not the element itself.
+        * @remarks     This method performs a shallow copy. It adds just the pointer; not the element itself.
         * @see Remove()
         */
        virtual result Add(Object* pKey, Object* pValue) = 0;
 
        /**
-        * Checks whether the key exists. If the key does not exist, the Add() method is called. Unless, the SetValue() method is called.
+        * Checks if the key exists. If the key does not exist, Add() is called. Unless, SetValue() is called.
         *
         * @since 2.0
         *
         * @return              An error code
-        * @param[in]   pKey                            A pointer to the key to add
-        * @param[in]   pValue                          A pointer to the corresponding value to add
+        * @param[in]   pKey    The pointer to key to add
+        * @param[in]   pValue  The pointer to corresponding value to add
         * @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.
-        * @remarks     This method performs a shallow copy. It adds just the pointer and not the element itself.
+        * @exception   E_INVALID_ARG           A specified input parameter is invalid, or
+        *                                                                      the comparer has failed to compare the keys.
+        * @remarks     This method performs a shallow copy. It adds just the pointer; not the element itself.
         * @see                 Add(Object*, Object*)
         * @see                 SetValue()
         */
@@ -131,36 +128,34 @@ public:
        }
 
        /**
-        * Gets the value associated to the specified @c key.
+        * Gets the value associated with the specified key.
         *
         * @since 2.0
         *
-        * @return              The value associated to the specified key, @n
+        * @return              The value associated with the specified key, @n
         *                              else @c null if an exception occurs
-        * @param[in]   key                             The key used to find the associated value
+        * @param[in]   key                             The key to find the associated value
         * @exception   E_SUCCESS               The method is successful.
-        * @exception   E_INVALID_ARG   Either of the following conditions has occurred:
-        *                                                              - The 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.
+        * @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.
         * @remarks             The specific error code can be accessed using the GetLastResult() method.
         * @see                 SetValue()
         */
        virtual const Object* GetValue(const Object& key) const = 0;
 
        /**
-        * Gets the value associated to the specified @c key.
+        * Gets the value associated with the specified key.
         *
         * @since 2.0
         *
-        * @return              The value associated to the specified key, @n
+        * @return              The value associated with the specified key, @n
         *                              else @c null if an exception occurs
-        * @param[in]   key                             The key used to find the associated value
+        * @param[in]   key                             The key to find the associated value
         * @exception   E_SUCCESS               The method is successful.
-        * @exception   E_INVALID_ARG   Either of the following conditions has occurred:
-        *                                                              - The 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.
+        * @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.
         * @remarks             The specific error code can be accessed using the GetLastResult() method.
         * @see                 SetValue()
         */
@@ -171,47 +166,47 @@ public:
         *
         * @since 2.0
         *
-        * @return              A pointer to the list of all the keys in the map, @n
+        * @return              A pointer to a list of all the keys in the map, @n
         *                              else @c null if an exception occurs
         * @remarks
         *                              - The order of the keys is the same as the corresponding values in the IList interface returned by the GetValuesN() method.
-        *                              - The %IList interface stores just the pointers to the elements in the map and not the elements themselves.
+        *                              - The %IList interface 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;
 
        /**
-        * Gets the list of all the values in the map.
+        * Gets a list of all the values in the map.
         *
         * @since 2.0
         *
-        * @return              A pointer to the list of all the values in the map, @n
+        * @return              A pointer to a list of all the values in the map, @n
         *                              else @c null if an exception occurs
         * @remarks
-        *                              - The IList interface stores just the pointers to the elements in the map and not the elements themselves.
+        *                              - 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                 GetKeysN()
         */
        virtual IList* GetValuesN(void) const = 0;
 
        /**
-        * Removes the value associated to the specified @c key.
+        * Removes the value associated with the specified key.
         *
         * @since 2.0
         *
         * @return              An error code
-        * @param[in]   key                     The key to remove
-        * @param[in]   forceDeletion   Set to @c true to deallocate the object, @n
-        *                                                              else @c false
+        * @param[in]   key The key 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   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.
+        * @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 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.
+        *                              - 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.
         *                              - Remove(key, @b true) internally works as the below code:
         * @code
         * DeleterFunctionType deleter = GetDeleter();
@@ -247,33 +242,32 @@ public:
        }
 
        /**
-        * Removes the value associated to the specified @c key.
+        * Removes the value associated with the specified key.
         *
         * @since 2.0
         *
         * @return              An error code
-        * @param[in]   key                             The key for which the value is removed
+        * @param[in]   key                             The key for which the value is to remove
         * @exception   E_SUCCESS               The method is successful.
-        * @exception   E_INVALID_ARG   Either of the following conditions has occurred:
-        *                                                              - The 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.
+        * @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(Object*, Object*)
         */
        virtual result Remove(const Object& key) = 0;
 
        /**
         * Removes all the object pointers in the collection. @n
-        * If @c forceDeletion is set to @c true, the method also removes all the objects. The %RemoveAll() method can be called before deleting the collection.
+        * 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.
         *
         * @since 2.0
         *
         * @param[in]   forceDeletion           Set to @c true to deallocate all the objects, @n
         *                                                                      else @c false
         * @remarks
-        *                              - 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.
+        *                              - 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.
         *                              - RemoveAll(@b true) internally works as the below code:
         * @code
         * DeleterFunctionType deleter = GetDeleter();
@@ -307,32 +301,31 @@ public:
        }
 
        /**
-        * Removes all the object pointers from the collection. @n
+        * Removes all the object pointers in the collection. @n
         *
         * @since 2.0
         */
        virtual void RemoveAll(void) = 0;
 
        /**
-        * Replaces the value associated to the specified @c key with the specified @c value.
+        * Replaces the value associated with the specified key with the specified value.
         *
         * @since 2.0
         *
         * @return              An error code
-        * @param[in]   key                             The key for which the value is replaced
-        * @param[in]   value                           The new value
+        * @param[in]   key     The key for which the value is to replace
+        * @param[in]   value   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           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.
+        * @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
         *                      - 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 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 forceDeletion are set, the set operation follows the @c forceDeletion setting.
+        *                      - 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.
         *                      - SetValue(key, value, @b true) internally works as the below code:
         * @code
         * DeleterFunctionType deleter = GetDeleter();
@@ -368,18 +361,17 @@ public:
        }
 
        /**
-        * Replaces the value associated to the specified @c key with the specified @c value.
+        * Replaces the value associated with the specified key with the specified value.
         *
         * @since 2.0
         *
         * @return              An error code
-        * @param[in]   key                             The key for which the value is replaced
-        * @param[in]   pValue                  A pointer to the new value
+        * @param[in]   key             The key for which the value is to replace
+        * @param[in]   pValue  The pointer to new value
         * @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.
+        * @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             Use the Add(Object*, Object*) method to add a new key-value pair.
         * @see                 GetValue()
         */
@@ -387,22 +379,21 @@ public:
 
        /**
         * @if OSPDEPREC
-        * Checks whether the map contains the specified @c key.
+        * Checks whether the map contains the specified key.
         *
         * @brief               <i> [Deprecated] </i>
-        * @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.
+        * @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.
         *                              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   Either of the following conditions has occurred:
-        *                                                              - A specified input parameter is invalid.
-        *                                                              - The comparer has failed to compare the keys.
+        * @exception   E_INVALID_ARG   A specified input parameter is invalid, or
+        *                                                              the comparer has failed to compare the keys.
         * @see                 ContainsValue()
         * @endif
         */
@@ -414,7 +405,7 @@ public:
        }
 
        /**
-        * Checks whether the map contains the specified @c key.
+        * Checks whether the map contains the specified key.
         *
         * @since 2.0
         *
@@ -422,16 +413,15 @@ public:
         *                              else @c false
         * @param[in]   key                     The key to locate
         * @exception   E_SUCCESS               The method is successful.
-        * @exception   E_INVALID_ARG   Either of the following conditions has occurred:
-        *                                                              - The specified input parameter is invalid.
-        *                                                              - The comparer has failed to compare the keys.
+        * @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()
         */
        virtual bool ContainsKey(const Object& key) const = 0;
 
        /**
-        * Checks whether the map contains the specified @c value.
+        * Checks whether the map contains the specified value.
         *
         * @since 2.0
         *
@@ -439,20 +429,21 @@ public:
         *                              else @c false
         * @param[in]   value   The value to locate
         *
-        * @see                 ContainsKey(const Object&) const
+        * @see                 ContainsKey(const Object&)
         */
        virtual bool ContainsValue(const Object& value) const = 0;
 
        /**
-       * Gets an instance of IMapEnumerator for the map.
+       * Gets an instance of the IMapEnumerator for the map.
        *
        * @since 2.0
        *
-       * @return               An instance of IMapEnumerator for this map, @n
+       * @return               IMapEnumerator object of this map, @n
        *                               else @c null if an exception occurs
        * @exception    E_SUCCESS               The method is successful.
        * @remarks              The specific error code can be accessed using the GetLastResult() method.
        * @see                  IEnumerator
+       * @see                  IMapEnumerator
        */
        virtual IMapEnumerator* GetMapEnumeratorN(void) const = 0;
 
index 91131b2..ef95d93 100644 (file)
@@ -33,16 +33,16 @@ class MapEntry;
 
 /**
  * @interface  IMapEnumerator
- * @brief              This interface supports simple iteration over a map.
+ * @brief              This interface supports simple iteration over a map.
  *
  * @since 2.0
  *
- * @remarks    An enumerator remains valid as long as the map remains unchanged. @n
- *                             If changes are made to the map, such as adding, modifying, or
- *                             deleting elements, the enumerator is irrecoverably invalidated. @n
- *                             The next call to any method returns @c E_INVALID_OPERATION.
+ * @remarks
+ * An enumerator remains valid as long as the map remains unchanged.
+ * If changes are made to the map, such as adding, modifying, or
+ * deleting elements, the enumerator is irrecoverably invalidated. The next call to any method returns an E_INVALID_OPERATION message.
  *
- * The %IMapEnumerator interface supports simple iteration over a map.
+ * The %IMapEnumerator interface supports simple iteration over a map.
  * One can only access the elements in a collection through %IMapEnumerator. The elements cannot be modified through this interface.
  *
  * For more information on the class features, see <a href="../org.tizen.native.appprogramming/html/guide/base/hashmap_multihashmap.htm">HashMap and MultiHashMap</a>.
@@ -61,16 +61,16 @@ public:
        virtual ~IMapEnumerator(void) {}
 
        /**
-        * Gets the current object in the collection.
+        * Gets the current object from the collection.
         *
         * @since 2.0
         *
         * @return              A pointer to the current object in the collection, @n
         *                              else @c null if an exception occurs
         * @exception   E_SUCCESS                       The method is successful.
-        * @exception   E_INVALID_OPERATION     Either of the following conditions has occurred:
-        *                                                                      - The current state of the instance prohibits the execution of the specified operation.
-        *                                                                      - The enumerator is currently positioned before the first element or after the last element.
+        * @exception   E_INVALID_OPERATION     Either of the following conditions has occurred: @n
+        *                                                                      - The current state of the instance prohibits the execution of the specified operation. @n
+        *                                                                      - The enumerator is currently positioned before the first element or after the last element. @n
         *                                                                      - The collection is modified after the enumerator is created.
         * @remarks             The specific error code can be accessed using the GetLastResult() method.
         */
@@ -84,9 +84,9 @@ public:
         * @return              A pointer to the current key in the map, @n
         *                              else @c null if an exception occurs
         * @exception   E_SUCCESS                       The method is successful.
-        * @exception   E_INVALID_OPERATION     Either of the following conditions has occurred:
-        *                                                                      - The current state of the instance prohibits the execution of the specified operation.
-        *                                                                      - The enumerator is currently positioned before the first element or after the last element.
+        * @exception   E_INVALID_OPERATION     Either of the following conditions has occurred: @n
+        *                                                                      - The current state of the instance prohibits the execution of the specified operation. @n
+        *                                                                      - The enumerator is currently positioned before the first element or after the last element. @n
         *                                                                      - The collection is modified after the enumerator is created.
         * @remarks             The specific error code can be accessed using the GetLastResult() method.
         */
@@ -100,9 +100,9 @@ public:
         * @return              A pointer to the current value in the map, @n
         *                              else @c null if an exception occurs
         * @exception   E_SUCCESS                       The method is successful.
-        * @exception   E_INVALID_OPERATION     Either of the following conditions has occurred:
-        *                                                                      - The current state of the instance prohibits the execution of the specified operation.
-        *                                                                      - The enumerator is currently positioned before the first element or after the last element.
+        * @exception   E_INVALID_OPERATION     Either of the following conditions has occurred: @n
+        *                                                                      - The current state of the instance prohibits the execution of the specified operation. @n
+        *                                                                      - The enumerator is currently positioned before the first element or after the last element. @n
         *                                                                      - The collection is modified after the enumerator is created.
         * @remarks             The specific error code can be accessed using the GetLastResult() method.
         */
index 8f22423..c072465 100644 (file)
@@ -31,17 +31,17 @@ namespace Tizen { namespace Base { namespace Collection
 
 /**
  * @interface  IMapEnumeratorT
- * @brief              This interface supports simple iteration over a template-based map. @n
+ * @brief              This interface supports simple iteration over a template-based map. @n
  *                             Using this method, you can only access the elements in the map. You cannot modify the elements.
  *
  * @since 2.0
  *
- * @remarks    An enumerator remains valid as long as the map remains unchanged. @n
- *                             If changes are made to the map, such as adding, modifying, or
- *                             deleting elements, the enumerator is irrecoverably invalidated. @n
- *                             The next call to any method returns @c E_INVALID_OPERATION.
+ * @remarks
+ * An enumerator remains valid as long as the map remains unchanged.
+ * If changes are made to the map, such as adding, modifying, or
+ * deleting elements, the enumerator is irrecoverably invalidated. The next call to any method returns an @c E_INVALID_OPERATION message.
  *
- * The %IMapEnumeratorT interface supports simple iteration over a template-based map.
+ * The %IMapEnumeratorT interface supports simple iteration over a template-based map.
  * Using this method, you can only access the elements in the map. You cannot modify the elements.
  *
  * For more information on the class features, see <a href="../org.tizen.native.appprogramming/html/guide/base/hashmap_multihashmap.htm">HashMap and MultiHashMap</a>.
@@ -67,10 +67,8 @@ public:
         *
         * @return              An error code
         * @param[out]  key                             The current key
-        * @exception   E_INVALID_OPERATION     Either of the following conditions has occurred:
-        *                                                                      - The current state of the instance prohibits the execution of the specified operation.
-        *                                                                      - The enumerator is currently positioned before the first element or after the last element.
-        *                                                                      - The collection is modified after the enumerator is created.
+        * @exception   E_INVALID_OPERATION     The current state of the instance prohibits the execution of the specified operation. @n
+        *                                                                      The enumerator is currently positioned before the first element or after the last element or the collection is modified after the enumerator is created.
         * @exception   E_SUCCESS                       The method is successful.
         */
        virtual result GetKey(KeyType& key) const = 0;
@@ -82,10 +80,8 @@ public:
         *
         * @return              An error code
         * @param[out]  value                           The current value
-        * @exception   E_INVALID_OPERATION     Either of the following conditions has occurred:
-        *                                                                      - The current state of the instance prohibits the execution of the specified operation.
-        *                                                                      - The enumerator is currently positioned before the first element or after the last element.
-        *                                                                      - The collection is modified after the enumerator is created.
+        * @exception   E_INVALID_OPERATION     The current state of the instance prohibits the execution of the specified operation. @n
+        *                                                                      The enumerator is currently positioned before the first element or after the last element or the collection is modified after the enumerator is created.
         * @exception   E_SUCCESS                       The method is successful.
         */
        virtual result GetValue(ValueType& value) const = 0;
index e74248b..7d8ca4d 100644 (file)
@@ -34,11 +34,11 @@ template< class Type > class IListT;
 
 /**
  * @interface  IMapT
- * @brief              This interface represents a template-based collection of key-value pairs.
+ * @brief              This interface abstracts a template-based collection of key-value pairs.
  *
  * @since 2.0
  *
- * The %IMapT interface represents a template-based collection of key-value pairs. An %IMapT
+ * The %IMapT interface abstracts a template-based collection of key-value pairs. An %IMapT
  * contains unique keys and each key maps to a single value.
  * The key and value cannot be a @c null reference.
  *
@@ -64,73 +64,70 @@ public:
         * @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           Either of the following conditions has occurred:
-        *                                                                      - A specified input parameter is invalid.
-        *                                                                      - The comparer has failed to compare the keys.
+        * @exception   E_INVALID_ARG           A specified input parameter is invalid, or
+        *                                                                      the comparer has failed to compare the keys.
         * @exception   E_OBJ_ALREADY_EXIST     The specified @c key already exists.
         * @see Remove()
         */
        virtual result Add(const KeyType& key, const ValueType& value) = 0;
 
        /**
-        * Gets the value associated to the specified @c key.
+        * Gets the value associated with the specified @c key.
         *
         * @since 2.0
         *
-        * @return              The value associated to the specified key, @n
+        * @return              The value associated with the specified @c key, @n
         *                              else @c null if an exception occurs
-        * @param[in]   key                             The key used to find the associated value
-        * @param[out]  value                   The value associated to the key
+        * @param[in]   key             The key to find the associated value
+        * @param[out]  value   The value associated with the key
         * @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.
+        * @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                 SetValue()
         */
        virtual result GetValue(const KeyType& key, ValueType& value) const = 0;
 
        /**
-        * Gets the value associated to the specified @c key.
+        * Gets the value associated with the specified @c key.
         *
         * @since 2.0
         *
         * @return              An error code
-        * @param[in]   key                             The key used to find the associated value
-        * @param[out]  value                   The value associated to the key
+        * @param[in]   key             The key to find the associated value
+        * @param[out]  value   The value associated with the key
         * @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.
+        * @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                 SetValue()
         */
        virtual result GetValue(const KeyType& key, ValueType& value) = 0;
 
        /**
-        * Gets the list of all the keys in the map.
+        * Gets a list of all the keys in the map.
         *
         * @since 2.0
         *
-        * @return              A pointer to the list of all the keys in the map, @n
+        * @return              A pointer to a list of all the keys in the map, @n
         *                              else @c null if an exception occurs
         * @exception   E_SUCCESS               The method is successful.
         * @exception   E_OUT_OF_MEMORY The memory is insufficient.
-        * @remarks
-        *                              - The order of the keys is the same as the corresponding values in the IListT interface returned by the GetValuesN() method.
-        *                              - The specific error code can be accessed using the GetLastResult() method.
+        * @remarks             The order of the keys is the same as the corresponding values in the IListT interface returned by the GetValuesN() method.
+        * @remarks             The specific error code can be accessed using the GetLastResult() method.
+        * @see                 GetValuesN()
         */
        virtual IListT< KeyType >* GetKeysN(void) const = 0;
 
        /**
-        * Gets the list of all the values in the map.
+        * Gets a list of all the values in the map.
         *
         * @since 2.0
         *
-        * @return              A pointer to the list of all values in the map, @n
+        * @return              A pointer to a list of all values in the map, @n
         *                              else @c null if an exception occurs
         * @exception   E_SUCCESS               The method is successful.
         * @exception   E_OUT_OF_MEMORY The memory is insufficient.
@@ -140,42 +137,41 @@ public:
        virtual IListT< ValueType >* GetValuesN(void) const = 0;
 
        /**
-        * Removes the value associated to the specified @c key.
+        * Removes the value associated with the specified @c key.
         *
         * @since 2.0
         *
         * @return              An error code
-        * @param[in]   key                             The key for which the value is removed
+        * @param[in]   key                             The key for which the value is to remove
         * @exception   E_SUCCESS               The method is successful.
-        * @exception   E_INVALID_ARG   Either of the following conditions has occurred:
-        *                                                              - The 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.
+        * @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()
         */
        virtual result Remove(const KeyType& key) = 0;
 
        /**
-        * Removes all the key-value pairs in the map.
+        * Removes all key-value pairs in the map.
         *
         * @since 2.0
         */
        virtual void RemoveAll(void) = 0;
 
        /**
-        * Replaces the value associated to the specified @c key with the specified @c value.
+        * Replaces the value associated with the specified @c key with the specified @c value.
         *
         * @since 2.0
         *
         * @return              An error code
-        * @param[in]   key                             The key whose value is replaced
-        * @param[in]   value                   The new value
+        * @param[in]   key             The key whose value is to replace
+        * @param[in]   value   The new value
         * @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.
+        * @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             Use the Add() method to add a new key-value pair.
+        * @see                 Add()
         * @see                 GetValue()
         */
        virtual result SetValue(const KeyType& key, const ValueType& value) = 0;
@@ -186,14 +182,13 @@ public:
         * @since 2.0
         *
         * @return              An error code
-        * @param[in]   key                             The key to locate
-        * @param[out]  out                     The boolean value that indicates if the map contains the specified @c key
-        * @exception   E_SUCCESS               Either of the following conditions has occurred:
-        *                                                              - The method is successful.
-        *                                                              - The map contains the specified @c key.
-        * @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.
+        * @param[in]   key             The key to locate
+        * @param[out]  out     Set to @c true if the map contains the specified @c key, @n
+        *                                              else @c false
+        * @exception   E_SUCCESS               The method is successful, or
+        *                                                              the map contains the specified @c key.
+        * @exception   E_INVALID_ARG   A specified input parameter is invalid, or
+        *                                                              the comparer has failed to compare the keys.
         * @see                 ContainsValue()
         */
        virtual result ContainsKey(const KeyType& key, bool& out) const = 0;
@@ -203,7 +198,7 @@ public:
         *
         * @since 2.0
         *
-        * @return              @c true if the map contains the specified value, @n
+        * @return              @c true if the map contains the specified @c value, @n
         *                              else @c false
         * @param[in]   value   The value to locate
         *
@@ -212,11 +207,11 @@ public:
        virtual bool ContainsValue(const ValueType& value) const = 0;
 
        /**
-        * Gets an instance of IMapEnumeratorT for the map.
+        * Gets an instance of the IMapEnumeratorT class for the map.
         *
         * @since 2.0
         *
-        * @return              An instance of IMapEnumeratorT for this map, @n
+        * @return              An object of this map, @n
         *                              else @c null if an exception occurs
         * @exception   E_SUCCESS               The method is successful.
         * @exception   E_OUT_OF_MEMORY The memory is insufficient.
index 78c1803..dd5b9e7 100644 (file)
@@ -40,8 +40,8 @@ class MapEntry;
  *
  * @since 2.0
  *
- * 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 %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 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,19 +64,18 @@ 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 constant reference argument.
+        * @deprecated  This method is deprecated because it has a problem of const 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           Either of the following conditions has occurred:
-        *                                                                      - A specified input parameter is invalid.
-        *                                                                      - The comparer has failed to compare the keys.
+        * @exception   E_INVALID_ARG           A specified input parameter is invalid, or
+        *                                                                      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 and not the element itself.
+        * @remarks             This method performs a shallow copy. It adds just the pointer; not the element itself.
         * @see Remove()
         * @endif
         */
@@ -91,14 +90,13 @@ public:
         * @since 2.0
         *
         * @return              An error code
-        * @param[in]   pKey                            A pointer to the key to add
-        * @param[in]   pValue                          A pointer to the corresponding value to add
+        * @param[in]   pKey    The pointer to key to add
+        * @param[in]   pValue  The pointer to corresponding value to add
         * @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_INVALID_ARG           A specified input parameter is invalid, or
+        *                                                                      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 and not the element itself.
+        * @remarks             This method performs a shallow copy. It adds just the pointer; not the element itself.
         * @see Remove()
         */
        virtual result Add(Object* pKey, Object* pValue) = 0;
@@ -113,84 +111,81 @@ public:
        virtual int GetCount(void) const = 0;
 
        /**
-        * Gets the number of values with keys matching the specified @c key.
+        * Gets the number of values with keys matching the specified 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           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.
+        * @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.
         */
        virtual result GetCount(const Object& key, int& count) const = 0;
 
        /**
-        * Gets the enumerator of the values associated with the specified @c key.
+        * Gets an enumerator of the values associated with the specified key.
         *
         * @since 2.0
         *
-        * @return              An instance of the IEnumerator derived class that contains the values associated with the specified key, @n
+        * @return              An instance of the IEnumerator derived class with 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   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.
+        * @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             The specific error code can be accessed using the GetLastResult() method.
         */
        virtual IEnumerator* GetValuesN(const Object& key) const = 0;
 
        /**
-        * Gets the list of all the unique keys in the map.
+        * Gets a list of all unique keys in the map.
         *
         * @since 2.0
         *
-        * @return              A pointer to the list of all the unique keys in the map, @n
+        * @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 and not the elements themselves.
+        *                              - 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;
 
        /**
-        * Gets the list of all the values in the map.
+        * Gets a list of all the values in the map.
         *
         * @since 2.0
         *
-        * @return              A pointer to the list of all the values in the map, @n
+        * @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 and not the elements themselves.
+        *                              - 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;
 
        /**
-        * Removes all the values associated with the specified @c key.
+        * Removes all the values associated with the specified key.
         *
         * @since 2.0
         *
         * @return              An error code
-        * @param[in]   key                             The key for which the associated values are removed
+        * @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
-        * @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.
+        * @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 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.
+        *                              - 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.
         *                              - Remove(key, @b true) internally works as the below code:
         * @code
         * DeleterFunctionType deleter = GetDeleter();
@@ -226,41 +221,39 @@ public:
        }
 
        /**
-        * Removes all the values associated with the specified @c key.
+        * Removes all the values associated with the specified key.
         *
         * @since 2.0
         *
         * @return              An error code
-        * @param[in]   key                             The key for which the associated values are removed
+        * @param[in]   key                             The key for which the associated values need to remove
         * @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.
+        * @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(Object*, Object*)
         */
        virtual result Remove(const Object& key) = 0;
 
        /**
-        * 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.
+        * Removes the specified value associated with the specified key. @n
+        * The 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 removed from the map
-        * @param[in]   value                           The value to remove
+        * @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
-        * @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.
+        * @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 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.
+        *                              - 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.
         *                              - Remove(key, value, @b true) internally works as the below code:
         * @code
         * DeleterFunctionType deleter = GetDeleter();
@@ -296,35 +289,34 @@ public:
        }
 
        /**
-        * 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.
+        * Removes the specified value associated with the specified key. @n
+        * The 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 removed from the map
-        * @param[in]   value                   The value to remove
+        * @param[in]   key     The key for which the mapping is to remove from the map
+        * @param[in]   value   The value to remove
         * @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.
+        * @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(Object*, Object*)
         */
        virtual result Remove(const Object& key, const Object& value) = 0;
 
        /**
         * Removes all the object pointers in the collection. @n
-        * If @c forceDeletion is set to @c true, the method also removes all the objects. This method can be called before deleting the collection.
+        * 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.
         *
         * @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 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.
+        *                              - 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.
         *                              - RemoveAll(@b true) internally works as the below code:
         * @code
         * DeleterFunctionType deleter = GetDeleter();
@@ -359,33 +351,32 @@ public:
 
        /**
         * Removes all the object pointers in the collection. @n
-        * The %RemoveAll() method can be called before deleting the collection.
+        * This method can be called before deleting the collection.
         *
         * @since 2.0
         */
        virtual void RemoveAll(void) = 0;
 
        /**
-        * Replaces the specified @c value associated with the specified @c key with a @c newValue.
+        * Replaces the specified value associated with the specified key with a new value.
         *
         * @since 2.0
         *
         * @return              An error code
-        * @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
+        * @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
         * @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 key-value pair has not been found in the map.
+        * @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(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 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.
+        *                              - 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.
         *                              - SetValue(key, value, newValue, @b true) internally works as the below code:
         * @code
         * DeleterFunctionType deleter = GetDeleter();
@@ -421,19 +412,18 @@ public:
        }
 
        /**
-        * Replaces the specified @c value associated with the specified @c key with a @c pNewValue.
+        * Replaces the specified value associated with the specified key with a new value.
         *
         * @since 2.0
         *
         * @return              An error code
-        * @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
+        * @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   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.
+        * @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(Object*, Object*) method to add a new key-value pair.
         * @see                 GetValuesN()
         */
@@ -444,20 +434,19 @@ public:
         * Checks whether the map contains the specified key-value pair.
         *
         * @brief               <i> [Deprecated] </i>
-        * @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.
+        * @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.
         *                              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   Either of the following conditions has occurred:
-        *                                                              - A specified input parameter is invalid.
-        *                                                              - The comparer has failed to compare the keys.
+        * @exception   E_INVALID_ARG   A specified input parameter is invalid, or
+        *                                                              the comparer has failed to compare the keys.
         * @see                 ContainsKey()
         * @see                 ContainsValue()
         * @endif
@@ -476,12 +465,11 @@ 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   Either of the following conditions has occurred:
-        *                                                              - A specified input parameter is invalid.
-        *                                                              - The comparer has failed to compare the keys.
+        * @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(const Object&) const
         * @see                 ContainsValue()
@@ -490,22 +478,21 @@ public:
 
        /**
         * @if OSPDEPREC
-        * Checks whether the map contains the specified @c key.
+        * Checks whether the map contains the specified key.
         *
         * @brief               <i> [Deprecated] </i>
-        * @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.
+        * @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.
         *                              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   Either of the following conditions has occurred:
-        *                                                              - A specified input parameter is invalid.
-        *                                                              - The comparer has failed to compare the keys.
+        * @exception   E_INVALID_ARG   A specified input parameter is invalid, or
+        *                                                              the comparer has failed to compare the keys.
         * @see                 ContainsValue()
         * @see                 Contains(const Object&, const Object&)
         * @endif
@@ -518,7 +505,7 @@ public:
        }
 
        /**
-        * Checks whether the map contains the specified @c key.
+        * Checks whether the map contains the specified key.
         *
         * @since 2.0
         *
@@ -526,9 +513,8 @@ public:
         *                              else @c false
         * @param[in]   key                             The key to locate
         * @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_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(const Object&, const Object&) const
@@ -536,7 +522,7 @@ public:
        virtual bool ContainsKey(const Object& key) const = 0;
 
        /**
-        * Checks whether the map contains the specified @c value.
+        * Checks whether the map contains the specified value.
         *
         * @since 2.0
         *
@@ -550,11 +536,11 @@ public:
        virtual bool ContainsValue(const Object& value) const = 0;
 
        /**
-        * Gets the enumerator of the map.
+        * Gets an enumerator of the map.
         *
         * @since 2.0
         *
-        * @return              An instance of IMapEnumerator for the map, @n
+        * @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
@@ -562,6 +548,7 @@ 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;
 
index 41f8dea..1c2a8a4 100644 (file)
@@ -38,8 +38,8 @@ template< class Type > class IListT;
  *
  * @since 2.0
  *
- * The %IMultiMapT interface represents a template-based 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 %IMultiMapT interface abstracts a template-based 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 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,13 +64,12 @@ public:
         * @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           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 the specified @c value already exists.
+        * @exception   E_INVALID_ARG           A specified input parameter is invalid, or
+        *                                                                      the comparer has failed to compare the keys.
+        * @exception   E_OBJ_ALREADY_EXIST     The specified @c key and @c value already exists.
         * @exception   E_OUT_OF_MEMORY         The memory is insufficient.
         * @see Remove()
         */
@@ -86,34 +85,32 @@ public:
        virtual int GetCount(void) const = 0;
 
        /**
-        * Gets the number of values whose key matches the specified @c key.
+        * Gets the number of values whose key matches the specified key.
         *
         * @since 2.0
         *
         * @return              The number of values whose key matches the specified key
-        * @param[in]   key                                     The key to locate in the map
-        * @param[out]  count                           The number of values whose key matches the specified key
+        * @param[in]   key             The key to locate in the map
+        * @param[out]  count   The number of values whose key matches the specified key
         * @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.
+        * @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.
         */
        virtual result GetCount(const KeyType& key, int& count) const = 0;
 
        /**
-        * Gets the enumerator of the values associated with the specified @c key.
+        * Gets an enumerator of the values associated with the specified key.
         *
         * @since 2.0
         *
-        * @return              An instance of the IEnumeratorT derived class that contains the values associated with the specified key, @n
+        * @return              An instance of the IEnumeratorT derived class with the values associated with the specified key, @n
         *                              else @c null if an exception occurs
         * @param[in]   key                             The key to locate
         * @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.
+        * @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_OUT_OF_MEMORY The memory is insufficient.
         * @remarks             The specific error code can be accessed using the GetLastResult() method.
         * @see                 SetValue()
@@ -121,11 +118,11 @@ public:
        virtual IEnumeratorT< ValueType >* GetValuesN(const KeyType& key) const = 0;
 
        /**
-        * Gets the list of all the unique keys in the map.
+        * Gets a list of all unique keys in the map.
         *
         * @since 2.0
         *
-        * @return              A pointer to the list of all the unique keys in the map, @n
+        * @return              A pointer to a list of all unique keys in the map, @n
         *                              else @c null if an exception occurs
         * @exception   E_SUCCESS               The method is successful.
         * @exception   E_OUT_OF_MEMORY The memory is insufficient.
@@ -135,11 +132,11 @@ public:
        virtual IListT< KeyType >* GetKeysN(void) const = 0;
 
        /**
-        * Gets the list of all the values in the map.
+        * Gets a list of all the values in the map.
         *
         * @since 2.0
         *
-        * @return              A pointer to the list of all the values in the map, @n
+        * @return              A pointer to a list of all the values in the map, @n
         *                              else @c null if an exception occurs
         * @exception   E_SUCCESS               The method is successful.
         * @exception   E_OUT_OF_MEMORY The memory is insufficient.
@@ -149,17 +146,16 @@ public:
        virtual IListT< ValueType >* GetValuesN(void) const = 0;
 
        /**
-        * Removes all the values associated with the specified @c key.
+        * Removes all the values associated with the specified key.
         *
         * @since 2.0
         *
         * @return              An error code
-        * @param[in]   key                             The key whose associated values are removed
+        * @param[in]   key                             The key whose associated values need to remove
         * @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.
+        * @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()
         */
        virtual result Remove(const KeyType& key) = 0;
@@ -171,13 +167,12 @@ public:
         * @since 2.0
         *
         * @return              An error code
-        * @param[in]   key                             The key whose mapping is removed from the map
-        * @param[in]   value                   The value to remove
+        * @param[in]   key             The key whose mapping is to remove from the map
+        * @param[in]   value   The value to remove
         * @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.
+        * @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 and @c value pair is not found in the map.
         * @see                 Add()
         */
        virtual result Remove(const KeyType& key, const ValueType& value) = 0;
@@ -190,19 +185,18 @@ public:
        virtual void RemoveAll(void) = 0;
 
        /**
-        * Replaces the specified @c value associated with the specified @c key with a @c newValue.
+        * Replaces the specified value associated with the specified key with a new value.
         *
         * @since 2.0
         *
         * @return              An error code
-        * @param[in]   key                             The key whose associated value is replaced
-        * @param[in]   value                   The value associated with the key
-        * @param[in]   newValue                The new value
+        * @param[in]   key                     The key whose associated value needs to replace
+        * @param[in]   value           The value associated with the key
+        * @param[in]   newValue        The new value
         * @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.
+        * @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 and @c value pair is not found in the map.
         * @exception   E_OUT_OF_MEMORY The memory is insufficient.
         * @remarks             Use the Add() method to add a new key-value pair.
         * @see                 Add()
@@ -216,39 +210,37 @@ public:
         * @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
-        * @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.
+        * @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. @n
+        * @exception   E_INVALID_ARG   A specified input parameter is invalid, or
+        *                                                              the comparer has failed to compare the keys.
         * @see                 ContainsKey()
         * @see                 ContainsValue()
         */
        virtual result Contains(const KeyType& key, const ValueType& value, bool& out) const = 0;
 
        /**
-        * Checks whether the map contains the specified @c key.
+        * Checks whether the map contains the specified 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
-        * @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.
+        * @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. @n
+        * @exception   E_INVALID_ARG   A specified input parameter is invalid, or
+        *                                                              the comparer has failed to compare the keys.
         * @see                 ContainsValue()
         * @see                 Contains()
         */
        virtual result ContainsKey(const KeyType& key, bool& out) const = 0;
 
        /**
-        * Checks whether the map contains the specified @c value.
+        * Checks whether the map contains the specified value.
         *
         * @since 2.0
         *
@@ -262,18 +254,17 @@ public:
        virtual bool ContainsValue(const ValueType& value) const = 0;
 
        /**
-        * Gets the enumerator of the map.
+        * Gets an enumerator of the map.
         *
         * @since 2.0
         *
-        * @return              An instance of IMapEnumeratorT for the map, @n
+        * @return              An instance of the IMapEnumeratorT class for the map, @n
         *                              else @c null if an exception occurs
         * @exception   E_SUCCESS               The method is successful.
         * @exception   E_OUT_OF_MEMORY The memory is insufficient.
-        * @remarks
-        *                              - If a key has multiple values, the enumeration proceeds as follows: @n
-        *                              {A: a}, {B: b}, {B: c}, {B, d}, {C: e}, ...
-        *                              - The specific error code can be accessed using the GetLastResult() method.
+        * @remarks             If a key has multiple values, the enumeration proceeds as follows: @n
+        *                              {A: a}, {B: b}, {B: c}, {B, d}, {C: e}, ... @n
+        *                      The specific error code can be accessed using the GetLastResult() method.
         * @see                 Tizen::Base::Collection::IEnumerator
         * @see                 Tizen::Base::Collection::IMapEnumerator
         */
index b380468..ffc9cf7 100644 (file)
@@ -36,12 +36,12 @@ namespace Tizen { namespace Base { namespace Collection
 /**
  * @class      IteratorT
  * @brief      This class provides an iterator that is used to convert %IList to STL containers. @n
- *                     %StlConverter provides static methods to get this iterator from IList.
+ *                     %StlConverter provides static methods to get this iterator from %IList.
  *
  * @since      2.1
  *
- * @remarks  The %IteratorT class satisfies only the requirements of the C++ standard library InputIterator concept due to limitations of the %Tizen collection. @n
- *                        This class can be used with the C++ standard library algorithms which require only the InputIterator concept for their arguments.
+ * @remarks    The %IteratorT class satisfies requirements of the C++ standard library mutable BidirectionalIterator.
+ *                     It satisfies the requirements of an OutputIterator which can be dereferenced as an lvalue.
  *
  * The %IteratorT class provides an iterator that is used to convert IList to STL containers.
  * StlConverter provides static methods to get this iterator from IList.
@@ -49,30 +49,47 @@ namespace Tizen { namespace Base { namespace Collection
 
 template< typename T >
 class IteratorT
-       : public std::iterator< std::input_iterator_tag, T >
+       : public std::iterator< std::bidirectional_iterator_tag, T >
 {
 public:
+       typedef std::bidirectional_iterator_tag iterator_category;
+       typedef typename std::iterator_traits< IteratorT< T > >::value_type value_type;
+       typedef typename std::iterator_traits< IteratorT< T > >::difference_type difference_type;
+       typedef typename std::iterator_traits< IteratorT< T > >::pointer pointer;
+       typedef typename std::iterator_traits< IteratorT< T > >::reference reference;
+
+       /**
+        * This is the default constructor for this class.
+        *
+        * @since               3.0
+        */
+       IteratorT(void)
+               : __pList(null)
+               , __isPostEnd(false)
+               , __index(0)
+               , __pEnum(null)
+       {
+       }
+
        /**
-        * Initializes an instance of %IteratorT.
+        * Initializes an instance of %IteratorT class.
         *
         * @since               2.1
         *
         * @param[in]   list             A reference to the IList instance to convert
-        * @param[in]   isPostEnd        The boolean value that checks the end of the list
+        * @param[in]   isPostEnd        A boolean value to check the end of a list
         */
-       explicit IteratorT(const IList& list, bool isPostEnd = false)
+       explicit IteratorT(IList& list, bool isPostEnd = false)
                : __pList(&list)
                , __isPostEnd(isPostEnd)
                , __index(0)
                , __pEnum(__pList->GetBidirectionalEnumeratorN())
-               , __currentObj(null)
        {
                if (__pList->GetCount() != 0)
                {
                        if (!__isPostEnd)
                        {
                                __pEnum->MoveNext();
-                               __currentObj = static_cast< T >(__pEnum->GetCurrent());
                        }
                        else
                        {
@@ -99,7 +116,6 @@ public:
                , __isPostEnd(rhs.__isPostEnd)
                , __index(rhs.__index)
                , __pEnum(__pList->GetBidirectionalEnumeratorN())
-               , __currentObj(rhs.__currentObj)
        {
                if (!__isPostEnd)
                {
@@ -115,7 +131,7 @@ public:
        }
 
        /**
-        * This is the assignment operator of the %IteratorT class.
+        * This is an assignment operator of the %IteratorT class.
         *
         * @since               2.1
         *
@@ -130,26 +146,26 @@ public:
        }
 
        /**
-        * This is the indirection operator of the %IteratorT class.
+        * This is the indirection operator for the %IteratorT class.
         *
         * @since       2.1
         *
         * @return              A T type reference
         */
-       T& operator *(void) const
+       reference operator *(void) const
        {
                AppAssertf(!__isPostEnd && __index >= 0, "It is out of range.");
-               return const_cast< T& >(__currentObj);
+               return reinterpret_cast< T& >(__pEnum->GetCurrentRef());
        }
 
        /**
-        * This is the structure dereference operator of the %IteratorT class.
+        * This is a structure dereference operator for the %IteratorT class.
         *
         * @since       2.1
         *
         * @return              A T type pointer that is equivalent to the pointer address
         */
-       T* operator ->(void) const
+       pointer operator ->(void) const
        {
                return &(operator *());
        }
@@ -162,9 +178,8 @@ public:
         * @return              A reference to the %IteratorT type instance
         * @exception   E_SUCCESS                       The method is successful.
         * @exception   E_OUT_OF_RANGE          The iterator is outside the bounds of the list.
-        * @exception   E_INVALID_OPERATION     Either of the following conditions has occurred:
-        *                                                                      - The current state of the instance prohibits the execution of the specified operation.
-        *                                                                      - The collection is modified after the enumerator is created.
+        * @exception   E_INVALID_OPERATION     The current state of the instance prohibits the execution of the specified operation, or
+        *                                                                      the collection is modified after the enumerator is created.
         * @remarks             The specific error code can be accessed using GetLastResult() method.
         */
        IteratorT< T >& operator ++(void)
@@ -175,12 +190,9 @@ public:
                if (__index != PRE_BEGIN_IDX)
                {
                        result r = __pEnum->MoveNext();
-                       TryCatchResult(r == E_SUCCESS, __isPostEnd = true;
-                       __currentObj = null, r, "[%s] It already reached the end.", GetErrorMessage(r));
+                       TryCatchResult(r == E_SUCCESS, __isPostEnd = true, r, "[%s] It already reached the end.", GetErrorMessage(r));
                }
 
-               __currentObj = static_cast< T >(__pEnum->GetCurrent());
-
 CATCH:
                ++__index;
                return *this;
@@ -194,9 +206,8 @@ CATCH:
         * @return              An %IteratorT instance
         * @exception   E_SUCCESS                       The method is successful.
         * @exception   E_OUT_OF_RANGE          The iterator is outside the bounds of the list.
-        * @exception   E_INVALID_OPERATION     Either of the following conditions has occurred:
-        *                                                                      - The current state of the instance prohibits the execution of the specified operation.
-        *                                                                      - The collection is modified after the enumerator is created.
+        * @exception   E_INVALID_OPERATION     The current state of the instance prohibits the execution of the specified operation, or
+        *                                                                      the collection is modified after the enumerator is created.
         * @remarks             The specific error code can be accessed using GetLastResult() method.
         */
        IteratorT< T > operator ++(int)
@@ -214,9 +225,8 @@ CATCH:
         * @return              A reference to the %IteratorT type instance
         * @exception   E_SUCCESS                       The method is successful.
         * @exception   E_OUT_OF_RANGE          The iterator is outside the bounds of the list.
-        * @exception   E_INVALID_OPERATION     Either of the following conditions has occurred:
-        *                                                                      - The current state of the instance prohibits the execution of the specified operation.
-        *                                                                      - The collection is modified after the enumerator is created.
+        * @exception   E_INVALID_OPERATION     The current state of the instance prohibits the execution of the specified operation, or
+        *                                                                      the collection is modified after the enumerator is created.
         * @remarks             The specific error code can be accessed using GetLastResult() method.
         */
        IteratorT< T >& operator --(void)
@@ -226,15 +236,13 @@ CATCH:
                if (!__isPostEnd)
                {
                        result r = __pEnum->MovePrevious();
-                       TryCatchResult(r == E_SUCCESS, __currentObj = null, r, "[%s] It already reached the front.", GetErrorMessage(r));
+                       TryCatchResult(r == E_SUCCESS, , r, "[%s] It already reached the front.", GetErrorMessage(r));
                }
                else
                {
                        __isPostEnd = false;
                }
 
-               __currentObj = static_cast< T >(__pEnum->GetCurrent());
-
 CATCH:
                --__index;
                return *this;
@@ -248,9 +256,8 @@ CATCH:
         * @return              An %IteratorT instance
         * @exception   E_SUCCESS                       The method is successful.
         * @exception   E_OUT_OF_RANGE          The iterator is outside the bounds of the list.
-        * @exception   E_INVALID_OPERATION     Either of the following conditions has occurred:
-        *                                                                      - The current state of the instance prohibits the execution of the specified operation.
-        *                                                                      - The collection is modified after the enumerator is created.
+        * @exception   E_INVALID_OPERATION     The current state of the instance prohibits the execution of the specified operation, or
+        *                                                                      the collection is modified after the enumerator is created.
         * @remarks             The specific error code can be accessed using GetLastResult() method.
         */
        IteratorT< T > operator --(int)
@@ -287,12 +294,12 @@ CATCH:
                }
                else if (__isPostEnd && rhs.__isPostEnd)
                {
-                       // In this case, __currentObj state is invalid
+                       // In this case, the current object which the iterator refers to is invalid.
                        return true;
                }
 
                // If both this->__isPostEnd and rhs.__isPostEnd are false, then reach here. This means both iterators are in the middle of the list.
-               return __currentObj == rhs.__currentObj;
+               return __pEnum->GetCurrentRef() == rhs.__pEnum->GetCurrentRef();
        }
 
        /**
@@ -322,17 +329,15 @@ CATCH:
                std::swap(__isPostEnd, rhs.__isPostEnd);
                std::swap(__index, rhs.__index);
                std::swap(__pEnum, rhs.__pEnum);
-               std::swap(__currentObj, rhs.__currentObj);
        }
 
 private:
-       const IList* __pList;
+       IList* __pList;
        bool __isPostEnd;
-       int __index;
+       difference_type __index;
        std::unique_ptr< IBidirectionalEnumerator > __pEnum;
-       T __currentObj;
 }; // IteratorT
 
 }}} // Tizen::Base::Collection
 
-#endif //_FBASE_COL_ITERATOR_T_H_
+#endif //_FBASE_COL_ITERATOR_T_H_
\ No newline at end of file
index 037b60e..58104c9 100644 (file)
@@ -33,11 +33,11 @@ class _ListNode;
 
 /**
  * @class LinkedList
- * @brief This class represents a collection of objects that can be individually accessed by an index.
+ * @brief This class represents a collection of objects that can be individually accessed by index.
  *
  * @since 2.0
  *
- * The %LinkedList class represents a collection of objects that can be individually accessed by an index.
+ * The %LinkedList class represents a collection of objects that can be individually accessed by index.
  *
  * For more information on the class features, see <a href="../org.tizen.native.appprogramming/html/guide/base/arraylist_linkedlist.htm">ArrayList and LinkedList</a>.
  *
@@ -107,11 +107,10 @@ public:
         *
         * @since 2.0
         *
-        * @param[in]   deleter         A function pointer to the type of the element deleter
-        * @remarks     To create an owing collection, set the element deleter value as @c SingleObjectDeleter. @n
-        *                              This gives the collection the ownership of the elements and the collection destroys the elements. @n
-        *                              On the other hand, to create a non-owning collection, do not set the element deleter value, as @c NoOpDeleter is the default element deleter. @n
-        *                              It means that you do not transfer the ownership of the elements to the collection.
+        * @param[in]   deleter The function pointer to type of the element deleter
+        * @remarks     To create an owning collection, set the element deleter value as @c SingleObjectDeleter. This gives the collection the ownership of elements and the collection will destroy elements. @n
+        *                      On the other hand, to create a non-owning collection, you do not need to set the element deleter value, as @c NoOpDeleter is the default element deleter.
+        *                      It means that you do not transfer the ownership of elements to the collection.
         * @see         NoOpDeleter()
         * @see         SingleObjectDeleter()
         * @see         ArrayDeleter()
@@ -131,10 +130,10 @@ public:
         * @since 2.0
         *
         * @return              An error code
-        * @param[in]   pObj                    A pointer to the object to add
+        * @param[in]   pObj                    An pointer to object to add
         * @exception   E_SUCCESS               The method is successful.
         * @exception   E_INVALID_ARG   The specified input parameter is invalid.
-        * @remarks     This method performs a shallow copy. It adds just the pointer and not the element itself.
+        * @remarks             This method performs a shallow copy. It adds just the pointer; not the element itself.
         * @see Remove()
         */
        virtual result Add(Object* pObj);
@@ -145,168 +144,171 @@ public:
         * @since 2.0
         *
         * @return              An error code
-        * @param[in]   collection                      The collection to add
+        * @param[in]   collection                      A collection to add
         * @exception   E_SUCCESS                       The method is successful.
-        * @exception   E_INVALID_OPERATION     Either of the following conditions has occurred:
-        *                                                                      - The current state of the instance prohibits the execution of the specified operation.
-        *                                                                      - The specified @c collection is modified during the operation of this method.
-        * @remarks     This method performs a shallow copy. It adds just the pointer and not the element itself.
+        * @exception   E_INVALID_OPERATION     The current state of the instance prohibits the execution of the specified operation, or
+        *                                                                      the @c collection is modified during the operation of this method.
+        * @remarks             This method performs a shallow copy. It adds just the pointer; not the element itself.
         * @see                 RemoveItems()
         */
        virtual result AddItems(const ICollection& collection);
 
        /**
-        * Gets the enumerator (an instance of the IEnumerator derived class) of the list.
+        * Gets an enumerator (an instance of the IEnumerator derived class) to the list.
         *
         * @since 2.0
         *
-        * @return              The enumerator of the calling list object, @n
+        * @return              An enumerator of the calling list object, @n
         *                              else @c null if an exception occurs
         * @remarks             The specific error code can be accessed using the GetLastResult() method.
+        * @see                 Tizen::Base::Collection::IEnumerator
         */
        virtual IEnumerator* GetEnumeratorN(void) const;
 
        /**
-        * Gets the bidirectional enumerator (an instance of the IBidirectionalEnumerator derived class) of the list.
+        * Gets a bidirectional enumerator (an instance of the IBidirectionalEnumerator derived class) of this list.
         *
         * @since 2.0
         *
         * @return                      An instance of the IBidirectionalEnumerator derived class, @n
-        *                                      else @c null if an exception occurs
-        * @remarks
-        *                                      - Use this method to obtain a bidirectional enumerator (an instance of the IBidirectionalEnumerator derived class)
+        *                                      else @c null if some exception occurs
+        * @remarks                     Use this method to obtain a bidirectional enumerator (an instance of the IBidirectionalEnumerator derived class)
         *                                      to iterate over a collection (an instance of the IList derived class).
-        *                                      - The specific error code can be accessed using GetLastResult() method.
+        *                                      The specific error code can be accessed using GetLastResult() method.
+        * @see                         Tizen::Base::Collection::IBidirectionalEnumerator
         */
        virtual IBidirectionalEnumerator* GetBidirectionalEnumeratorN(void) const;
 
        /**
-        * Gets the object at the specified @c index of the calling list.
+        * Gets the object at the specified index of the calling list.
         *
         * @since 2.0
         *
         * @return              A pointer to the object at the specified index of the list, @n
-        *                              else @c null if the index is invalid
+        *                              else @c null if the index is not valid
         * @param[in]   index                                   The index of the object to read
         * @exception   E_SUCCESS                               The method is successful.
-        * @exception   E_OUT_OF_RANGE                  Either of the following conditions has occurred:
-        *                                                                              - The specified @c index is outside the bounds of the data structure.
-        *                                                                              - The specified @c index is either greater than or equal to the number of elements.
-        *                                                                              - The specified @c index is less than @c 0.
+        * @exception   E_OUT_OF_RANGE                  The specified index is outside the bounds of the data structure, or
+        *                                                                              the specified @c index is equal to or greater than the number of elements or less than @c 0.
         * @remarks             The specific error code can be accessed using the GetLastResult() method.
         * @see                 SetAt()
         */
        virtual const Object* GetAt(int index) const;
 
        /**
-        * Gets the object at the specified @c index of the calling list.
+        * Gets the object at the specified index of the calling list.
         *
         * @since 2.0
         *
         * @return              A pointer to the object at the specified index of the list, @n
-        *                              else @c null if the index is invalid
+        *                              else @c null if the index is not valid
         * @param[in]   index                                   The index of the object to read
         * @exception   E_SUCCESS                               The method is successful.
-        * @exception   E_OUT_OF_RANGE                  Either of the following conditions has occurred:
-        *                                                                              - The specified @c index is outside the bounds of the data structure.
-        *                                                                              - The specified @c index is either greater than or equal to the number of elements.
-        *                                                                              - The specified @c index is less than @c 0.
+        * @exception   E_OUT_OF_RANGE                  The specified index is outside the bounds of the data structure, or
+        *                                                                              the specified @c index is equal to or greater than the number of elements or less than @c 0.
         * @remarks             The specific error code can be accessed using the GetLastResult() method.
         * @see                 SetAt()
         */
        virtual Object* GetAt(int index);
 
        /**
-        * Gets the IList with the specified range from the calling list object.
+        * Gets the reference of the object at the specified index of the calling list.
+        *
+        * @since               3.0
+        *
+        * @return              The reference of the object at the specified index of the list
+        * @param[in]           index                                   The index of the object to read
+        * @exception   E_SUCCESS                               The method is successful.
+        * @exception   E_OUT_OF_RANGE                  The specified index is outside the bounds of the data structure, or
+        *                                                                              the specified @c index is equal to or greater than the number of elements or less than @c 0.
+        * @remarks             The specific error code can be accessed using the GetLastResult() method.
+        */
+       virtual Object*& GetAtRef(int index);
+
+       /**
+        * Gets an IList with the specified range from the calling list object.
         *
         * @since 2.0
         *
-        * @return              An IList pointer , @n
+        * @return              An IList pointer if successful, @n
         *                              else @c null if an exception occurs
-        * @param[in]   startIndex                              The starting index of the range
-        * @param[in]   count                                   The number of elements to read
+        * @param[in]   startIndex      The starting index of the range
+        * @param[in]   count           The number of elements to read
         * @exception   E_SUCCESS                               The method is successful.
-        * @exception   E_OUT_OF_RANGE                  Either of the following conditions has occurred:
-        *                                                                              - The specified @c index is outside the bounds of the data structure.
-        *                                                                              - The specified @c startIndex is either greater than or equal to the number of elements.
-        *                                                                              - The specified @c startIndex is less than @c 0.
-        *                                                                              - The specified @c count is either greater than the number of elements starting from @c startIndex.
-        *                                                                              - The specified @c count is less than @c 0.
-        * @remarks
-        *                              - The IList stores just the pointers to the elements in the list and not the elements themselves.
-        *                              - The specific error code can be accessed using the GetLastResult() method.
+        * @exception   E_OUT_OF_RANGE                  Either of the following conditions has occurred: @n
+        *                                                                              - The specified index is outside the bounds of the data structure. @n
+        *                                                                              - The specified @c startIndex is either equal to or greater than the number of elements or less than @c 0. @n
+        *                                                                              - The specified @c count is either greater than the number of elements starting from @c startIndex or less than @c 0.
+        * @remarks             The IList stores just the pointers to the elements in the list, not the elements themselves.
+        *                      The specific error code can be accessed using the GetLastResult() method.
         */
        virtual IList* GetItemsN(int startIndex, int count) const;
 
        /**
         * Searches for an object in this list. @n
-        * Gets the @c index of the object if found.
+        * Gets the index of the object if found.
         *
         * @since 2.0
         *
         * @return              An error code
-        * @param[in]   obj                                     The object to locate
-        * @param[out]  index                           The index of the object
+        * @param[in]   obj                     The object to locate
+        * @param[out]  index           The index of the object
         * @exception   E_SUCCESS                       The method is successful.
-        * @exception   E_OBJ_NOT_FOUND         The specified @c obj has not been found.
+        * @exception   E_OBJ_NOT_FOUND         The specified @c obj is not found.
         */
        virtual result IndexOf(const Object& obj, int& index) const;
 
        /**
-        * Searches for an object starting from the specified @c startIndex. @n
-        * Gets the @c index of the object if found.
+        * Searches for an object starting from the specified index. @n
+        * Gets the index of the object if found.
         *
         * @since 2.0
         *
         * @return              An error code
-        * @param[in]   obj                                     The object to locate
-        * @param[in]   startIndex                              The starting index for the search @n
-        *                                                                              It must be less than the number of elements.
-        * @param[out]  index                                   The index of the object
+        * @param[in]   obj             The object to locate
+        * @param[in]   startIndex      The starting index for the search @n
+        *                                                      It must be less than the number of elements.
+        * @param[out]  index           The index of the object
         * @exception   E_SUCCESS                               The method is successful.
-        * @exception   E_OUT_OF_RANGE                  Either of the following conditions has occurred:
-        *                                                                              - The specified @c index is outside the bounds of the data structure.
-        *                                                                              - The specified @c startIndex is either greater than or equal to the number of elements in the list.
-        *                                                                              - The specified @c startIndex is less than @c 0.
-        * @exception   E_OBJ_NOT_FOUND                 The specified @c obj has not been found.
+        * @exception   E_OUT_OF_RANGE                  The specified index is outside the bounds of the data structure, or
+        *                                                                              the specified @c startIndex is either equal to or greater than the number of elements in the list or less than @c 0.
+        * @exception   E_OBJ_NOT_FOUND                 The specified @c obj is not found.
         * @see                 LastIndexOf()
         */
        virtual result IndexOf(const Object& obj, int startIndex, int& index) const;
 
        /**
         * Searches for an object within the specified range. @n
-        * Gets the @c index of the object if found.
+        * Gets the index of the object if found.
         *
         * @since 2.0
         *
         * @return              An error code
-        * @param[in]   obj                                     The object to locate
-        * @param[in]   startIndex                              The starting index of the range
-        * @param[in]   count                                   The number of elements to read
-        * @param[out]  index                                   The index of the object
+        * @param[in]   obj             The object to locate
+        * @param[in]   startIndex      The starting index of the range
+        * @param[in]   count           The number of elements to read
+        * @param[out]  index           The index of the object
         * @exception   E_SUCCESS                               The method is successful.
-        * @exception   E_OUT_OF_RANGE                  Either of the following conditions has occurred:
-        *                                                                              - The specified @c index is outside the bounds of the data structure.
-        *                                                                              - The specified @c startIndex is either greater than or equal to the number of elements in the list.
-        *                                                                              - The specified @c startIndex is less than @c 0.
-        *                                                                              - The specified @c count is greater than the number of elements starting from @c startIndex.
-        *                                                                              - The specified @c count is less than @c 0.
-        * @exception   E_OBJ_NOT_FOUND                 The specified @c obj has not been found.
+        * @exception   E_OUT_OF_RANGE                  Either of the following conditions has occurred: @n
+        *                                                                              - The specified index is outside the bounds of the data structure. @n
+        *                                                                              - The specified @c startIndex is either equal to or greater than the number of elements in the list or less than @c 0. @n
+        *                                                                              - The specified @c count is either greater than the number of elements starting from @c startIndex or less than @c 0.
+        * @exception   E_OBJ_NOT_FOUND                 The specified @c obj is not found.
         * @see                 LastIndexOf()
         */
        virtual result IndexOf(const Object& obj, int startIndex, int count, int& index) const;
 
        /**
         * Searches for the last occurrence of an object in this list. @n
-        * Gets the @c index of the object if found.
+        * Gets the index of the object if found.
         *
         * @since 2.0
         *
         * @return              An error code
-        * @param[in]   obj                             The object to locate
-        * @param[out]  index                           The index of the last occurrence of the specified object
+        * @param[in]   obj             The object to locate
+        * @param[out]  index           The index of the last occurrence of the specified object
         * @exception   E_SUCCESS                       The method is successful.
-        * @exception   E_OBJ_NOT_FOUND         The specified @c obj has not been found.
+        * @exception   E_OBJ_NOT_FOUND         The specified @c obj is not found.
         * @see                 IndexOf()
         */
        virtual result LastIndexOf(const Object& obj, int& index) const;
@@ -317,18 +319,15 @@ public:
         * @since 2.0
         *
         * @return              An error code
-        * @param[in]   pObj                                    A pointer to the object to insert
-        * @param[in]   index                                   The index at which the object is inserted
+        * @param[in]   pObj            The pointer to object to insert
+        * @param[in]   index           The index at which the object must be inserted
         * @exception   E_SUCCESS                               The method is successful.
-        * @exception   E_INVALID_ARG                   A specified input parameter is invalid.
-        * @exception   E_OUT_OF_RANGE                  Either of the following conditions has occurred:
-        *                                                                              - The specified @c index is outside the bounds of the data structure.
-        *                                                                              - The specified @c index is greater than the number of elements.
-        *                                                                              - The specified @c index is less than @c 0.
-        * @remarks
-        *                              - If the @c index is equal to the number of elements, then the new elements
+        * @exception   E_INVALID_ARG                   The specified input parameter is invalid.
+        * @exception   E_OUT_OF_RANGE                  The specified index is outside the bounds of the data structure, or
+        *                                                                              the specified @c index is greater than the number of elements or less than @c 0.
+        * @remarks             If the @c index equals to the number of elements, then the new element
         *                              is added at the end of this list.
-        *                              - This method performs a shallow copy. It inserts just the pointer and not the element itself.
+        *                      This method performs a shallow copy. It inserts just the pointer; not the element itself.
         * @see         Add()
         * @see         RemoveAt()
         */
@@ -340,20 +339,16 @@ public:
         * @since 2.0
         *
         * @return              An error code
-        * @param[in]   collection                              The collection to insert elements from
-        * @param[in]   startIndex                              The starting index at which the elements are inserted
+        * @param[in]   collection      The collection to insert elements from
+        * @param[in]   startIndex      The starting index at which the elements must be inserted
         * @exception   E_SUCCESS                               The method is successful.
-        * @exception   E_OUT_OF_RANGE                  Either of the following conditions has occurred:
-        *                                                                              - The specified index is outside the bounds of the data structure.
-        *                                                                              - The specified @c startIndex is greater than the number of elements.
-        *                                                                              - The specified @c startIndex is less than @c 0.
-        * @exception   E_INVALID_OPERATION             Either of the following conditions has occurred:
-        *                                                                              - The current state of the instance prohibits the execution of the specified operation.
-        *                                                                              - The specified @c collection is modified during the operation of this method.
-        * @remarks
-        *                              - If the specified @c startIndex is equal to the number of elements, then the new elements
-        *                                are added at the end of this list.
-        *                              - This method performs a shallow copy. It inserts just the pointer and not the element itself.
+        * @exception   E_OUT_OF_RANGE                  The specified index is outside the bounds of the data structure, or
+        *                                                                              the specified @c startIndex is either greater than the number of elements or less than @c 0.
+        * @exception   E_INVALID_OPERATION             The current state of the instance prohibits the execution of the specified operation, or
+        *                                                                              the @c collection is modified during the operation of this method.
+        * @remarks             If the @c startIndex equals to the number of elements then the new elements
+        *                              are added at the end of this list.
+        *                              This method performs a shallow copy. It inserts just the pointer; not the element itself.
         * @see                 RemoveItems()
         * @see                 AddItems()
         */
@@ -365,9 +360,9 @@ public:
         * @since 2.0
         *
         * @return              An error code
-        * @param[in]   obj                             The object to remove
+        * @param[in]   obj                             An object to remove
         * @exception   E_SUCCESS               The method is successful.
-        * @exception   E_OBJ_NOT_FOUND The specified @c obj has not been found.
+        * @exception   E_OBJ_NOT_FOUND The specified @c obj is not found.
         * @see                 Add()
         * @see                 RemoveAt()
         */
@@ -379,31 +374,27 @@ public:
         * @since 2.0
         *
         * @return              An error code
-        * @param[in]   index                           The index at which the object is removed
+        * @param[in]   index                           The index at which the object must be removed
         * @exception   E_SUCCESS                       The method is successful.
-        * @exception   E_OUT_OF_RANGE          Either of the following conditions has occurred:
-        *                                                                      - The specified @c index is outside the bounds of the data structure.
-        *                                                                      - The specified @c index is either greater than or equal to the number of elements.
-        *                                                                      - The specified @c index is less than @c 0.
+        * @exception   E_OUT_OF_RANGE          The specified index is outside the bounds of the data structure, or
+        *                                                                      The specified @c index is equal to or greater than the number of elements or less than @c 0.
         * @see         InsertAt()
         */
        virtual result RemoveAt(int index);
 
        /**
-        * Removes all the elements within the specified range from the list.
+        * Removes all elements within the specified range from the list.
         *
         * @since 2.0
         *
         * @return              An error code
-        * @param[in]   startIndex                      The starting index of the range
-        * @param[in]   count                           The number of elements to remove
+        * @param[in]   startIndex      The starting index of the range
+        * @param[in]   count           The number of element to remove
         * @exception   E_SUCCESS                       The method is successful.
-        * @exception   E_OUT_OF_RANGE          Either of the following conditions has occurred:
-        *                                                                      - The specified @c index is outside the bounds of the data structure.
-        *                                                                      - The specified @c startIndex is either greater than or equal to the number of elements.
-        *                                                                      - The specified @c startIndex is less than @c 0.
-        *                                                                      - The specified @c count is greater than the number of elements starting from @c startIndex.
-        *                                                                      - The specified @c count is less than @c 0.
+        * @exception   E_OUT_OF_RANGE          Either of the following conditions has occurred: @n
+        *                                                                      - The specified index is outside the bounds of the data structure. @n
+        *                                                                      - The specified @c startIndex is either equal to or greater than the number of elements or less than @c 0. @n
+        *                                                                      - The specified @c count is either greater than the number of elements starting from @c startIndex or less than @c 0.
         * @see                 AddItems()
         * @see                 InsertItemsFrom()
         */
@@ -418,9 +409,8 @@ public:
         * @return              An error code
         * @param[in]   collection                      The collection to remove from this list
         * @exception   E_SUCCESS                       The method is successful.
-        * @exception   E_INVALID_OPERATION     Either of the following conditions has occurred:
-        *                                                                      - The current state of the instance prohibits the execution of the specified operation.
-        *                                                                      - The specified @c collection is modified during the operation of this method.
+        * @exception   E_INVALID_OPERATION     The current state of the instance prohibits the execution of the specified operation, or
+        *                                                                      the @c collection is modified during the operation of this method.
         * @see                 Remove()
         * @see                 RemoveAt()
         */
@@ -428,7 +418,7 @@ public:
 
 
        /**
-        * Removes all of the object pointers in the collection and also removes all the objects depending on the specified element deleter.
+        * Removes all of the object pointers in the collection and also removes all of the objects depending on the specified element deleter.
         * This method can be called before deleting the objects in a collection.
         *
         * @since 2.0
@@ -437,34 +427,31 @@ public:
        virtual void RemoveAll(void);
 
        /**
-        * Replaces the object at the specified @c index with the given object.
+        * Replaces the object at the specified index with the given object.
         *
         * @since 2.0
         *
         * @return              An error code
-        * @param[in]   pObj                            A pointer to the object to set
-        * @param[in]   index                           The index at which the object is set
+        * @param[in]   pObj            The pointer to object to set
+        * @param[in]   index           The index at which the object must be set
         * @exception   E_SUCCESS                       The method is successful.
-        * @exception   E_INVALID_ARG           A specified input parameter is invalid.
-        * @exception   E_OUT_OF_RANGE          Either of the following conditions has occurred:
-        *                                                                      - The specified @c index is outside the bounds of the data structure.
-        *                                                                      - The specified @c index is either greater than or equal to the number of elements.
-        *                                                                      - The specified @c index is less than @c 0.
+        * @exception   E_INVALID_ARG           The specified input parameter is invalid.
+        * @exception   E_OUT_OF_RANGE          The specified index is outside the bounds of the data structure, or
+        *                                                                      the specified @c index is equal to or greater than the number of elements or less than @c 0.
         * @see                 GetAt()
         */
        virtual result SetAt(Object* pObj, int index);
 
        /**
-        * Sorts the elements of this list using the @c comparer provided.
+        * Sorts the elements of this list using the comparer provided.
         *
         * @since 2.0
         *
         * @return              An error code
-        * @param[in]   comparer                The IComparer implementation to use when comparing the elements
+        * @param[in]   comparer                The IComparer implementation to use when comparing elements
         * @exception   E_SUCCESS               The method is successful.
-        * @exception   E_INVALID_ARG   Either of the following conditions has occurred:
-        *                                                              - The specified input parameter is invalid.
-        *                                                              - The specified @c comparer is invalid.
+        * @exception   E_INVALID_ARG   The specified input parameter is invalid, or
+        *                                                              the @c comparer is not valid.
         */
        virtual result Sort(const IComparer& comparer);
 
@@ -490,20 +477,18 @@ public:
        virtual bool Contains(const Object& obj) const;
 
        /**
-        * Checks whether the list contains all the elements of the specified @c collection.
+        * Checks whether the list contains all the elements of the specified collection.
         *
         * @since 2.0
         *
-        * @return              @c true if this list contains all the elements in the specified collection, @n
+        * @return              @c true if this list contains all of the elements in the specified collection, @n
         *                              else @c false
         * @param[in]   collection                      The collection to check for containment in this list
         * @exception   E_SUCCESS                       The method is successful.
-        * @exception   E_INVALID_OPERATION     Either of the following conditions has occurred:
-        *                                                                      - The current state of the instance prohibits the execution of the specified operation.
-        *                                                                      - The @c collection is modified during the operation of this method.
-        * @remarks
-        *                              - The specific error code can be accessed using the GetLastResult() method.
-        *                              - If the given @c collection is empty, this method returns @c true.
+        * @exception   E_INVALID_OPERATION     The current state of the instance prohibits the execution of the specified operation, or
+        *                                                                      the @c collection is modified during the operation of this method.
+        * @remarks             The specific error code can be accessed using the GetLastResult() method.
+        * @remarks             If the given @c collection is empty, this method will return @c true.
         * @see                 Contains()
         */
        virtual bool ContainsAll(const ICollection& collection) const;
@@ -516,10 +501,9 @@ public:
         * @return              @c true if the specified instance equals the current instance, @n
         *                              else @c false
         * @param[in]   obj The object to compare with the calling object
-        * @remarks
-        *                              - This method returns @c true only if the specified object is also an instance of the %LinkedList class,
+        * @remarks             This method returns @c true only if the specified object is also an instance of the %LinkedList class,
         *                              both lists have the same size, and all corresponding pairs of elements in the two lists are equal.
-        *                              In other words, two lists are equal if they contain the same elements in the same order.
+        *                              In other words, two lists are equal if they contain the same elements in the same order.
         */
        virtual bool Equals(const Object& obj) const;
 
@@ -529,8 +513,8 @@ public:
         * @since 2.0
         *
         * @return      The hash value of the current instance
-        * @remarks     The two Tizen::Base::Object::Equals() instances must return the same hash value. @n
-        *                      For better performance, the used hash function must generate a random distribution for all the inputs.
+        * @remarks     The two Tizen::Base::Object::Equals() instances must return the same hash value. For better performance, @n
+        *                      the used hash function must generate a random distribution for all inputs.
         */
        virtual int GetHashCode(void) const;
 
@@ -604,7 +588,7 @@ private:
        /**
         * Gets a node from Available node list.
         *
-        * @return              A pointer to a new List Node, @n
+        * @return              A pointer to a new List Node if successful, @n
         *                              else @c null if no node is available
         */
        _ListNode* GetNewNode(void);
index 417b67f..01c1b71 100644 (file)
@@ -35,11 +35,11 @@ template< class Type > class __LinkedListNodeT;
 
 /**
  * @class LinkedListT
- * @brief This class represents a template-based collection of objects that can be individually accessed by an index.
+ * @brief This class represents a template-based collection of objects that can be individually accessed by index.
  *
  * @since 2.0
  *
- * The %LinkedListT class represents a template-based collection of objects that can be individually accessed by an index.
+ * The %LinkedListT class represents a template-based collection of objects that can be individually accessed by index.
  *
  * For more information on the class features, see <a href="../org.tizen.native.appprogramming/html/guide/base/arraylist_linkedlist.htm">ArrayList and LinkedList</a>.
  *
@@ -130,7 +130,7 @@ public:
         * @since 2.0
         *
         * @return              An error code
-        * @param[in]   obj                             The object to add
+        * @param[in]   obj                             An object to add
         * @exception   E_SUCCESS               The method is successful.
         * @exception   E_OUT_OF_MEMORY The memory is insufficient.
         * @see Remove()
@@ -161,11 +161,10 @@ public:
         * @since 2.0
         *
         * @return              An error code
-        * @param[in]   collection                      The collection to add
+        * @param[in]   collection                      A collection to add
         * @exception   E_SUCCESS                       The method is successful.
-        * @exception   E_INVALID_OPERATION     Either of the following conditions has occurred:
-        *                                                                      - The current state of the instance prohibits the execution of the specified operation.
-        *                                                                      - The specified @c collection is modified during the operation of this method.
+        * @exception   E_INVALID_OPERATION     The current state of the instance prohibits the execution of the specified operation, or
+        *                                                                      the specified @c collection is modified during the operation of this method.
         * @see                 RemoveItems()
         */
        virtual result AddItems(const ICollectionT< Type >& collection)
@@ -180,15 +179,16 @@ public:
        }
 
        /**
-        * Gets the enumerator of this list.
+        * Gets an enumerator to this list.
         *
         * @since 2.0
         *
-        * @return              The enumerator (an instance of the IEnumeratorT derived class) of this list, @n
+        * @return              An enumerator (an instance of the IEnumeratorT derived class) of this list, @n
         *                              else @c null if an exception occurs
         * @exception   E_SUCCESS               The method is successful.
         * @exception   E_OUT_OF_MEMORY The memory is insufficient.
         * @remarks             The specific error code can be accessed using the GetLastResult() method.
+        * @see                 Tizen::Base::Collection::IEnumeratorT
         */
        virtual IEnumeratorT< Type >* GetEnumeratorN(void) const
        {
@@ -207,18 +207,18 @@ CATCH:
        }
 
        /**
-        * Gets the bidirectional enumerator (an instance of the IBidirectionalEnumeratorT derived class) of this list.
+        * Gets a bidirectional enumerator (an instance of the IBidirectionalEnumeratorT derived class) of this list.
         *
         * @since 2.0
         *
-        * @return                      An instance of the IBidirectionalEnumeratorT derived class, @n
+        * @return                      An instance of the IBidirectionalEnumeratorT derived class if successful, @n
         *                                      else @c null if an exception occurs
         * @exception           E_SUCCESS                       The method is successful.
         * @exception           E_OUT_OF_MEMORY         The memory is insufficient.
-        * @remarks
-        *                                      - Use this method to obtain a bidirectional enumerator (an instance of the IBidirectionalEnumeratorT derived class)
-        *                                      to iterate over a collection (an instance of the IListT derived class).
-        *                                      - The specific error code can be accessed using the GetLastResult() method.
+        * @remarks             Use this method to obtain a bidirectional enumerator (an instance of the IBidirectionalEnumeratorT derived class)
+        *                                      to iterate over a collection (an instance of the IListT derived class).
+        *                                      The specific error code can be accessed using the GetLastResult() method.
+        * @see                         Tizen::Base::Collection::IBidirectionalEnumeratorT
         */
        virtual IBidirectionalEnumeratorT< Type >* GetBidirectionalEnumeratorN(void) const
        {
@@ -242,13 +242,11 @@ CATCH:
         * @since 2.0
         *
         * @return              An error code
-        * @param[in]   index                                   The index of the object to read
-        * @param[out]  obj                                             The object to get from this list
+        * @param[in]   index   The index of the object to read
+        * @param[out]  obj             An object to get from this list
         * @exception   E_SUCCESS                               The method is successful.
-        * @exception   E_OUT_OF_RANGE                  Either of the following conditions has occurred:
-        *                                                                              - The specified @c index is outside the bounds of the data structure.
-        *                                                                              - The specified @c index is either greater than or equal to the number of elements.
-        *                                                                              - The specified @c index is less than @c 0.
+        * @exception   E_OUT_OF_RANGE                  The specified index is outside the bounds of the data structure, or
+        *                                                                              the specified @c index is equal to or greater than the number of elements or less than @c 0.
         * @see                 SetAt()
         */
        virtual result GetAt(int index, Type& obj) const
@@ -271,13 +269,11 @@ CATCH:
         * @since 2.0
         *
         * @return              An error code
-        * @param[in]   index                                   The index of the object to read
-        * @param[out]  obj                                             The object to get from this list
+        * @param[in]   index   The index of the object to read
+        * @param[out]  obj             An object to get from this list
         * @exception   E_SUCCESS                               The method is successful.
-        * @exception   E_OUT_OF_RANGE                  Either of the following conditions has occurred:
-        *                                                                          - The specified @c index is outside the bounds of the data structure.
-        *                                                                              - The specified @c index is either greater than or equal to the number of elements.
-        *                                                                              - The specified @c index is less than @c 0.
+        * @exception   E_OUT_OF_RANGE                  The specified index is outside the bounds of the data structure, or
+        *                                                                              the specified @c index is equal to or greater than the number of elements or less than @c 0.
         * @see                 SetAt()
         */
        virtual result GetAt(int index, Type& obj)
@@ -300,16 +296,14 @@ CATCH:
         * @since 2.0
         *
         * @return              A pointer to the IListT derived instance, @n
-        *                              else @c null if an exception occurs
-        * @param[in]   startIndex                              The starting index of the range
-        * @param[in]   count                                   The number of elements to read
+        *                              else @c null if an exception occurs.
+        * @param[in]   startIndex      The starting index of the range
+        * @param[in]   count           The number of elements to read
         * @exception   E_SUCCESS                               The method is successful.
-        * @exception   E_OUT_OF_RANGE                  Either of the following conditions has occurred:
-        *                                                                              - The specified @c index is outside the bounds of the data structure.
-        *                                                                              - The specified @c startIndex is either greater than or equal to the number of elements.
-     *                                                                         - The specified @c startIndex is less than @c 0. @n
-        *                                                                              - The specified @c count is greater than the number of elements starting from @c startIndex.
-     *                                                                         - The specified @c count is less than @c 0.
+        * @exception   E_OUT_OF_RANGE                  Either of the following conditions has occurred: @n
+        *                                                                              - The specified index is outside the bounds of the data structure. @n
+        *                                                                              - The specified @c startIndex is either equal to or greater than the number of elements or less than @c 0. @n
+        *                                                                              - The specified @c count is either greater than the number of elements starting from @c startIndex or less than @c 0.
         *
         * @remarks             The specific error code can be accessed using the GetLastResult() method.
         */
@@ -369,10 +363,10 @@ CATCH:
         * @since 2.0
         *
         * @return              An error code
-        * @param[in]   obj                                     The object to locate
-        * @param[out]  index                           The index of the object
+        * @param[in]   obj                     The object to locate
+        * @param[out]  index           The index of the object
         * @exception   E_SUCCESS                       The method is successful.
-        * @exception   E_OBJ_NOT_FOUND         The specified @c obj has not been found.
+        * @exception   E_OBJ_NOT_FOUND         The specified @c obj is not found.
         */
        virtual result IndexOf(const Type& obj, int& index) const
        {
@@ -396,16 +390,14 @@ CATCH:
         * @since 2.0
         *
         * @return              An error code
-        * @param[in]   obj                             The object to locate
-        * @param[in]   startIndex                              The starting index for the search @n
-        *                                                                              It must be less than the number of elements.
-        * @param[out]  index                                   The index of the object
+        * @param[in]   obj         The object to locate
+        * @param[in]   startIndex      The starting index for the search @n
+        *                                                      It must be less than the number of elements.
+        * @param[out]  index           The index of the object
         * @exception   E_SUCCESS                               The method is successful.
-        * @exception   E_OUT_OF_RANGE                  Either of the following conditions has occurred:
-        *                                                                              - The specified @c index is outside the bounds of the data structure.
-        *                                                                              - The specified @c startIndex is either greater than or equal to the number of elements in the list.
-        *                                                                              - The specified @c startIndex is less than @c 0.
-        * @exception   E_OBJ_NOT_FOUND                 The specified @c obj has not been found.
+        * @exception   E_OUT_OF_RANGE                  The specified index is outside the bounds of the data structure, or
+        *                                                                              the specified @c startIndex is either equal to or greater than the number of elements in the list or less than @c 0.
+        * @exception   E_OBJ_NOT_FOUND                 The specified @c obj is not found.
         * @see                 LastIndexOf()
         */
        virtual result IndexOf(const Type& obj, int startIndex, int& index) const
@@ -424,18 +416,16 @@ CATCH:
         * @since 2.0
         *
         * @return              An error code
-        * @param[in]   obj                             The object to locate
-        * @param[in]   startIndex                              The starting index of the range
-        * @param[in]   count                                   The number of elements to read
-        * @param[out]  index                                   The index of the object
+        * @param[in]   obj         The object to locate
+        * @param[in]   startIndex      The starting index of the range
+        * @param[in]   count           The number of elements to read
+        * @param[out]  index           The index of the object
         * @exception   E_SUCCESS                               The method is successful.
-        * @exception   E_OUT_OF_RANGE                  Either of the following conditions has occurred:
-        *                                                                              - The specified @c index is outside the bounds of the data structure.
-        *                                                                              - The specified @c startIndex is either greater than or equal to the number of elements in the list.
-        *                                                                              - The specified @c startIndex is less than @c 0.
-        *                                                                              - The specified @c count is greater than the number of elements starting from @c startIndex.
-        *                                                                              - The specified @c count is less than @c 0.
-        * @exception   E_OBJ_NOT_FOUND                 The specified @c obj has not been found.
+        * @exception   E_OUT_OF_RANGE                  Either of the following conditions has occurred: @n
+        *                                                                              - The specified index is outside the bounds of the data structure. @n
+        *                                                                              - The specified @c startIndex is either equal to or greater than the number of elements in the list or less than @c 0. @n
+        *                                                                              - The specified @c count is either greater than the number of elements starting from @c startIndex or less than @c 0.
+        * @exception   E_OBJ_NOT_FOUND                 The specified @c obj is not found.
         * @see                 LastIndexOf()
         */
        virtual result IndexOf(const Type& obj, int startIndex, int count, int& index) const
@@ -474,14 +464,12 @@ CATCH:
         * @since 2.0
         *
         * @return              An error code
-        * @param[in]   obj                                             The object to insert
-        * @param[in]   index                                   The index at which the object is inserted
+        * @param[in]   obj             An object to insert
+        * @param[in]   index   The index at which the object must be inserted
         * @exception   E_SUCCESS                               The method is successful.
-        * @exception   E_OUT_OF_RANGE                  Either of the following conditions has occurred:
-        *                                                                              - The specified @c index is outside the bounds of the data structure.
-        *                                                                              - The specified @c index is greater than the number of elements.
-        *                                                                              - The specified @c index is less than @c 0.
-        * @remarks             If the @c index is equal to the number of elements then the new elements
+        * @exception   E_OUT_OF_RANGE                  The specified index is outside the bounds of the data structure, or
+        *                                                                              the specified @c index is greater than the number of elements or less than @c 0.
+        * @remarks             If the @c index equals to the number of elements then the new element
         *                              is added at the end of this list.
         * @see                 Add()
         * @see                 RemoveAt()
@@ -522,22 +510,19 @@ CATCH:
 
 
        /**
-        * Inserts the elements of the collection at the specified location.
+        * Inserts the elements of the @c collection at the location specified.
         *
         * @since 2.0
         *
         * @return              An error code
-        * @param[in]   collection                              The collection to insert
-        * @param[in]   startIndex                              The starting index at which the collection is inserted
+        * @param[in]   collection      The collection to insert
+        * @param[in]   startIndex      The starting index at which the collection must be inserted
         * @exception   E_SUCCESS                               The method is successful.
-        * @exception   E_OUT_OF_RANGE                  Either of the following conditions has occurred:
-        *                                                                              - The specified @c index is outside the bounds of the data structure.
-        *                                                                              - The specified @c startIndex is greater than the number of elements.
-     *                                                                         - The specified @c startIndex is less than @c 0.
-        * @exception   E_INVALID_OPERATION             Either of the following conditions has occurred:
-        *                                                                              - The current state of the instance prohibits the execution of the specified operation.
-        *                                                                              - The specified @c collection is modified during the operation of this method.
-        * @remarks             If the @c startIndex is equal to the number of elements then the new elements
+        * @exception   E_OUT_OF_RANGE                  The specified index is outside the bounds of the data structure, or
+        *                                                                              the specified @c startIndex is either greater than the number of elements or less than @c 0.
+        * @exception   E_INVALID_OPERATION             The current state of the instance prohibits the execution of the specified operation, or
+        *                                                                              the specified @c collection is modified during the operation of this method.
+        * @remarks             If the @c startIndex equals to the number of elements then the new elements
         *                              are added at the end of this list.
         * @see                 RemoveItems()
         * @see                 AddItems()
@@ -620,10 +605,10 @@ CATCH:
         * @since 2.0
         *
         * @return              An error code
-        * @param[in]   obj                     The object to locate
-        * @param[out]  index                           The index of the last occurrence of the specified object
+        * @param[in]   obj         The object to locate
+        * @param[out]  index           The index of the last occurrence of the specified object
         * @exception   E_SUCCESS                       The method is successful.
-        * @exception   E_OBJ_NOT_FOUND         The specified @c obj has not been found.
+        * @exception   E_OBJ_NOT_FOUND         The specified @c obj is not found.
         * @see                 IndexOf()
         */
        virtual result LastIndexOf(const Type& obj, int& index) const
@@ -650,9 +635,9 @@ CATCH:
         * @since 2.0
         *
         * @return              An error code
-        * @param[in]   obj                             The object to remove
+        * @param[in]   obj                             An object to remove
         * @exception   E_SUCCESS               The method is successful.
-        * @exception   E_OBJ_NOT_FOUND The specified @c obj has not been found.
+        * @exception   E_OBJ_NOT_FOUND The specified @c obj is not found.
         * @see                 Add()
         * @see                 RemoveAt()
         * @see                 RemoveAll()
@@ -676,16 +661,15 @@ CATCH:
        }
 
        /**
-        * Removes all the elements from the specified collection.
+        * Removes all the elements in the specified @c collection.
         *
         * @since 2.0
         *
         * @return              An error code
         * @param[in]   collection                      The collection to remove from this list
         * @exception   E_SUCCESS                       The method is successful.
-        * @exception   E_INVALID_OPERATION     Either of the following conditions has occurred:
-        *                                                                      - The current state of the instance prohibits the execution of the specified operation.
-        *                                                                      - The specified @c collection is modified during the operation of this method.
+        * @exception   E_INVALID_OPERATION     The current state of the instance prohibits the execution of the specified operation, or
+        *                                                                      the specified @c collection is modified during the operation of this method.
         * @see                 Remove()
         * @see                 RemoveAt()
         */
@@ -736,12 +720,10 @@ CATCH:
         * @since 2.0
         *
         * @return              An error code
-        * @param[in]   index                                   The index at which the object is removed
+        * @param[in]   index                                   The index at which the object must be removed
         * @exception   E_SUCCESS                               The method is successful.
-        * @exception   E_OUT_OF_RANGE                  Either of the following conditions has occurred:
-        *                                                                              - The specified @c index is outside the bounds of the data structure.
-        *                                                                              - The specified @c index is greater than the number of elements.
-        *                                                                              - The specified @c index is less than @c 0.
+        * @exception   E_OUT_OF_RANGE                  The specified index is outside the bounds of the data structure, or
+        *                                                                              the specified @c index is equal to or greater than the number of elements or less than @c 0.
         * @see                 InsertAt()
         */
        virtual result RemoveAt(int index)
@@ -755,20 +737,18 @@ CATCH:
        }
 
        /**
-        * Removes all the elements within the specified range.
+        * Removes all elements within the specified range.
         *
         * @since 2.0
         *
         * @return              An error code
-        * @param[in]   startIndex                              The starting index of the range
-        * @param[in]   count                                   The number of elements to read
+        * @param[in]   startIndex      The starting index of the range
+        * @param[in]   count           The number of elements to read
         * @exception   E_SUCCESS                               The method is successful.
-        * @exception   E_OUT_OF_RANGE                  Either of the following conditions has occurred:
-        *                                                                              - The specified @c index is outside the bounds of the data structure.
-        *                                                                              - The specified @c startIndex is either greater than or equal to the number of elements.
-        *                                                                              - The specified @c startIndex is less than @c 0.
-        *                                                                              - The specified @c count is greater than the number of elements starting from @c startIndex.
-        *                                                                              - The specified @c count is less than @c 0.
+        * @exception   E_OUT_OF_RANGE                  Either of the following conditions has occurred: @n
+        *                                                                              - The specified index is outside the bounds of the data structure. @n
+        *                                                                              - The specified @c startIndex is either equal to or greater than the number of elements or less than @c 0. @n
+        *                                                                              - The specified @c count is either greater than the number of elements starting from @c startIndex or less than @c 0.
         * @see                 AddItems()
         * @see                 InsertItemsFrom()
         */
@@ -829,13 +809,11 @@ CATCH:
         * @since 2.0
         *
         * @return              An error code
-        * @param[in]   obj                                             The object to set
-        * @param[in]   index                                   The index at which the object is set
+        * @param[in]   obj             An object to set
+        * @param[in]   index   The index at which the object must be set
         * @exception   E_SUCCESS                               The method is successful.
-        * @exception   E_OUT_OF_RANGE                  Either of the following conditions has occurred:
-        *                                                                              - The specified @c index is outside the bounds of the data structure.
-        *                                                                              - The specified @c index is either greater than or equal to the number of elements.
-        *                                                                              - The specified @c index is less than @c 0.
+        * @exception   E_OUT_OF_RANGE                  The specified index is outside the bounds of the data structure, or
+        *                                                                              the specified @c index is equal to or greater than the number of elements or less than @c 0.
         * @see                 GetAt()
         */
        virtual result SetAt(const Type& obj, int index)
@@ -862,9 +840,8 @@ CATCH:
         * @return              An error code
         * @param[in]   comparer                The IComparerT implementation to use when comparing the elements
         * @exception   E_SUCCESS               The method is successful.
-        * @exception   E_INVALID_ARG   Either of the following conditions has occurred:
-        *                                                              - The specified input parameter is invalid.
-        *                                                              - The specified @c comparer is invalid.
+        * @exception   E_INVALID_ARG   A specified input parameter is invalid, or
+        *                                                              the @c comparer is not valid.
         */
        virtual result Sort(const IComparerT< Type >& comparer)
        {
@@ -933,14 +910,13 @@ CATCH:
         * @since 2.0
         *
         * @return              An error code
-        * @param[in]   collection                      The collection to check for containment in this list
-        * @param[out]  out                             Set to @c true if this list contains all of the elements in the specified collection, @n
-        *                                                                      else @c false
+        * @param[in]   collection      The collection to check for containment in this list
+        * @param[out]  out             Set to @c true if this list contains all of the elements in the specified collection, @n
+        *                                                      else @c false
         * @exception   E_SUCCESS                       The method is successful.
-        * @exception   E_INVALID_OPERATION     Either of the following conditions has occurred:
-        *                                                                      - The current state of the instance prohibits the execution of the specified operation.
-        *                                                                      - The specified @c collection is modified during the operation of this method.
-        * @remarks             If the given @c collection is empty, then @c out is set to @c true.
+        * @exception   E_INVALID_OPERATION     The current state of the instance prohibits the execution of the specified operation, or
+        *                                                                      the specified @c collection is modified during the operation of this method.
+        * @remarks             If the given @c collection is empty, the @c out parameter is set to @c true.
         * @see                 Contains()
         */
        virtual result ContainsAll(const ICollectionT< Type >& collection, bool& out) const
@@ -1001,12 +977,12 @@ CATCH:
         *
         * @since 2.0
         *
-        * @return              @c true if the specified instance equals the current instance, @n
+        * @return              @c true if the specified instance equals to the current instance, @n
         *                              else @c false
         * @param[in]   obj The object to compare with the calling object
-        * @remarks     This method returns @c true only if the specified object is also an instance of the LinkedList class,
-        *                      both lists have the same size, and all the corresponding pairs of elements in the two lists are equal. @n
-        *                      In other words, the two lists are equal if they contain the same elements in the same order.
+        * @remarks             This method returns @c true only if the specified object is also an instance of LinkedList class,
+        *                              both lists have the same size, and all corresponding pairs of elements in the two lists are equal.
+        *                              In other words, two lists are equal if they contain the same elements in the same order.
         */
        virtual bool Equals(const Object& obj) const
        {
@@ -1050,8 +1026,8 @@ CATCH:
         * @since 2.0
         *
         * @return      The hash value of the current instance
-        * @remarks     The two Tizen::Base::Object::Equals() instances must return the same hash value. @n
-        *                      For better performance, the used hash function must generate a random distribution for all the inputs.
+        * @remarks     The two Tizen::Base::Object::Equals() instances must return the same hash value. For better performance, @n
+        *                      the used hash function must generate a random distribution for all inputs.
         */
        virtual int GetHashCode(void) const
        {
@@ -1350,7 +1326,7 @@ public:
         *
         * @since 2.0
         *
-        * @param[in]   obj     The object to include in this node
+        * @param[in]   obj     An object to include in this node
         */
        __LinkedListNodeT(const Type& obj)
                : pPrev(null)
@@ -1398,7 +1374,7 @@ public:
         *
         * @since 2.0
         *
-        * @param[in]   list            The list to enumerate
+        * @param[in]   list            A list to enumerate
         * @param[in]   modCount        The modification count to detect the change in the list
         */
        __LinkedListEnumeratorT(const LinkedListT< Type >& list, int modCount)
@@ -1425,13 +1401,13 @@ public:
         * @since 2.0
         *
         * @return              An error code
-        * @param[out]  obj                               The current object
-        * @exception   E_INVALID_OPERATION       Either of the following conditions has occurred:
-        *                                                                      - The current state of the instance prohibits the execution of the specified operation.
+        * @param[out]  obj The current object
+        * @exception   E_INVALID_OPERATION       Either of the following conditions has occurred: @n
+        *                                                                      - The current state of the instance prohibits the execution of the specified operation. @n
         *                                                                      - This enumerator is currently positioned before the first element or
-        *                                                                      past the last element.
-        *                                                                      - The list is modified after this enumerator is created.
-        * @exception   E_SUCCESS                         The method is successful.
+        *                                                                      past the last element. @n
+                                           - The list is modified after this enumerator is created.
+        * @exception   E_SUCCESS                       The method is successful.
         */
        result GetCurrent(Type& obj) const
        {
@@ -1447,16 +1423,15 @@ public:
 
        /**
         * Moves this enumerator to the next element of the list. @n
-        * When this enumerator is first created or after call to Reset(),
+        * When this enumerator is first created or after call to Reset(),
         * the first call to MoveNext() positions this enumerator to the first element in the list.
         *
         * @since 2.0
         *
         * @return              An error code
         * @exception   E_SUCCESS                       The method is successful.
-        * @exception   E_INVALID_OPERATION     Either of the following conditions has occurred:
-        *                                                                      - The current state of the instance prohibits the execution of the specified operation.
-        *                                                                      - The list is modified after this enumerator is created.
+        * @exception   E_INVALID_OPERATION     The current state of the instance prohibits the execution of the specified operation, or
+        *                                                                      the list is modified after this enumerator is created.
         * @exception   E_OUT_OF_RANGE          The enumerator has passed the end of the list.
         * @see                 Reset()
         */
@@ -1489,15 +1464,14 @@ public:
        }
 
        /**
-        * Positions this enumerator before the first element in the list.
+        * Positions this enumerator before the first elements in the list.
         *
         * @since 2.0
         *
         * @return              An error code
         * @exception   E_SUCCESS                       The method is successful.
-        * @exception   E_INVALID_OPERATION     Either of the following conditions has occurred:
-        *                                                                      - The current state of the instance prohibits the execution of the specified operation.
-        *                                                                      - The list is modified after this enumerator is created.
+        * @exception   E_INVALID_OPERATION     The current state of the instance prohibits the execution of the specified operation, or
+        *                                                                      the list is modified after this enumerator is created.
         */
        result Reset(void)
        {
index d14a82b..78e728b 100644 (file)
@@ -39,9 +39,9 @@ class _MultiHashMapEntry;
  *
  * @since 2.0
  *
- * The %MultiHashMap class represents a collection of associated keys and values that are organized based on the hash code of the key.
- * 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 @c null.
+ *  The %MultiHashMap class represents a collection of associated keys and values that are organized based on the hash code of the key.
+ * There is no limit on the number of elements with the same key, but duplicated elements with the same key are not allowed.
+ * The key and value cannot be @c null.
  * @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>.
  *
@@ -114,11 +114,10 @@ public:
         *
         * @since 2.0
         *
-        * @param[in]   deleter                 A function pointer to the type of the element deleter
-        * @remarks     To create an owning collection, set the element deleter value as @c SingleObjectDeleter. @n
-        *                      This gives the collection the ownership of the elements and the collection destroys the elements. @n
-        *                      On the other hand, to create a non-owning collection, do not set the element deleter value, as @c NoOpDeleter is the default element deleter. @n
-        *                      It means that the ownership of the elements is not transferred to the collection.
+        * @param[in]   deleter The function pointer to type of the element deleter
+        * @remarks     To create an owning collection, set the element deleter value as @c SingleObjectDeleter. This gives the collection the ownership of elements and the collection will destroy elements. @n
+        *                      On the other hand, to create a non-owning collection, you do not need to set the element deleter value, as @c NoOpDeleter is the default element deleter.
+        *                      It means that you do not transfer the ownership of elements to the collection.
         * @see         NoOpDeleter()
         * @see         SingleObjectDeleter()
         * @see         ArrayDeleter()
@@ -133,7 +132,7 @@ public:
        virtual ~MultiHashMap(void);
 
        /**
-        * Initializes a new instance of %MultiHashMap with the specified @c capacity and @c loadFactor.
+        * Initializes a new instance of %MultiHashMap with the specified capacity and load factor.
         *
         * @since 2.0
         *
@@ -141,9 +140,8 @@ public:
         * @param[in]   capacity                The initial capacity
         * @param[in]   loadFactor              The maximum ratio of elements to buckets
         * @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 specified @c capacity or the specified  @c loadFactor is negative.
+        * @exception   E_INVALID_ARG   A specified input parameter is invalid, or
+        *                                                              the @c capacity or the @c loadFactor is negative.
         * @remarks             The GetHashCode() method of the key object is used for hashing and the
         *                              Equals() method of the key object is used for comparing the keys.
         * @see                 MultiHashMap()
@@ -151,20 +149,19 @@ public:
        result Construct(int capacity = 16, float loadFactor = 0.75);
 
        /**
-        * Initializes a new instance of %MultiHashMap by copying the elements of the given @c map.
+        * Initializes a new instance of %MultiHashMap by copying the elements of the given map.
         *
         * @since 2.0
         *
         * @return              An error code
-        * @param[in]   map                                     The map to copy
-        * @param[in]   loadFactor                      The maximum ratio of elements to buckets @n
-        *                                                                      If it is @c 0, the default load factor(0.75) is used.
+        * @param[in]   map                             The map to copy
+        * @param[in]   loadFactor              The maximum ratio of elements to buckets @n
+        *                                                              If it is @c 0, the default load factor(0.75) is used.
         * @exception   E_SUCCESS                       The method is successful.
         * @exception   E_INVALID_ARG           The specified @c loadFactor is negative.
-        * @exception   E_INVALID_OPERATION     Either of the following conditions has occurred:
-        *                                                                      - The current state of the instance prohibits the execution of the specified operation.
-        *                                                                      - The specified @c map is modified during the operation of this method.
-        * @remarks             This method performs a shallow copy. It copies just the pointer and not the element itself.
+        * @exception   E_INVALID_OPERATION     The current state of the instance prohibits the execution of the specified operation, or
+        *                                                                      the @c map is modified during the operation of this method.
+        * @remarks             This method performs a shallow copy. It copies just the pointer; not the element itself.
         * @see                 MultiHashMap()
         */
        result Construct(const IMultiMap& map, float loadFactor = 0.75);
@@ -176,18 +173,17 @@ public:
         * @since 2.0
         *
         * @return              An error code
-        * @param[in]   capacity                The initial capacity @n
-        *                                                              If it is @c 0, the default capacity (16) is used.
-        * @param[in]   loadFactor              The maximum ratio of elements to buckets @n
-        *                                                              If it is @c 0, the default load factor (0.75) is used.
-        * @param[in]   provider                An instance of the IHashCodeProvider derived class that supplies the hash codes
-        *                                                              for all the keys in this map
-        * @param[in]   comparer                An instance of the IComparer derived class to use when comparing the keys
+        * @param[in]   capacity        The initial capacity @n
+        *                                                      If it is @c 0, the default capacity (16) is used.
+        * @param[in]   loadFactor      The maximum ratio of elements to buckets @n
+        *                                                      If it is @c 0, the default load factor (0.75) is used.
+        * @param[in]   provider        An instance of the IHashCodeProvider derived class that supplies the hash codes
+        *                                                      for all keys in this map
+        * @param[in]   comparer        An instance of the IComparer derived class to use when comparing keys
         * @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 specfied @c capacity or the specified @c loadFactor is negative.
-        * @remarks             The instances of the hash code provider and the comparer are not deallocated later from this map.
+        * @exception   E_INVALID_ARG   A specified input parameter is invalid, or
+        *                                                              the @c capacity or the @c loadFactor is negative.
+        * @remarks             The instances of hash code provider and comparer will not be deallocated later from this map.
         * @see                 MultiHashMap()
         */
        result Construct(int capacity, float loadFactor, const IHashCodeProvider& provider, const IComparer& comparer);
@@ -199,22 +195,19 @@ public:
         * @since 2.0
         *
         * @return              An error code
-        * @param[in]   map                                     A map to copy
-        * @param[in]   loadFactor                      The maximum ratio of elements to buckets @n
-        *                                                                      If it is @c 0, the default load factor (0.75) is used.
-        * @param[in]   provider                        An instance of the IHashCodeProvider derived class that supplies the hash codes
-        *                                                                      for all the keys in this map
-        * @param[in]   comparer                        An instance of the IComparer derived class to use when comparing the keys
+        * @param[in]   map                     A map to copy
+        * @param[in]   loadFactor      The maximum ratio of elements to buckets @n
+        *                                                      If it is @c 0, the default load factor (0.75) is used.
+        * @param[in]   provider        An instance of the IHashCodeProvider derived class that supplies the hash codes
+        *                                                      for all keys in this map
+        * @param[in]   comparer        An instance of the IComparer derived class to use when comparing keys
         * @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 specified @c loadFactor is negative.
-        * @exception   E_INVALID_OPERATION     Either of the following conditions has occurred:
-        *                                                                      - The current state of the instance prohibits the execution of the specified operation.
-        *                                                                      - The specified @c map is modified during the operation of this method.
-        * @remarks
-        *                              - This method performs a shallow copy. It copies just the pointer and not the element itself.
-        *                              - The instances of the hash code provider and the comparer are not deallocated later from this map.
+        * @exception   E_INVALID_ARG           A specified input parameter is invalid, or
+        *                                                                      the @c loadFactor is negative.
+        * @exception   E_INVALID_OPERATION     The current state of the instance prohibits the execution of the specified operation, or
+        *                                                                      the @c map is modified during the operation of this method.
+        * @remarks             This method performs a shallow copy. It copies just the pointer; not the element itself.
+        *                      The instances of hash code provider and comparer will not be deallocated later from this map.
         * @see                 MultiHashMap()
         */
        result Construct(const IMultiMap& map, float loadFactor, const IHashCodeProvider& provider, const IComparer& comparer);
@@ -225,88 +218,80 @@ public:
         * @since 2.0
         *
         * @return              An error code
-        * @param[in]   pKey                            A pointer to the key to add
-        * @param[in]   pValue                          A pointer to the corresponding value to add
+        * @param[in]   pKey    The pointer to key to add
+        * @param[in]   pValue  The pointer to corresponding value to add
         * @exception   E_SUCCESS                       The method is successful.
         * @exception   E_OBJ_ALREADY_EXIST     The specified pair of @c pKey and @c pValue already exists.
-        * @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             This method performs a shallow copy. It adds just the pointer and not the element itself.
+        * @exception   E_INVALID_ARG           A specified input parameter is invalid, or
+        *                                                                      the comparer has failed to compare the keys.
+        * @remarks             This method performs a shallow copy. It adds just the pointer; not the element itself.
         * @see                 Remove()
         */
        virtual result Add(Object* pKey, Object* pValue);
 
        /**
-        * Gets the enumerator of this map.
+        * Gets an enumerator of this map.
         *
         * @since 2.0
         *
-        * @return              The enumerator (an instance of the IEnumerator derived class) of this map, @n
-        *                              else @c null if an exception occurs
-        * @remarks
-        *                              - If the key has multiple values, the enumeration proceeds as follows: 
-        *                              {A: a}, {B: b}, {B: c}, {B, d}, {C: e}, ...
-        *                              - The specific error code can be accessed using the GetLastResult() method.
+        * @return              An enumerator (an instance of the IEnumerator derived class) of this map, @n
+        *                              else @c null if some exception occurs
+        * @remarks             If the key has multiple values, the enumeration proceeds as follows: {A: a}, {B: b}, {B: c}, {B, d}, {C: e}, ...
+        *                              The specific error code can be accessed using the GetLastResult() method.
         * @see                 IMapEnumerator
         */
        virtual IEnumerator* GetEnumeratorN(void) const;
 
        /**
-        * Gets the enumerator of this map.
+        * Gets an enumerator of this map.
         *
         * @since 2.0
         *
-        * @return              The enumerator (an instance of the IMapEnumerator derived class) of this map, @n
-        *                              else @c null if an exception occurs
-        * @remarks
-        *                              - If the key has multiple values, the enumeration proceeds as follows: 
-        *                              {A: a}, {B: b}, {B: c}, {B, d}, {C: e}, ...
-        *              - The specific error code can be accessed using the GetLastResult() method.
+        * @return              An enumerator (an instance of the IMapEnumerator derived class) of this map, @n
+        *                              else @c null if some exception occurs
+        * @remarks             If the key has multiple values, the enumeration proceeds as follows: {A: a}, {B: b}, {B: c}, {B, d}, {C: e}, ...
+        *                      The specific error code can be accessed using the GetLastResult() method.
         * @see                 IEnumerator
         */
        virtual IMapEnumerator* GetMapEnumeratorN(void) const;
 
        /**
-        * Gets the enumerator of the values associated with the specified key.
+        * Gets an enumerator of the values associated with the specified key.
         *
         * @since 2.0
         *
-        * @return              The enumerator (an instance of the IEnumerator derived class) of the values associated with the specified key, @n
-        *                              else @c null if an exception occurs
-        * @param[in]   key                             The key to locate
+        * @return              An enumerator (an instance of the IEnumerator derived class) of the values associated with the specified key, @n
+        *                              else @c null if some exception occurs
+        * @param[in]   key                             A key to locate
         * @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.
+        * @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             The specific error code can be accessed using the GetLastResult() method.
         * @see                 SetValue()
         */
        virtual IEnumerator* GetValuesN(const Object& key) const;
 
        /**
-        * Gets a list of all the unique keys in this map.
+        * Gets a list of all unique keys in this map.
         *
         * @since 2.0
         *
-        * @return              The list of all the unique keys in this map
-        * @remarks
-        *                              - 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.
+        * @return              A list of all unique keys in this map
+        * @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;
 
        /**
-        * Gets the list of all the values in this map.
+        * Gets a list of all the values in this map.
         *
         * @since 2.0
         *
-        * @return              The list of all the values in this map
-        * @remarks
-        *                              - 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.
+        * @return              A list of all the values in this map
+        * @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                 GetKeysN()
         */
        virtual IList* GetValuesN(void) const;
@@ -319,10 +304,9 @@ public:
         * @return              An error code
         * @param[in]   key                                     The key to remove
         * @exception   E_SUCCESS                       The method is successful.
-        * @exception   E_INVALID_ARG           Either of the following conditions has occurred:
-        *                                                                      - The 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.
+        * @exception   E_INVALID_ARG           A specified input parameter is invalid, or
+        *                                                                      the comparer has failed to compare keys.
+        * @exception   E_OBJ_NOT_FOUND         The specified @c key is not found in the map.
         * @see                 Add()
         */
        virtual result Remove(const Object& key);
@@ -333,41 +317,39 @@ public:
         * @since 2.0
         *
         * @return              An error code
-        * @param[in]   key                                     The key whose mapping is removed from the map
-        * @param[in]   value                           The value to remove
+        * @param[in]   key             The key whose mapping is to remove from the map
+        * @param[in]   value   The value to remove
         * @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 @c value pair has not been found in the map.
+        * @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 and @c value pair is not found in the map.
         * @remarks             The specified key is also removed if there are no more values associated with it.
         * @see                 Add()
         */
        virtual result Remove(const Object& key, const Object& value);
 
        /**
-        * Removes all the object pointers in the collection. @n
+        * Removes all the object pointers in the @c collection. @n
         *
         * @since 2.0
         *
-        * @remarks             This method can be called before deleting the collection.
+        * @remarks             This method can be called before deleting @c collection.
         */
        virtual void RemoveAll(void);
 
        /**
-        * Sets the value associated with the given key to a new value.
+        * Sets the value associated with the given key with a new value.
         *
         * @since 2.0
         *
         * @return              An error code
-        * @param[in]   key                                     The key for which the associated value is replaced
-        * @param[in]   value                           The value to replace
-        * @param[in]   pNewValue                       A pointer to the new value that replaces the existing value
+        * @param[in]   key                     The key for which the associated value needs to replace
+        * @param[in]   value           The value to replace
+        * @param[in]   pNewValue       The pointer to new value to replace the existing value
         * @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 @c value pair has not been found in the map.
+        * @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 and @c value pair is not found in the map.
         * @remarks             To add a new key-value pair, use the Add() method.
         * @see                 Add()
         * @see                 GetValuesN()
@@ -384,34 +366,32 @@ public:
        virtual int GetCount(void) const;
 
        /**
-        * Gets the number of values whose key matches the given key.
+        * Gets the number of values whose key matches the key.
         *
         * @since 2.0
         *
         * @return              An error code
-        * @param[in]   key                             A key to locate
-        * @param[out]  count                           The number of values whose key matches the given key
+        * @param[in]   key     A key to locate
+        * @param[out]  count   The number of values whose key is the @c key
         * @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.
+        * @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.
         */
        virtual result GetCount(const Object& key, int& count) const;
 
        /**
-        * Checks whether the map contains the specified key and value pair.
+        * Checks whether the map contains the specified key and value.
         *
         * @since 2.0
         *
         * @return              @c true if the map contains the specified key and 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   Either of the following conditions has occurred:
-        *                                                              - A specified input parameter is invalid.
-        *                                                              - The comparer has failed to compare the keys.
+        * @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                 ContainsValue()
@@ -427,9 +407,8 @@ public:
         *                              else @c false
         * @param[in]   key                     The key to locate
         * @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_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()
@@ -458,8 +437,8 @@ public:
         * @return              @c true if the two instances are equal, @n
         *                              @c false
         * @param[in]   obj The object to compare with the current instance
-        * @remarks             This method returns @c true only if the specified object is also an instance of the %MultiHashMap class,
-        *                              both the maps have the same number of elements, and both the maps contain the same elements.
+        * @remarks             This method returns @c true only if the specified object is also an instance of %MultiHashMap class,
+        *                              both maps have the same number of elements, and both maps contain the same elements.
         */
        virtual bool Equals(const Object& obj) const;
 
@@ -469,8 +448,8 @@ public:
         * @since 2.0
         *
         * @return      The hash value of the current instance
-        * @remarks     The two Tizen::Base::Object::Equals() instances must return the same hash value. @n
-        *                      For better performance, the used hash function must generate a random distribution for all the inputs.
+        * @remarks     The two Tizen::Base::Object::Equals() instances must return the same hash value. For better performance, @n
+        *                      the used hash function must generate a random distribution for all inputs.
         */
        virtual int GetHashCode(void) const;
 
index 2e73c31..037a2bb 100644 (file)
@@ -45,13 +45,13 @@ template< class ValueType > class __ValueNodeT;
 
 /**
  * @class MultiHashMapT
- * @brief This class represents a template-based collection of associated keys and values that are organized based on the hash code of a key.
+ * @brief This class represents a template-based collection of associated keys and values that are organized based on the hash code of the key.
  *
  * @since 2.0
  *
- * The %MultiHashMapT class represents a template-based collection of associated keys and values that are organized based on the hash code of a key.
- * 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 @c null. Several methods in the %MultiHashMapT class need an assignment(=) operator of KeyType, as well as assignment(=) and equivalent(==) operators of ValueType.
+ * The %MultiHashMapT class represents a template-based collection of associated keys and values that are organized based on the hash code of the key.
+ * There is no limit on the number of elements with the same key, but duplicated elements with the same key are not allowed.
+ * The key and value cannot be null. Several methods in the %MultiHashMapT class need an assignment(=) operator of KeyType, and assignment(=) and equivalent(==) operators of ValueType.
  * @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>.
  *
@@ -160,12 +160,11 @@ public:
         * @since 2.0
         *
         * @return              An error code
-        * @param[in]   capacity                        The initial capacity
-        * @param[in]   loadFactor                      The maximum ratio of elements to buckets
-        * @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 specified @c capacity or the specified @c loadFactor is negative.
+        * @param[in]   capacity        The initial capacity
+        * @param[in]   loadFactor      The maximum ratio of elements to buckets
+        * @exception   E_SUCCESS               The method is successful.
+        * @exception   E_INVALID_ARG   A specified input parameter is invalid, or
+        *                                                              the specified @c capacity or the @c loadFactor is negative.
         * @remarks             The key type must be a primitive data type.
         * @see                 MultiHashMapT()
         */
@@ -234,16 +233,14 @@ CATCH:
         * @since 2.0
         *
         * @return              An error code
-        * @param[in]   map                                     The map to copy
-        * @param[in]   loadFactor                      The maximum ratio of elements to buckets @n
-        *                                                                      If it is @c 0, the default load factor(0.75) is used.
+        * @param[in]   map                     A map to copy
+        * @param[in]   loadFactor      The maximum ratio of elements to buckets @n
+        *                                                      If it is @c 0, the default load factor(0.75) is used.
         * @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 specified @c loadFactor is negative.
-        * @exception   E_INVALID_OPERATION     Either of the following conditions has occurred:
-        *                                                                      - The current state of the instance prohibits the execution of the specified operation.
-        *                                                                      - The specified @c map is modified during the operation of this method.
+        * @exception   E_INVALID_ARG           A specified input parameter is invalid, or
+        *                                                                      the specified @c loadFactor is negative.
+        * @exception   E_INVALID_OPERATION     The current state of the instance prohibits the execution of the specified operation, or
+        *                                                                      the @c map is modified during the operation of this method.
         * @see                 MultiHashMapT()
         */
        result Construct(const IMultiMapT< KeyType, ValueType >& map, float loadFactor = 0.75)
@@ -289,18 +286,17 @@ CATCH:
         * @since 2.0
         *
         * @return              An error code
-        * @param[in]   capacity                The initial capacity @n
-        *                                                              If it is @c 0, the default capacity(16) is used.
-        * @param[in]   loadFactor              The maximum ratio of elements to buckets @n
-        *                                                              If it is @c 0, the default load factor(0.75) is used.
-        * @param[in]   provider                An instance of the IHashCodeProvider derived class that supplies the hash codes
-        *                                                              for all the keys in this map
-        * @param[in]   comparer                An instance of the IComparer derived class to use when comparing the keys
+        * @param[in]   capacity        The initial capacity @n
+        *                                                      If it is @c 0, the default capacity(16) is used.
+        * @param[in]   loadFactor      The maximum ratio of elements to buckets @n
+        *                                                      If it is @c 0, the default load factor(0.75) is used.
+        * @param[in]   provider        An instance of the IHashCodeProvider derived class that supplies the hash codes
+        *                                                      for all keys in this map
+        * @param[in]   comparer                An instance of the IComparer derived class to use when comparing keys
         * @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 specified @c capacity or the specified @c loadFactor is negative.
-        * @remarks             The instances of hash code provider and the comparer are not deallocated later from this map.
+        * @exception   E_INVALID_ARG   A specified input parameter is invalid, or
+        *                                                              the specified @c capacity or the @c loadFactor is negative.
+        * @remarks             The instances of hash code provider and comparer will not be deallocated later from this map.
         * @see                 MultiHashMapT()
         */
        result Construct(int capacity, float loadFactor, const IHashCodeProviderT< KeyType >& provider,
@@ -365,20 +361,18 @@ CATCH:
         * @since 2.0
         *
         * @return              An error code
-        * @param[in]   map                                     The map to copy
-        * @param[in]   loadFactor                      The maximum ratio of elements to buckets @n
-        *                                                                      If it is @c 0, the default load factor(0.75) is used.
-        * @param[in]   provider                        An instance of the IHashCodeProvider derived class that supplies the hash codes
-        *                                                                      for all the keys in this map
-        * @param[in]   comparer                        An instance of the IComparer derived class to use when comparing the keys
+        * @param[in]   map                     A map to copy
+        * @param[in]   loadFactor      The maximum ratio of elements to buckets @n
+        *                                                      If it is @c 0, the default load factor(0.75) is used.
+        * @param[in]   provider        An instance of the IHashCodeProvider derived class that supplies the hash codes
+        *                                                      for all keys in this map
+        * @param[in]   comparer        An instance of the IComparer derived class to use when comparing keys
         * @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 specified @c loadFactor is negative.
-        * @exception   E_INVALID_OPERATION     Either of the following conditions has occurred:
-        *                                                                      - The current state of the instance prohibits the execution of the specified operation.
-        *                                                                      - The specified @c map is modified during the operation of this method.
-        * @remarks             The instances of the hash code provider and the comparer are not deallocated later from this map.
+        * @exception   E_INVALID_ARG           A specified input parameter is invalid, or
+        *                                                                      the specified @c loadFactor is negative.
+        * @exception   E_INVALID_OPERATION     The current state of the instance prohibits the execution of the specified operation, or
+        *                                                                      the @c map is modified during the operation of this method.
+        * @remarks             The instances of hash code provider and comparer will not be deallocated later from this map.
         * @see                 MultiHashMapT()
         */
        result Construct(const IMultiMapT< KeyType, ValueType >& map, float loadFactor, const IHashCodeProviderT< KeyType >& provider,
@@ -421,15 +415,14 @@ CATCH:
         * @since 2.0
         *
         * @return              An error code
-        * @param[in]   key                                     The key of the value to add
-        * @param[in]   value                           The value to add
+        * @param[in]   key             A key of the value to add
+        * @param[in]   value   A value to add
         * @exception   E_SUCCESS                       The method is successful.
-        * @exception   E_OBJ_ALREADY_EXIST     The specified @c key and @c value pair already exists.
-        * @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     SetItem() can be used to set a value to a key that does not already exist. @n
-        *                              However, setting a value to a key that already exists overwrites this value.
+        * @exception   E_OBJ_ALREADY_EXIST     The specified pair of @c key and @c value already exists.
+        * @exception   E_INVALID_ARG           A specified input parameter is invalid, or
+        *                                                                      the comparer has failed to compare the keys.
+        * @remarks             SetItem() can be used to set value to a key that does not already exist.
+        *                              However, setting a value to a key that already exists overwrites the value.
         * @see                 Remove()
         * @see                 SetValue()
         */
@@ -504,18 +497,16 @@ CATCH:
        }
 
        /**
-        * Gets the enumerator of this map.
+        * Gets an enumerator of this map.
         *
         * @since 2.0
         *
-        * @return              The enumerator (an instance of the IMapEnumeratorT derived class) of this map, @n
+        * @return              An enumerator (an instance of the %IMapEnumeratorT derived class) of this map, @n
         *                              else @c null if an exception occurs
         * @exception   E_SUCCESS               The method is successful.
         * @exception   E_OUT_OF_MEMORY The memory is insufficient.
-        * @remarks
-        *                              - If the key has multiple values, the enumeration proceeds as follows: @n
-        *                              {A: a}, {B: b}, {B: c}, {B, d}, {C: e}, ...
-        *                              - The specific error code can be accessed using the GetLastResult() method.
+        * @remarks             If the key has multiple values, the Enumeration proceeds as follows: {A: a}, {B: b}, {B: c}, {B, d}, {C: e}, ...
+        *              The specific error code can be accessed using the GetLastResult() method.
         * @see                 Tizen::Base::Collection::IEnumerator
         * @see                 Tizen::Base::Collection::IMapEnumerator
         */
@@ -535,18 +526,16 @@ CATCH:
        }
 
        /**
-        * Gets the IMapEnumerator of this map.
+        * Gets an IMapEnumerator of this map.
         *
         * @since 2.0
         *
-        * @return              The enumerator (an instance of the IMapEnumeratorT derived class) of this map, @n
+        * @return              An enumerator (an instance of the %IMapEnumeratorT derived class) of this map, @n
         *                              else @c null if an exception occurs
-        * @exception   E_SUCCESS                               The method is successful.
-        * @exception   E_OUT_OF_MEMORY                 The memory is insufficient.
-        * @remarks
-        *                              - If the key has multiple values, the enumeration proceeds like this: @n
-        *                              {A: a}, {B: b}, {B: c}, {B, d}, {C: e}, ...
-        *                              - The specific error code can be accessed using the GetLastResult() method.
+        * @exception   E_SUCCESS               The method is successful.
+        * @exception   E_OUT_OF_MEMORY The memory is insufficient.
+        * @remarks             If the key has multiple values, the Enumeration proceeds like this: {A: a}, {B: b}, {B: c}, {B, d}, {C: e}, ...
+        * @remarks             The specific error code can be accessed using the GetLastResult() method.
         * @see                 Tizen::Base::Collection::IEnumerator
         * @see                 Tizen::Base::Collection::IMapEnumerator
         */
@@ -556,18 +545,17 @@ CATCH:
        }
 
        /**
-        * Gets the enumerator of the values associated with the specified key.
+        * Gets an enumerator of the values associated with the specified key.
         *
         * @since 2.0
         *
-        * @return              The enumerator (an instance of the IEnumeratorT derived class) of the values associated with the specified key, @n
+        * @return              An enumerator (an instance of the IEnumeratorT derived class) of the values associated with the specified key, @n
         *                              else @c null if an exception occurs
-        * @param[in]   key                                     The key to locate
+        * @param[in]   key                                     A key to locate
         * @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.
+        * @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             The specific error code can be accessed using the GetLastResult() method.
         * @see                 SetValue()
         */
@@ -608,11 +596,11 @@ CATCH:
        }
 
        /**
-        * Gets a list of all the unique keys in this map.
+        * Gets a list of all unique keys in this map.
         *
         * @since 2.0
         *
-        * @return              The list of all the unique keys in this map, @n
+        * @return              A list of all unique keys in this map, @n
         *                              else @c null if an exception occurs
         * @exception   E_SUCCESS               The method is successful.
         * @exception   E_OUT_OF_MEMORY The memory is insufficient.
@@ -654,7 +642,7 @@ CATCH:
         *
         * @since 2.0
         *
-        * @return              The list of all the values in this map, @n
+        * @return              A list of all the values in this map, @n
         *                              else @c null if an exception occurs
         * @exception   E_SUCCESS               The method is successful.
         * @exception   E_OUT_OF_MEMORY The memory is insufficient.
@@ -700,10 +688,9 @@ CATCH:
         * @return              An error code
         * @param[in]   key                             The key to remove
         * @exception   E_SUCCESS                       The method is successful.
-        * @exception   E_INVALID_ARG           Either of the following conditions has occurred:
-        *                                                                      - The 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.
+        * @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.
         * @see                 Add()
         */
        virtual result Remove(const KeyType& key)
@@ -761,12 +748,11 @@ CATCH:
         * @since 2.0
         *
         * @return              An error code
-        * @param[in]   key                             The key whose mapping is removed from the map
-        * @param[in]   value                           The value to remove
+        * @param[in]   key     The key whose mapping is to remove from the map
+        * @param[in]   value   The value to remove
         * @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_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 and @c value pair is not found in the map.
         * @see                 Add()
         */
@@ -838,7 +824,7 @@ CATCH:
        }
 
        /**
-        * Removes all the key-value pairs in this map.
+        * Removes all key-value pairs in this map.
         *
         * @since 2.0
         */
@@ -853,20 +839,20 @@ CATCH:
        }
 
        /**
-        * Replaces the value associated with the key, with the specified @c newValue.
+        * Replaces the value associated with the key with the specified @c newValue.
         *
         * @since 2.0
         *
         * @return              An error code
-        * @param[in]   key                                     The key
-        * @param[in]   value                           The value to replace
-        * @param[in]   newValue                        The new value to replace the existing value
+        * @param[in]   key                     A key
+        * @param[in]   value           A value to replace
+        * @param[in]   newValue        A new value to replace the existing value
         * @exception   E_SUCCESS                       The method is successful.
-        * @exception   E_INVALID_ARG           Either of the following conditions has occurred:
-        *                                                                      - The specified input parameter is invalid.
-        *                                                                      - The comparer has failed to compare the keys.
+        * @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 and @c value pair is not found in the map.
         * @remarks             To add a new key-value pair, use the Add() method.
+        * @see                 Add()
         * @see                 GetValuesN()
         */
        virtual result SetValue(const KeyType& key, const ValueType& value, const ValueType& newValue)
@@ -939,12 +925,11 @@ CATCH:
         * @since 2.0
         *
         * @return              An error code
-        * @param[in]   key                                     The key to locate
-        * @param[out]  count                           The number of values whose key is @c key
+        * @param[in]   key             A key to locate
+        * @param[out]  count   The number of values whose key is @c key
         * @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_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.
         */
        virtual result GetCount(const KeyType& key, int& count) const
@@ -986,14 +971,13 @@ CATCH:
         * @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 and 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 and value pair, @n
+        *                                              else @c false
         * @exception   E_SUCCESS                       The method is successful.
-        * @exception   E_INVALID_ARG           Either of the following conditions has occurred:
-        *                                                                      - The current state of the instance prohibits the execution of the specified operation.
-        *                                                                      - The comparer has failed to compare the keys.
+        * @exception   E_INVALID_ARG           The current state of the instance prohibits the execution of the specified operation, or
+        *                                                                      the comparer has failed to compare the keys.
         * @see                 ContainsKey()
         * @see                 ContainsValue()
         */
@@ -1043,13 +1027,12 @@ CATCH:
         * @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           Either of the following conditions has occurred:
-        *                                                                      - A specified input parameter is invalid.
-        *                                                                      - The comparer has failed to compare the keys.
+        * @exception   E_INVALID_ARG           A specified input parameter is invalid, or
+        *                                                                      the comparer has failed to compare the keys.
         * @see                 ContainsValue()
         * @see                 Contains()
         */
@@ -1131,7 +1114,7 @@ CATCH:
         *                              else @c false
         * @param[in]   obj The object to compare with the current instance
         * @remarks             This method returns @c true only if the specified object is also an instance of the %MultiHashMapT class,
-        *                              both the maps have the same number of elements, and both the maps contain the same elements.
+        *                              both maps have the same number of elements, and both maps contain the same elements.
         */
        virtual bool Equals(const Object& obj) const
        {
@@ -1182,8 +1165,8 @@ CATCH:
         * @since 2.0
         *
         * @return      The hash value of the current instance
-        * @remarks     The two Tizen::Base::Object::Equals() instances must return the same hash value. @n
-        *                      For better performance, the used hash function must generate a random distribution for all the inputs.
+        * @remarks     The two Tizen::Base::Object::Equals() instances must return the same hash value. For better performance, @n
+        *                      the used hash function must generate a random distribution for all inputs.
         */
        virtual int GetHashCode(void) const
        {
@@ -1392,7 +1375,7 @@ public:
         *
         * @since 2.0
         *
-        * @param[in]   v       The object to include in this node
+        * @param[in]   v       An object to include in this node
         */
        __ValueNodeT(const ValueType& v)
                : pNext(null)
@@ -1440,11 +1423,11 @@ public:
         *
         * @since 2.0
         *
-        * @param[in]   keyType         The key to include in this entry
-        * @param[in]   list            The list of values whose key is specified @n
+        * @param[in]   keyType         A key to include in this entry
+        * @param[in]   list            A list of values whose key is specified @n
         *                                                      It cannot be @c null.
         * @param[in]   next            A pointer to the next entry
-        * @param[in]   h                       The hash value of the key
+        * @param[in]   h                       An hash value of the key
         */
        __MultiHashMapEntryT(const KeyType& keyType, __ValueNodeT< ValueType >* list, __MultiHashMapEntryT< KeyType, ValueType >* next, int h)
                : key(keyType)
@@ -1519,7 +1502,7 @@ public:
         *
         * @since 2.0
         *
-        * @param[in]   map                     The map to enumerate
+        * @param[in]   map                     A map to enumerate
         * @param[in]   modCount        The modification count to detect the change in the map
         */
        __MultiHashMapEnumeratorT(const MultiHashMapT< KeyType, ValueType >& map, int modCount)
@@ -1547,10 +1530,10 @@ public:
         *
         * @return              An error code
         * @param[out]  obj                                             The current object
-        * @exception   E_INVALID_OPERATION             Either of the following conditions has occurred:
+        * @exception   E_INVALID_OPERATION             Either of the following conditions has occurred: @n
         *                                                                              - The current state of the instance prohibits the execution of the specified operation. @n
         *                                                                              - This enumerator is currently positioned before the first element or
-        *                                                                              past the last element.
+        *                                                                              past the last element. @n
         *                                                                              - The map is modified after this enumerator is created.
         * @exception   E_SUCCESS                               The method is successful.
         */
@@ -1568,15 +1551,14 @@ public:
        /**
         * Moves this enumerator to the next element of the map. @n
         * After the enumerator is first created or reset using the Reset() method,
-        * the first call to this method positions the enumerator to the first element in the collection.
+        * the first call to this method positions the enumerator to the first element in the @c collection.
         *
         * @since 2.0
         *
         * @return              An error code
         * @exception   E_SUCCESS                       The method is successful.
-        * @exception   E_INVALID_OPERATION     Either of the following conditions has occurred:
-        *                                                                      - The current state of the instance prohibits the execution of the specified operation.
-        *                                                                      - The map is modified after this enumerator is created.
+        * @exception   E_INVALID_OPERATION     The current state of the instance prohibits the execution of the specified operation, or
+        *                                                                      the map is modified after this enumerator is created.
         * @exception   E_OUT_OF_RANGE          The enumerator has passed the end of the map.
         * @see                 Reset()
         */
@@ -1624,9 +1606,8 @@ public:
         *
         * @return              An error code
         * @exception   E_SUCCESS                       The method is successful.
-        * @exception   E_INVALID_OPERATION     Either of the following conditions has occurred:
-        *                                                                      - The current state of the instance prohibits the execution of the specified operation.
-        *                                                                      - The map is modified after this enumerator is created.
+        * @exception   E_INVALID_OPERATION     The current state of the instance prohibits the execution of the specified operation, or
+        *                                                                      the map is modified after this enumerator is created.
         */
        result Reset(void)
        {
@@ -1646,11 +1627,11 @@ public:
         *
         * @return              An error code
         * @param[out]  key                                             The current key
-        * @exception   E_INVALID_OPERATION             Either of the following conditions has occurred:
+        * @exception   E_INVALID_OPERATION             Either of the following conditions has occurred: @n
         *                                                                              - The current state of the instance prohibits the execution of the specified operation. @n
         *                                                                              - This enumerator is currently positioned before the first element or
-        *                                                                                past the last element. @n
-        *                                                                              - The map is modified after this enumerator is created.
+        *                                                                              past the last element. @n
+        *                                                                              -  The map is modified after this enumerator is created.
         * @exception   E_SUCCESS                               The method is successful.
         */
        result GetKey(KeyType& key) const
@@ -1671,10 +1652,10 @@ public:
         *
         * @return              An error code
         * @param[out]  value                                   The current value
-        * @exception   E_INVALID_OPERATION             Either of the following conditions has occurred:
+        * @exception   E_INVALID_OPERATION             Either of the following conditions has occurred: @n
         *                                                                              - The current state of the instance prohibits the execution of the specified operation. @n
         *                                                                              - This enumerator is currently positioned before the first element or
-        *                                                                                past the last element. @n
+        *                                                                              past the last element. @n
         *                                                                              - The map is modified after the enumerator is created.
         * @exception   E_SUCCESS                               The method is successful.
         */
@@ -1714,7 +1695,7 @@ public:
         *
         * @since 2.0
         *
-        * @param[in]   entry           The entry to enumerate
+        * @param[in]   entry           An entry to enumerate
         * @param[in]   modCount        The modification count to detect the change in the entry
         */
        __EntryValueEnumeratorT(const __MultiHashMapEntryT< KeyType, ValueType >& entry, int modCount)
@@ -1741,10 +1722,10 @@ public:
         *
         * @return              An error code
         * @param[out]  obj                                     The current value
-        * @exception   E_INVALID_OPERATION     Either of the following conditions has occurred:
+        * @exception   E_INVALID_OPERATION     Either of the following conditions has occurred: @n
         *                                                                      - The current state of the instance prohibits the execution of the specified operation. @n
         *                                                                      - This enumerator is currently positioned before the first element or
-        *                                                                      past the last element.
+        *                                                                      past the last element. @n
         *                                                                      - The entry is modified after this enumerator is created.
         * @exception   E_SUCCESS                       The method is successful.
         */
@@ -1767,9 +1748,8 @@ public:
         *
         * @return              An error code
         * @exception   E_SUCCESS                       The method is successful.
-        * @exception   E_INVALID_OPERATION     Either of the following conditions has occurred:
-        *                                                                      - The current state of the instance prohibits the execution of the specified operation.
-        *                                                                      - The entry is modified after this enumerator is created.
+        * @exception   E_INVALID_OPERATION     The current state of the instance prohibits the execution of the specified operation, or
+        *                                                                      the entry is modified after this enumerator is created.
         * @exception   E_OUT_OF_RANGE          The enumerator has passed the end of the entry.
         * @see                 Reset()
         */
@@ -1804,9 +1784,8 @@ public:
         *
         * @return              An error code
         * @exception   E_SUCCESS                       The method is successful.
-        * @exception   E_INVALID_OPERATION     Either of the following conditions has occurred:
-        *                                                                      - The current state of the instance prohibits the execution of the specified operation.
-        *                                                                      - The entry is modified after this enumerator is created.
+        * @exception   E_INVALID_OPERATION     The current state of the instance prohibits the execution of the specified operation, or
+        *                                                                      the entry is modified after this enumerator is created.
         */
        result Reset(void)
        {
index 1118e39..eabc784 100644 (file)
@@ -42,8 +42,8 @@ namespace Tizen { namespace Base { namespace Collection
  *
  * @since      2.1
  *
- * @remarks The %PairIteratorT class satisfies only requirements of the C++ standard library InputIterator concept due to the limitations of the %Tizen Collection. @n
- *                     This class can be used with the C++ standard library algorithms which require only the InputIterator concept for their arguments.
+ * @remarks    The %PairIteratorT class satisfies requirements of C++ standard library ForwardIterator which is not mutable.
+ *                     It does not satisfy the requirements of an OutputIterator which can be dereferenced as an lvalue.
  *
  * The %PairIteratorT class provides an iterator that is used to convert IMap or IMultiMap to STL containers.
  * StlConverter provides static methods to get this iterator from IMap or IMultiMap.
@@ -51,16 +51,37 @@ namespace Tizen { namespace Base { namespace Collection
 
 template< typename K, typename V >
 class PairIteratorT
-       : public std::iterator< std::input_iterator_tag, std::pair< K, V > >
+       : public std::iterator< std::forward_iterator_tag, std::pair< K, V > >
 {
 public:
+       typedef std::forward_iterator_tag iterator_category;
+       typedef typename std::iterator_traits< PairIteratorT< K, V > >::value_type value_type;
+       typedef typename std::iterator_traits< PairIteratorT< K, V > >::difference_type difference_type;
+       typedef typename std::iterator_traits< PairIteratorT< K, V > >::pointer pointer;
+       typedef typename std::iterator_traits< PairIteratorT< K, V > >::reference reference;
+
+       /**
+        * This is the default constructor for this class.
+        *
+        * @since               3.0
+        */
+       PairIteratorT(void)
+               : __pMap(null)
+               , __pMultiMap(null)
+               , __isPostEnd(false)
+               , __index(0)
+               , __pEnum(null)
+               , __currentObj(null)
+       {
+       }
+
        /**
-        * Initializes this instance of the %PairIteratorT class.
+        * Initializes this instance of %PairIteratorT class.
         *
         * @since               2.1
         *
         * @param[in]   map                     A reference to the IMap instance to convert
-        * @param[in]   isPostEnd       The boolean value to check the end of the @c map
+        * @param[in]   isPostEnd       A boolean value to check the end
         */
        explicit PairIteratorT(const IMap& map, bool isPostEnd = false)
                : __pMap(&map)
@@ -91,12 +112,12 @@ public:
        }
 
        /**
-        * Initializes this instance of the %PairIteratorT class.
+        * Initializes this instance of %PairIteratorT class.
         *
         * @since               2.1
         *
         * @param[in]   multiMap        A reference to the IMultiMap instance to convert
-        * @param[in]   isPostEnd       The boolean value to check the end of the @c multiMap
+        * @param[in]   isPostEnd       A boolean value to check the end
         */
        PairIteratorT(const IMultiMap& multiMap, bool isPostEnd = false)
                : __pMap(null)
@@ -134,9 +155,8 @@ public:
         * @param[in]   rhs                                     A reference to the %PairIteratorT instance
         * @exception   E_SUCCESS                       The method is successful.
         * @exception   E_INVALID_ARG           Both @c __pMap and @c __pMultiMap are @c null.
-        * @exception   E_INVALID_OPERATION     Either of the following conditions has occurred:
-        *                                                                      - The current state of the instance prohibits the execution of the specified operation.
-        *                                                                      - The collection is modified after the enumerator is created.
+        * @exception   E_INVALID_OPERATION     The current state of the instance prohibits the execution of the specified operation, or
+        *                                                                      the collection is modified after the enumerator is created.
         * @remarks             The specific error code can be accessed using GetLastResult() method.
         */
        PairIteratorT(const PairIteratorT< K, V >& rhs)
@@ -167,7 +187,7 @@ public:
        }
 
        /**
-        * This is the assignment operator of the %PairIteratorT class.
+        * This is assignment operator of the %PairIteratorT class.
         *
         * @since               2.1
         *
@@ -175,9 +195,8 @@ public:
         * @param[in]   rhs                                     A reference to the %PairIteratorT instance on the right-hand side of the operator
         * @exception   E_SUCCESS                       The method is successful.
         * @exception   E_INVALID_ARG           Both @c __pMap and @c __pMultiMap are @c null.
-        * @exception   E_INVALID_OPERATION     Either of the following conditions has occurred:
-        *                                                                      - The current state of the instance prohibits the execution of the specified operation.
-        *                                                                      - The collection is modified after the enumerator is created.
+        * @exception   E_INVALID_OPERATION     The current state of the instance prohibits the execution of the specified operation, or
+        *                                                                      the collection is modified after the enumerator is created.
         * @remarks             The specific error code can be accessed using GetLastResult() method.
         */
        PairIteratorT< K, V >& operator =(const PairIteratorT< K, V >& rhs)
@@ -192,22 +211,22 @@ public:
         *
         * @since               2.1
         *
-        * @return              A std::pair type reference with K and V types
+        * @return              A std::pair type reference with K and V type
         */
-       std::pair< K, V >& operator *(void) const
+       reference operator *(void) const
        {
                AppAssertf(!__isPostEnd, "It is out of range.");
                return const_cast< std::pair< K, V >& >(__currentObj);
        }
 
        /**
-        * This is the constant version structure dereference operator for the %PairIteratorT class.
+        * This is the structure dereference operator for the %PairIteratorT class.
         *
         * @since               2.1
         *
         * @return              A std::pair type pointer equivalent to the pointer address
         */
-       std::pair< K, V >* operator ->(void) const
+       pointer operator ->(void) const
        {
                return &(operator *());
        }
@@ -220,9 +239,8 @@ public:
         * @return              A reference to the %PairIteratorT instance
         * @exception   E_SUCCESS                       The method is successful.
         * @exception   E_OUT_OF_RANGE          The enumerator has passed the end of the collection.
-        * @exception   E_INVALID_OPERATION     Either of the following conditions has occurred:
-        *                                                                      - The current state of the instance prohibits the execution of the specified operation.
-        *                                                                      - The collection is modified after the enumerator is created.
+        * @exception   E_INVALID_OPERATION     The current state of the instance prohibits the execution of the specified operation, or
+        *                                                                      the collection is modified after the enumerator is created.
         * @remarks             The specific error code can be accessed using GetLastResult() method.
         */
        PairIteratorT< K, V >& operator ++(void)
@@ -251,9 +269,8 @@ CATCH:
         * @return              A %PairIteratorT instance
         * @exception   E_SUCCESS                       The method is successful.
         * @exception   E_OUT_OF_RANGE          The enumerator has passed the end of the collection.
-        * @exception   E_INVALID_OPERATION     Either of the following conditions has occurred:
-        *                                                                      - The current state of the instance prohibits the execution of the specified operation.
-        *                                                                      - The collection is modified after the enumerator is created.
+        * @exception   E_INVALID_OPERATION     The current state of the instance prohibits the execution of the specified operation, or
+        *                                                                      the collection is modified after the enumerator is created.
         * @remarks             The specific error code can be accessed using GetLastResult() method.
         */
        PairIteratorT< K, V > operator ++(int)
@@ -338,9 +355,9 @@ private:
        const IMap* __pMap;
        const IMultiMap* __pMultiMap;
        bool __isPostEnd;
-       int __index;
+       difference_type __index;
        std::unique_ptr< IMapEnumerator > __pEnum;
-       std::pair< K, V > __currentObj;
+       value_type __currentObj;
 };  // PairIteratorT
 
 }}} // Tizen::Base::Collection
index cafe6d1..83f353a 100644 (file)
@@ -100,11 +100,10 @@ public:
         * @param[in]   capacity                        The number of elements in the queue @n
         *                                                                      The default capacity is @c 10.
         * @exception   E_SUCCESS                       The method is successful.
-        * @exception   E_INVALID_ARG           Either of the following conditions has occurred:
-        *                                                                      - The specified input parameter is invalid.
-        *                                                                      - The specified @c capacity is negative.
-        * @remarks     If the number of elements added to the queue reaches the current capacity,
-        *                              the capacity is automatically increased by memory reallocation. @n
+        * @exception   E_INVALID_ARG           The specified input parameter is invalid, or
+        *                                                                      the specified @c capacity is negative.
+        * @remarks             If the number of elements added to the queue reaches the current capacity,
+        *                              the capacity is automatically increased by memory reallocation.
         *                              Therefore, if the size of the queue can be estimated,
         *                              specifying the initial capacity eliminates the need to perform a number of
         *                              resizing operations while adding elements to the queue.
@@ -121,10 +120,9 @@ public:
         * @return              An error code
         * @param[in]   collection                      The collection to copy elements from
         * @exception   E_SUCCESS                       The method is successful.
-        * @exception   E_INVALID_OPERATION     Either of the following conditions has occurred:
-        *                                                                      - The current state of the instance prohibits the execution of the specified operation.
-        *                                                                      - The @c collection is modified during the operation of this method.
-        * @remarks             This method performs a shallow copy. It copies just the pointer and not the element itself.
+        * @exception   E_INVALID_OPERATION     The current state of the instance prohibits the execution of the specified operation, or
+        *                                                                      the @c collection is modified during the operation of this method.
+        * @remarks             This method performs a shallow copy. It copies just the pointer; not the element itself.
         * @see                 Queue()
         */
        result Construct(const ICollection& collection);
@@ -137,9 +135,8 @@ public:
         * @return              The element at the beginning of this queue, @n
         *                              else @c null if this queue is empty
         * @exception   E_SUCCESS       The method is successful.
-        * @exception   E_UNDERFLOW     Either of the following conditions has occurred:
-        *                                                      - The operation (arithmetic/casting/conversion) has caused an underflow.
-        *                                                      - The queue is empty.
+        * @exception   E_UNDERFLOW     The operation (arithmetic/casting/conversion) has caused an underflow, or
+        *                                                      this queue is empty.
         * @remarks             The specific error code can be accessed using the GetLastResult() method.
         * @see                 Enqueue(Object*)
         */
@@ -150,7 +147,7 @@ public:
         * Inserts an object at the end of this queue.
         *
         * @brief               <i> [Deprecated] </i>
-        * @deprecated  This method is deprecated because it has a problem of constant reference argument.
+        * @deprecated  This method is deprecated because it has a problem of const reference argument.
         *                              Instead of using this method, use Enqueue(Object* pObj).
         * @since 2.0
         *
@@ -158,7 +155,7 @@ public:
         * @param[in]   obj                             The object to add to this queue
         * @exception   E_SUCCESS               The method is successful.
         * @exception   E_OUT_OF_MEMORY The memory is insufficient.
-        * @remarks             This method performs a shallow copy. It inserts just the pointer and not the element itself.
+        * @remarks             This method performs a shallow copy. It inserts just the pointer; not the element itself.
         * @see                 Dequeue()
         * @endif
         */
@@ -173,42 +170,42 @@ public:
         * @since 2.0
         *
         * @return              An error code
-        * @param[in]   pObj                            A pointer to the object to add to this queue
+        * @param[in]   pObj                            The pointer to object to add to this queue
         * @exception   E_SUCCESS                       The method is successful.
         * @exception   E_INVALID_ARG           The specified input parameter is invalid.
-        * @remarks             This method performs a shallow copy. It inserts just the pointer and not the element itself.
+        * @remarks             This method performs a shallow copy. It inserts just the pointer; not the element itself.
         * @see                 Dequeue()
         */
        virtual result Enqueue(Object* pObj);
 
        /**
-        * Gets the enumerator of this queue.
+        * Gets an enumerator of this queue.
         *
         * @since 2.0
         *
-        * @return              The enumerator (an instance of the IEnumerator derived class) of this queue, @n
+        * @return              An enumerator (an instance of the IEnumerator derived class) of this queue, @n
         *                              else @c null if an exception occurs
         * @remarks             The specific error code can be accessed using the GetLastResult() method.
+        * @see                 IEnumerator
         */
        virtual IEnumerator* GetEnumeratorN(void) const;
 
        /**
-        * Gets the element at the beginning of this queue without removing it.
+        * Gets the element at the front of this queue without removing it.
         *
         * @since 2.0
         *
         * @return              The element at the beginning of this queue, @n
         *                              else @c null if this queue is empty
         * @exception   E_SUCCESS       The method is successful.
-        * @exception   E_UNDERFLOW     Either of the following conditions has occurred:
-        *                                                      - The operation (arithmetic/casting/conversion) has caused an underflow.
-        *                                                      - The queue is empty.
+        * @exception   E_UNDERFLOW     The operation (arithmetic/casting/conversion) has caused an underflow, or
+        *                                                      this queue is empty.
         * @remarks             The specific error code can be accessed using the GetLastResult() method.
         */
        virtual const Object* Peek(void) const;
 
        /**
-        * Removes all the objects and their pointers from the collection, when the @c deallocate parameter is set to @c true.
+        * Removes all objects and their pointers in collection, when the @c deallocate parameter is set to @c true.
         *
         * @since 2.0
         *
@@ -243,19 +240,18 @@ public:
         * Checks whether this queue contains all the elements in the specified collection.
         *
         * @brief               <i> [Deprecated] </i>
-        * @deprecated  This method is deprecated because it transfers the result of the comparison in an out-parameter form.
-        *                              The return type is changed to boolean and this method returns the result.
+        * @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.
         *                              Instead of using this method, use bool ContainsAll(const ICollection& collection).
         * @since 2.0
         *
         * @return              An error code
-        * @param[in]   collection                      The collection to locate
-        * @param[out]  out                             Set to @c true if this queue contains all the elements in the specified collection, @n
-        *                                                                      else @c false
+        * @param[in]   collection      The collection to locate
+        * @param[out]  out  Set to @c true if this queue contains all the elements in the specified collection, @n
+        *                                       else @c false
         * @exception   E_SUCCESS                       The method is successful.
-        * @exception   E_INVALID_OPERATION     Either of the following conditions has occurred:
-        *                                                                      - The current state of the instance prohibits the execution of the specified operation.
-        *                                                                      - The @c collection is modified during the operation of this method.
+        * @exception   E_INVALID_OPERATION     The current state of the instance prohibits the execution of the specified operation, or
+        *                                                                      the @c collection is modified during the operation of this method.
         * @endif
         */
        result ContainsAll(const ICollection& collection, bool& out) const
@@ -274,9 +270,8 @@ public:
         *                              else @c false
         * @param[in]   collection                      The collection to locate
         * @exception   E_SUCCESS                       The method is successful.
-        * @exception   E_INVALID_OPERATION     Either of the following conditions has occurred:
-        *                                                                      - The current state of the instance prohibits the execution of the specified operation.
-        *                                                                      - The @c collection is modified during the operation of this method.
+        * @exception   E_INVALID_OPERATION     The current state of the instance prohibits the execution of the specified operation, or
+        *                                                                      the @c collection is modified during the operation of this method.
         * @remarks             The specific error code can be accessed using the GetLastResult() method.
         */
        virtual bool ContainsAll(const ICollection& collection) const;
@@ -289,8 +284,8 @@ public:
         * @return              @c true if the specified instance equals the current instance, @n
         *                              else @c false
         * @param[in]   obj The object to compare with the current instance
-        * @remarks             This method returns @c true if and only if the specified object is also an instance of the %Queue class,
-        *                              both queues have the same size, and all the corresponding pairs of elements in the two queues are equal. @n
+        * @remarks             This method returns @c true if and only if the specified object is also an instance of %Queue class,
+        *                              both queues have the same size, and all corresponding pairs of elements in the two queues are equal.
         *                              In other words, two queues are equal if they contain the same elements in the same order.
         */
        virtual bool Equals(const Object& obj) const;
@@ -301,8 +296,8 @@ public:
         * @since 2.0
         *
         * @return      The hash value of the current instance
-        * @remarks     The two Tizen::Base::Object::Equals() instances must return the same hash value. @n
-        *                      For better performance, the used hash function must generate a random distribution for all the inputs.
+        * @remarks     The two Tizen::Base::Object::Equals() instances must return the same hash value. For better performance, @n
+        *                      the used hash function must generate a random distribution for all inputs.
         */
        virtual int GetHashCode(void) const;
 
index a9929a8..42bfe86 100644 (file)
@@ -35,7 +35,7 @@ template< class Type > class __QueueEnumeratorT;
 
 /**
  * @class      QueueT
- * @brief      This class represents a template-based queue (a first-in-first-out collection of objects).
+ * @brief      This represents a template-based queue (a first-in-first-out collection of objects).
  *
  * @since 2.0
  *
@@ -116,9 +116,8 @@ public:
         *                                  The default capacity is @c 10.
         * @exception   E_SUCCESS                       The method is successful.
         * @exception   E_OUT_OF_MEMORY         The memory is insufficient.
-        * @exception   E_INVALID_ARG           Either of the following conditions has occurred:
-        *                                                                      - The specified input parameter is invalid.
-        *                                                                      - The specified @c capacity is negative.
+        * @exception   E_INVALID_ARG           The specified input parameter is invalid, or
+        *                                                                      the specified @c capacity is negative.
         */
        result Construct(int capacity = DEFAULT_CAPACITY)
        {
@@ -144,9 +143,8 @@ public:
         * @param[in]   collection                      The collection to copy the elements from
         * @exception   E_SUCCESS                       The method is successful.
         * @exception   E_OUT_OF_MEMORY         The memory is insufficient.
-        * @exception   E_INVALID_OPERATION     Either of the following conditions has occurred:
-        *                                                                      - The current state of the instance prohibits the execution of the specified operation.
-        *                                                                      - The specified @c collection is modified during the operation of this method.
+        * @exception   E_INVALID_OPERATION     The current state of the instance prohibits the execution of the specified operation, or
+        *                                                                      the @c collection is modified during the operation of this method.
         * @see                 QueueT()
         */
        result Construct(const ICollectionT< Type >& collection)
@@ -204,9 +202,8 @@ CATCH:
         * @return              An error code
         * @param[out]  obj                     The element at the beginning of this queue
         * @exception   E_SUCCESS       The method is successful.
-        * @exception   E_UNDERFLOW     Either of the following conditions has occurred:
-        *                                                      - The operation (arithmetic/casting/conversion) has caused an underflow.
-        *                                                      - The queue is empty.
+        * @exception   E_UNDERFLOW     The operation (arithmetic/casting/conversion) has caused an underflow, or
+        *                                                      this queue is empty.
         * @see                 Enqueue()
         */
        virtual result Dequeue(Type& obj)
@@ -267,7 +264,7 @@ CATCH:
        }
 
        /**
-        * Removes all the elements from this queue.
+        * Removes all the elements in this queue.
         *
         * @since 2.0
         */
@@ -287,15 +284,16 @@ CATCH:
        }
 
        /**
-        * Gets the enumerator of this queue.
+        * Gets an enumerator of this queue.
         *
         * @since 2.0
         *
-        * @return              The enumerator (an instance of the IEnumeratorT derived class) of this queue, @n
+        * @return              An enumerator (an instance of the IEnumeratorT derived class) of this queue, @n
         *                              else @c null if an exception occurs
         * @exception   E_SUCCESS               The method is successful.
         * @exception   E_OUT_OF_MEMORY The memory is insufficient.
         * @remarks             The specific error code can be accessed using the GetLastResult() method.
+        * @see                 Tizen::Base::Collection::IEnumeratorT
         */
        virtual IEnumeratorT< Type >* GetEnumeratorN(void) const
        {
@@ -321,9 +319,8 @@ CATCH:
         * @return              An error code
         * @param[out]  obj                     The element at the beginning of this queue
         * @exception   E_SUCCESS       The method is successful.
-        * @exception   E_UNDERFLOW     Either of the following conditions has occurred:
-        *                                                      - The operation (arithmetic/casting/conversion) has caused an underflow.
-        *                                                      - The queue is empty.
+        * @exception   E_UNDERFLOW     The operation (arithmetic/casting/conversion) has caused an underflow, or
+        *                                                      this queue is empty.
         */
        virtual result Peek(Type& obj) const
        {
@@ -383,9 +380,8 @@ CATCH:
         * @param[out]  out                                     Set to @c true if this queue contains all of the elements in the specified collection, @n
         *                                                                      else @c false
         * @exception   E_SUCCESS                       The method is successful.
-        * @exception   E_INVALID_OPERATION     Either of the following conditions has occurred:
-        *                                                                      - The current state of the instance prohibits the execution of the specified operation.
-        *                                                                      - The specified @c collection is modified during the operation of this method.
+        * @exception   E_INVALID_OPERATION     The current state of the instance prohibits the execution of the specified operation, or
+        *                                                                      the specified @c collection is modified during the operation of this method.
         * @exception   E_OUT_OF_MEMORY         The memory is insufficient.
         */
        virtual result ContainsAll(const ICollectionT< Type >& collection, bool& out) const
@@ -441,8 +437,8 @@ CATCH:
         * @return              @c true if the specified instance equals the current instance, @n
         *                              else @c false
         * @param[in]   obj The object to compare with the current instance
-        * @remarks     This method returns @c true if and only if the specified object is also an instance of the %QueueT class,
-        *                              both queues have the same size, and all the corresponding pairs of elements in the two queues are equal. @n
+        * @remarks             This method returns @c true if and only if the specified object is also an instance of %QueueT class,
+        *                              both queues have the same size, and all corresponding pairs of elements in the two queues are equal.
         *                              In other words, two queues are equal if they contain the same elements in the same order.
         */
        virtual bool Equals(const Object& obj) const
@@ -483,8 +479,8 @@ CATCH:
         * @since 2.0
         *
         * @return      The hash value of the current instance
-        * @remarks     The two Tizen::Base::Object::Equals() instances must return the same hash value. @n
-        *                      For better performance, the used hash function must generate a random distribution for all the inputs.
+        * @remarks     The two Tizen::Base::Object::Equals() instances must return the same hash value. For better performance, @n
+        *                      the used hash function must generate a random distribution for all inputs.
         */
        virtual int GetHashCode(void) const
        {
@@ -542,7 +538,7 @@ public:
         *
         * @since 2.0
         *
-        * @param[in]   queue           The queue to enumerate
+        * @param[in]   queue           A queue to enumerate
         * @param[in]   modeCount       The modification count to detect the change in the queue
         */
        __QueueEnumeratorT(const QueueT< Type >& queue, int modeCount)
@@ -568,10 +564,10 @@ public:
         *
         * @return              An error code
         * @param[out]  obj                                     The current object
-        * @exception   E_INVALID_OPERATION             Either of the following conditions has occurred:
+        * @exception   E_INVALID_OPERATION             Either of the following conditions has occurred: @n
         *                                                                              - The current state of the instance prohibits the execution of the specified operation. @n
         *                                                                              - This enumerator is currently positioned before the first element or
-        *                                                                              past the last element.
+        *                                                                              past the last element. @n
         *                                                                              - The queue is modified after this enumerator is created.
         * @exception   E_SUCCESS                               The method is successful.
         */
@@ -596,9 +592,8 @@ public:
         *
         * @return              An error code
         * @exception   E_SUCCESS                       The method is successful.
-        * @exception   E_INVALID_OPERATION     Either of the following conditions has occurred:
-        *                                                                      - The current state of the instance prohibits the execution of the specified operation.
-        *                                                                      - The queue is modified after this enumerator is created.
+        * @exception   E_INVALID_OPERATION     The current state of the instance prohibits the execution of the specified operation, or
+        *                                                                      the queue is modified after this enumerator is created.
         * @exception   E_OUT_OF_RANGE          The enumerator has passed the end of the queue.
         * @see                 Reset()
         */
@@ -633,9 +628,8 @@ public:
         *
         * @return              An error code
         * @exception   E_SUCCESS                       The method is successful.
-        * @exception   E_INVALID_OPERATION     Either of the following conditions has occurred:
-        *                                                                      - The current state of the instance prohibits the execution of the specified operation.
-        *                                                                      - The queue is modified after this enumerator is created.
+        * @exception   E_INVALID_OPERATION     The current state of the instance prohibits the execution of the specified operation, or
+        *                                                                      the queue is modified after this enumerator is created.
         */
        result Reset(void)
        {
index ad9b725..8d95793 100644 (file)
@@ -35,12 +35,12 @@ namespace Tizen { namespace Base { namespace Collection
 /**
  * @class      RandomIteratorT
  * @brief      This class provides a random iterator that is used to convert %IList to STL containers. @n
- *                     %StlConverter provides static methods to get this random iterator from IList.
+ *                     %StlConverter provides static methods to get this random iterator from %IList.
  *
  * @since      2.1
  *
- * @remarks The %RandomIteratorT class satisfies only the requirements of the C++ standard library InputIterator concept due to the limitations of the %Tizen collection. @n
- *                     This class can be used with the C++ standard library algorithms which require only the InputIterator concept for their arguments.
+ * @remarks    The %RandomIteratorT class satisfies requirements of the C++ standard library mutable RandomAccessIterator.
+ *                     It satisfies the requirements of an OutputIterator which can be dereferenced as an lvalue.
  *
  * The %RandomIteratorT class provides a random iterator that is used to convert IList to STL containers.
  * StlConverter provides static methods to get this random iterator from IList.
@@ -48,23 +48,39 @@ namespace Tizen { namespace Base { namespace Collection
 
 template< typename T >
 class RandomIteratorT
-       : public std::iterator< std::input_iterator_tag, T >
+       : public std::iterator< std::random_access_iterator_tag, T >
 {
 public:
+       typedef std::random_access_iterator_tag iterator_category;
+       typedef typename std::iterator_traits< RandomIteratorT< T > >::value_type value_type;
+       typedef typename std::iterator_traits< RandomIteratorT< T > >::difference_type difference_type;
+       typedef typename std::iterator_traits< RandomIteratorT< T > >::pointer pointer;
+       typedef typename std::iterator_traits< RandomIteratorT< T > >::reference reference;
+
+       /**
+        * This is the default constructor for this class.
+        *
+        * @since               3.0
+        */
+       RandomIteratorT(void)
+               : __pList(null)
+               , __index(0)
+       {
+       }
+
        /**
         * Initializes this instance of %RandomIteratorT class.
         *
         * @since               2.1
         *
         * @param[in]   list    A reference to the IList instance to convert
-        * @param[in]   index   The starting index
-        * @remarks             %RandomIteratorT only supports random accessible collection for its performance.
+        * @param[in]   index   A start index
+        * @remarks             %RandomIteratorT only supports random accessible collection for performance.
         * @see                 Tizen::Base::Collection::IList::IsRandomAccessible()
         */
-       explicit RandomIteratorT(const IList& list, int index = 0)
+       explicit RandomIteratorT(IList& list, difference_type index = 0)
                : __pList(&list)
                , __index(index)
-               , __currentObj(static_cast< T >(const_cast< Object* >(__pList->GetAt(__index))))
        {
                AppAssertf(list.IsRandomAccessible(), "The list is not randomly accessible. RandomIteratorT only supports random accessible collection.");
        }
@@ -79,7 +95,6 @@ public:
        RandomIteratorT(const RandomIteratorT< T >& rhs)
                : __pList(rhs.__pList)
                , __index(rhs.__index)
-               , __currentObj(rhs.__currentObj)
        {
        }
 
@@ -105,10 +120,10 @@ public:
         *
         * @return              A T type reference
         */
-       T& operator *(void) const
+       reference operator *(void) const
        {
                AppAssertf(__index >= 0 && __index < __pList->GetCount(), "It is out of range.");
-               return const_cast< T& >(__currentObj);
+               return reinterpret_cast< T& >(__pList->GetAtRef(__index));
        }
 
        /**
@@ -118,45 +133,37 @@ public:
         *
         * @return              A T type pointer equivalent to the pointer address
         */
-       T* operator ->(void) const
+       pointer operator ->(void) const
        {
                return &(operator *());
        }
 
        /**
-        * Increases __index by 1.
+        * Moves to the next element in the collection.
         *
         * @since               2.1
         *
         * @return              A reference to the %RandomIteratorT instance
         * @exception   E_SUCCESS                       The method is successful.
-        * @exception   E_OUT_OF_RANGE          Either of the following conditions has occurred:
-        *                                                                      - The specified @c index is outside the bounds of the data structure.
-        *                                                                      - The specified @c index is either greater than or equal to the number of elements in the list.
-        *                                                                      - The specified @c index is less than @c 0.
+        * @exception   E_OUT_OF_RANGE          The position of the iterator is outside the bounds of the list.
         * @remarks             The specific error code can be accessed using GetLastResult() method.
         */
        RandomIteratorT< T >& operator ++(void)
        {
+               ClearLastResult();
                ++__index;
-
-               // GetAt() will return null if __index is out of range.
-               __currentObj = static_cast< T >(const_cast< Object* >(__pList->GetAt(__index)));
-               TryReturnResult(__currentObj != null, *this, GetLastResult(), "[%s] It is out of range.", GetErrorMessage(GetLastResult()));
+               TryReturnResult(__index >= 0 && __index < __pList->GetCount(), *this, E_OUT_OF_RANGE, "[%s] It is out of range.", GetErrorMessage(E_OUT_OF_RANGE));
                return *this;
        }
 
        /**
-        * Increases __index by 1 and returns the previous state.
+        * Moves to the next element in the collection and returns the previous state.
         *
         * @since               2.1
         *
         * @return              A %RandomIteratorT instance
         * @exception   E_SUCCESS                       The method is successful.
-        * @exception   E_OUT_OF_RANGE          Either of the following conditions has occurred:
-        *                                                                      - The specified @c index is outside the bounds of the data structure.
-        *                                                                      - The specified @c index is either greater than or equal to the number of elements in the list.
-        *                                                                      - The specified @c index is less than @c 0.
+        * @exception   E_OUT_OF_RANGE          The position of the iterator is outside the bounds of the list.
         * @remarks             The specific error code can be accessed using GetLastResult() method.
         */
        RandomIteratorT< T > operator ++(int)
@@ -167,39 +174,31 @@ public:
        }
 
        /**
-        * Decreases __index by 1.
+        * Moves to the previous element of the collection.
         *
         * @since               2.1
         *
         * @return              A reference to the %RandomIteratorT instance
         * @exception   E_SUCCESS                       The method is successful.
-        * @exception   E_OUT_OF_RANGE          Either of the following conditions has occurred:
-        *                                                                      - The specified @c index is outside the bounds of the data structure.
-        *                                                                      - The specified @c index is either greater than or equal to the number of elements in the list.
-        *                                                                      - The specified @c index is less than @c 0.
+        * @exception   E_OUT_OF_RANGE          The position of the iterator is outside the bounds of the list.
         * @remarks             The specific error code can be accessed using GetLastResult() method.
         */
        RandomIteratorT< T >& operator --(void)
        {
+               ClearLastResult();
                --__index;
-
-               // GetAt() will return null if __index is out of range.
-               __currentObj = static_cast< T >(const_cast< Object* >(__pList->GetAt(__index)));
-               TryReturnResult(__currentObj != null, *this, GetLastResult(), "[%s] It is out of range.", GetErrorMessage(GetLastResult()));
+               TryReturnResult(__index >= 0 && __index < __pList->GetCount(), *this, E_OUT_OF_RANGE, "[%s] It is out of range.", GetErrorMessage(E_OUT_OF_RANGE));
                return *this;
        }
 
        /**
-        * Decreases __index by 1 and returns the previous state.
+        * Moves to the previous element of the collection and returns the previous state.
         *
         * @since               2.1
         *
         * @return              A %RandomIteratorT instance
         * @exception   E_SUCCESS                       The method is successful.
-        * @exception   E_OUT_OF_RANGE          Either of the following conditions has occurred:
-        *                                                                      - The specified @c index is outside the bounds of the data structure.
-        *                                                                      - The specified @c index is either greater than or equal to the number of elements in the list.
-        *                                                                      - The specified @c index is less than @c 0.
+        * @exception   E_OUT_OF_RANGE          The position of the iterator is outside the bounds of the list.
         * @remarks             The specific error code can be accessed using GetLastResult() method.
         */
        RandomIteratorT< T > operator --(int)
@@ -214,13 +213,13 @@ public:
         *
         *      @since          2.1
         *
-        *      @return         @c true if every member of the specified %RandomIteratorT instance equals the calling instance's members, @n
+        *      @return         @c true if every member of the specified %RandomIteratorT instance equals the current instance's members, @n
         *                              else @c false
         *      @param[in]      rhs     A reference to the %RandomIteratorT instance on the right-hand side of the operator
         */
        bool operator ==(const RandomIteratorT< T >& rhs) const
        {
-               return ((__pList == rhs.__pList) && (__index == rhs.__index) && (__currentObj == rhs.__currentObj));
+               return ((__pList == rhs.__pList) && (__index == rhs.__index));
        }
 
        /**
@@ -228,7 +227,7 @@ public:
         *
         *      @since          2.1
         *
-        *      @return         @c true if any member of the specified %RandomIteratorT instance is not equal to the calling instance's members, @n
+        *      @return         @c true if any member of the specified %RandomIteratorT instance is not equal to the current instance's members, @n
         *                              else @c false
         *      @param[in]      rhs     A reference to the %RandomIteratorT instance on the right-hand side of the operator
         */
@@ -238,11 +237,11 @@ public:
        }
 
        /**
-        *  Checks whether the l-value is less than the r-value.
+        *  Checks whether l-value is less than r-value.
         *
         *      @since          2.1
         *
-        *      @return         @c true if the l-value of the specified %RandomIteratorT instance is less than the calling instance's members, @n
+        *      @return         @c true if the current instance is less than the specified %RandomIteratorT instance @n
         *                              else @c false
         *      @param[in]      rhs     A reference to the %RandomIteratorT instance on the right-hand side of the operator
         */
@@ -252,11 +251,11 @@ public:
        }
 
        /**
-        *      Checks whether the l-value is greater than the r-value.
+        *      Checks whether l-value is greater than r-value.
         *
         *      @since          2.1
         *
-        *      @return         @c true if the l-value of the specified %RandomIteratorT instance is greater than the calling instance's members, @n
+        *      @return         @c true if if the current instance is greater than the specified %RandomIteratorT instance @n
         *                              else @c false
         *      @param[in]      rhs     A reference to the %RandomIteratorT instance on the right-hand side of the operator
         */
@@ -266,56 +265,120 @@ public:
        }
 
        /**
-        * Increases __index as specified by the @c diff parameter.
+        *  Checks whether l-value is less than or equal to r-value.
+        *
+        *      @since          3.0
+        *
+        *      @return         @c true if the current instance is less than or equal to the specified %RandomIteratorT instance @n
+        *                              else @c false
+        *      @param[in]      rhs     A reference to the %RandomIteratorT instance on the right-hand side of the operator
+        */
+       bool operator <=(const RandomIteratorT< T >& rhs) const
+       {
+               return __index <= rhs.__index;
+       }
+
+       /**
+        *      Checks whether l-value is greater than or equal to r-value.
+        *
+        *      @since          3.0
+        *
+        *      @return         @c true if the current instance is greater than or equal to the specified %RandomIteratorT instance @n
+        *                              else @c false
+        *      @param[in]      rhs     A reference to the %RandomIteratorT instance on the right-hand side of the operator
+        */
+       bool operator >=(const RandomIteratorT< T >& rhs) const
+       {
+               return __index >= rhs.__index;
+       }
+
+       /**
+        * Gets the %RandomIteratorT instance which moves forward as much as specified @c diff parameter.
         *
         * @since               2.1
         *
         * @return              A %RandomIteratorT instance
         * @param[in]   diff                            The length to move forward
         * @exception   E_SUCCESS                       The method is successful.
-        * @exception   E_OUT_OF_RANGE          Either of the following conditions has occurred:
-        *                                                                      - The specified @c index is outside the bounds of the data structure.
-        *                                                                      - The specified @c index is either greater than or equal to the number of elements in the list.
-        *                                                                      - The specified @c index is less than @c 0.
+        * @exception   E_OUT_OF_RANGE          The position of the iterator is outside the bounds of the list.
         * @remarks             The specific error code can be accessed using GetLastResult() method.
         */
-       RandomIteratorT< T > operator +(int diff)
+       RandomIteratorT< T > operator +(difference_type diff)
        {
+               ClearLastResult();
                RandomIteratorT< T > tempIter = *this;
                tempIter.__index += diff;
-
-               // GetAt() will return null if __index is out of range.
-               tempIter.__currentObj = static_cast< T >(const_cast< Object* >(tempIter.__pList->GetAt(tempIter.__index)));
-               TryReturnResult(tempIter.__currentObj != null, tempIter, GetLastResult(), "[%s] It is out of range.", GetErrorMessage(GetLastResult()));
+               TryReturnResult(tempIter.__index >= 0 && tempIter.__index < __pList->GetCount(), tempIter, E_OUT_OF_RANGE, "[%s] It is out of range.", GetErrorMessage(E_OUT_OF_RANGE));
                return tempIter;
        }
 
        /**
-        * Decreases __index as specified by the @c diff parameter.
+        * Gets the %RandomIteratorT instance which moves backward as much as specified @c diff parameter.
         *
         * @since               2.1
         *
         * @return              A %RandomIteratorT instance
         * @param[in]   diff                            The length to move backward
         * @exception   E_SUCCESS                       The method is successful.
-        * @exception   E_OUT_OF_RANGE          Either of the following conditions has occurred:
-        *                                                                      - The specified @c index is outside the bounds of the data structure.
-        *                                                                      - The specified @c index is either greater than or equal to the number of elements in the list.
-        *                                                                  - The specified @c index is less than @c 0.
+        * @exception   E_OUT_OF_RANGE          The position of the iterator is outside the bounds of the list.
         * @remarks             The specific error code can be accessed using GetLastResult() method.
         */
-       RandomIteratorT< T > operator -(int diff)
+       RandomIteratorT< T > operator -(difference_type diff)
        {
+               ClearLastResult();
                RandomIteratorT< T > tempIter = *this;
                tempIter.__index -= diff;
-
-               // GetAt() will return null if __index is out of range.
-               tempIter.__currentObj = static_cast< T >(const_cast< Object* >(tempIter.__pList->GetAt(tempIter.__index)));
-               TryReturnResult(tempIter.__currentObj != null, tempIter, GetLastResult(), "[%s] It is out of range.", GetErrorMessage(GetLastResult()));
+               TryReturnResult(tempIter.__index >= 0 && tempIter.__index < __pList->GetCount(), tempIter, E_OUT_OF_RANGE, "[%s] It is out of range.", GetErrorMessage(E_OUT_OF_RANGE));
                return tempIter;
        }
 
-       int operator -(const RandomIteratorT< T >& rhs)
+       /**
+        * Moves forward as much as specified @c diff parameter.
+        *
+        * @since               3.0
+        *
+        * @return              A %RandomIteratorT instance
+        * @param[in]   diff    The length to move forward
+        * @exception   E_SUCCESS                       The method is successful.
+        * @exception   E_OUT_OF_RANGE          The position of the iterator is outside the bounds of the list.
+        * @remarks             The specific error code can be accessed using GetLastResult() method.
+        */
+       RandomIteratorT< T >& operator +=(difference_type diff)
+       {
+               ClearLastResult();
+               __index += diff;
+               TryReturnResult(__index >= 0 && __index < __pList->GetCount(), *this, E_OUT_OF_RANGE, "[%s] It is out of range.", GetErrorMessage(E_OUT_OF_RANGE));
+               return *this;
+       }
+
+       /**
+        * Moves backward as much as specified @c diff parameter.
+        *
+        * @since               3.0
+        *
+        * @return              A %RandomIteratorT instance
+        * @param[in]   diff    The length to move backward
+        * @exception   E_SUCCESS                       The method is successful.
+        * @exception   E_OUT_OF_RANGE          The position of the iterator is outside the bounds of the list.
+        * @remarks             The specific error code can be accessed using GetLastResult() method.
+        */
+       RandomIteratorT< T >& operator -=(difference_type diff)
+       {
+               ClearLastResult();
+               __index -= diff;
+               TryReturnResult(__index >= 0 && __index < __pList->GetCount(), *this, E_OUT_OF_RANGE, "[%s] It is out of range.", GetErrorMessage(E_OUT_OF_RANGE));
+               return *this;
+       }
+
+       /**
+        * Get the difference between the current instance and the specified %RandomIteratorT instance
+        *
+        * @since               3.0
+        *
+        * @return              The difference between the current instance and the specified %RandomIteratorT instance
+        * @param[in]   rhs     A reference to the %RandomIteratorT instance on the right-hand side of the operator
+        */
+       difference_type operator -(const RandomIteratorT< T >& rhs)
        {
                return __index - rhs.__index;
        }
@@ -326,24 +389,21 @@ public:
         * @since               2.1
         *
         * @return              A reference to the T type instance
-        * @param[in]   index                           The index to reach
+        * @param[in]           index                           An index to move from current position
         * @exception   E_SUCCESS                       The method is successful.
-        * @exception   E_OUT_OF_RANGE          Either of the following conditions has occurred:
-        *                                                                      - The specified @c index is outside the bounds of the data structure.
-        *                                                                      - The specified @c index is either greater than or equal to the number of elements in the list.
-        *                                                                      - The specified @c index is less than @c 0.
+        * @exception   E_OUT_OF_RANGE          The position of the iterator is outside the bounds of the list.
         * @remarks             The specific error code can be accessed using GetLastResult() method.
         */
-       T& operator [](int index) const
+       reference operator [](difference_type index)
        {
-               // GetAt() will return null if __index is out of range.
-               const T& tempObj = static_cast< T >(const_cast< Object* >(__pList->GetAt(index)));
-               TryReturnResult(tempObj != null, const_cast< T& >(tempObj), GetLastResult(), "[%s] It is out of range.", GetErrorMessage(GetLastResult()));
-               return const_cast< T& >(tempObj);
+               ClearLastResult();
+               reference r = reinterpret_cast< T& >(__pList->GetAtRef(__index));
+               TryReturnResult(__index + index >= 0 && __index + index < __pList->GetCount(), r, E_OUT_OF_RANGE, "[%s] It is out of range.", GetErrorMessage(E_OUT_OF_RANGE));
+               return reinterpret_cast< T& >(__pList->GetAtRef(__index + index));
        }
 
        /**
-        *      Swaps the values of the two %RandomIteratorT instances.
+        *      Swaps values of the two %RandomIteratorT instances.
         *
         *      @since          2.1
         *
@@ -353,13 +413,11 @@ public:
        {
                std::swap(__pList, rhs.__pList);
                std::swap(__index, rhs.__index);
-               std::swap(__currentObj, rhs.__currentObj);
        }
 
 private:
-       const IList* __pList;
-       int __index;
-       T __currentObj;
+       IList* __pList;
+       difference_type __index;
 }; // RandomIteratorT
 
 }}} // Tizen::Base::Collection
index 8b74c09..15fb460 100644 (file)
@@ -103,10 +103,9 @@ public:
         * @param[in]   capacity                        The number of elements @n
         *                                                                      The default capacity is @c 10.
         * @exception   E_SUCCESS                       The method is successful.
-        * @exception   E_INVALID_ARG           Either of the following conditions has occurred:
-        *                                                                      - The specified input parameter is invalid.
-        *                                                                      - The specified @c capacity is negative.
-        * @remarks     If the number of elements added to the stack reaches the current capacity,
+        * @exception   E_INVALID_ARG           The specified input parameter is invalid, or
+        *                                                                      the specified @c capacity is negative.
+        * @remarks             If the number of elements added to the stack reaches the current capacity,
         *                              the capacity is automatically increased by memory reallocation. @n
         *                              Therefore, if the size of the stack can be estimated,
         *                              specifying the initial capacity eliminates the need to perform a number of
@@ -124,22 +123,22 @@ public:
         * @return              An error code
         * @param[in]   collection                      The collection to copy elements from
         * @exception   E_SUCCESS                       The method is successful.
-        * @exception   E_INVALID_OPERATION     Either of the following conditions has occurred:
-        *                                                                      - The current state of the instance prohibits the execution of the specified operation.
-        *                                                                      - The specified @c collection is modified during the operation of this method.
-        * @remarks     This method performs a shallow copy. It copies just the pointer and not the element itself.
+        * @exception   E_INVALID_OPERATION     The current state of the instance prohibits the execution of the specified operation, or
+        *                                                                      the @c collection is modified during the operation of this method.
+        * @remarks             This method performs a shallow copy. It copies just the pointer; not the element itself.
         * @see                 Stack()
         */
        result Construct(const ICollection& collection);
 
        /**
-        * Gets the enumerator of this stack.
+        * Gets an enumerator of this stack.
         *
         * @since 2.0
         *
-        * @return              The enumerator (an instance of the IEnumerator derived class) of this stack, @n
+        * @return              An enumerator (an instance of the IEnumerator derived class) of this stack, @n
         *                              else @c null if an exception occurs
         * @remarks             The specific error code can be accessed using the GetLastResult() method.
+        * @see                 IEnumerator
         */
        virtual IEnumerator* GetEnumeratorN(void) const;
 
@@ -151,9 +150,8 @@ public:
         * @return              The element at the top of this stack, @n
         *                              else @c null if this stack is empty
         * @exception   E_SUCCESS       The method is successful.
-        * @exception   E_UNDERFLOW     Either of the following conditions has occurred:
-        *                                                      - The operation (arithmetic/casting/conversion) has caused an underflow.
-        *                                                      - The stack is empty.
+        * @exception   E_UNDERFLOW     The operation (arithmetic/casting/conversion) has caused an underflow, or
+        *                                                      this stack is empty.
         * @remarks             The specific error code can be accessed using the GetLastResult() method.
         */
        virtual const Object* Peek(void) const;
@@ -166,9 +164,8 @@ public:
         * @return              The element at the top of this stack, @n
         *                              else @c null if this stack is empty
         * @exception   E_SUCCESS       The method is successful.
-        * @exception   E_UNDERFLOW     Either of the following conditions has occurred:
-        *                                                      - The operation (arithmetic/casting/conversion) has caused an underflow.
-        *                                                      - The stack is empty.
+        * @exception   E_UNDERFLOW     The operation (arithmetic/casting/conversion) has caused an underflow, or
+        *                                                      this stack is empty.
         * @remarks             The specific error code can be accessed using the GetLastResult() method.
         * @see                 Push(Object*)
         */
@@ -179,7 +176,7 @@ public:
         * Pushes an object to the top of this stack.
         *
         * @brief               <i> [Deprecated] </i>
-        * @deprecated  This method is deprecated because it has a problem of constant reference argument.
+        * @deprecated  This method is deprecated because it has a problem of const reference argument.
         *                              Instead of using this method, use Push(Object* pObj).
         * @since 2.0
         *
@@ -187,7 +184,7 @@ public:
         * @param[in]   obj                             The object to add to this stack
         * @exception   E_SUCCESS               The method is successful.
         * @exception   E_OUT_OF_MEMORY The memory is insufficient.
-        * @remarks             This method performs a shallow copy. It inserts just the pointer and not the element itself.
+        * @remarks             This method performs a shallow copy. It inserts just the pointer; not the element itself.
         * @see                 Pop()
         * @endif
         */
@@ -202,16 +199,16 @@ public:
         * @since 2.0
         *
         * @return              An error code
-        * @param[in]   pObj                    A pointer to the object to add to this stack
+        * @param[in]   pObj                    The pointer to object to add to this stack
         * @exception   E_SUCCESS               The method is successful.
         * @exception   E_INVALID_ARG   The specified input parameter is invalid.
-        * @remarks             This method performs a shallow copy. It inserts just the pointer and not the element itself.
+        * @remarks             This method performs a shallow copy. It inserts just the pointer; not the element itself.
         * @see                 Pop()
         */
        virtual result Push(Object* pObj);
 
        /**
-        * Removes all the objects and their pointers from the collection, when the @c deallocate parameter is set to @c true. @n
+        * Removes all objects and their pointers in collection, when the @c deallocate parameter is set to @c true. @n
         * This method can be called before deleting the objects in a collection.
         *
         * @since 2.0
@@ -246,19 +243,18 @@ public:
         * Checks whether this stack contains all of the elements in the specified collection.
         *
         * @brief               <i> [Deprecated] </i>
-        * @deprecated  This method is deprecated because it transfers the result of the comparison in an out-parameter form.
-        *                              The return type is changed to boolean and this method returns the result.
+        * @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.
         *                              Instead of using this method, use bool Contains(const ICollection& collection).
         * @since 2.0
         *
         * @return              An error code
-        * @param[in]   collection                      The collection to locate
-        * @param[out]  out                                     Set to @c true if this stack contains all the elements in the specified collection, @n
-        *                                                                      else @c false
+        * @param[in]   collection      The collection to locate
+        * @param[out]  out                     Set to @c true if this stack contains all the elements in the specified collection, @n
+        *                                                      else @c false
         * @exception   E_SUCCESS                       The method is successful.
-        * @exception   E_INVALID_OPERATION     Either of the following conditions has occurred:
-        *                                                                      - The current state of the instance prohibits the execution of the specified operation.
-        *                                                                      - The specified @c collection is modified during the operation of this method.
+        * @exception   E_INVALID_OPERATION     The current state of the instance prohibits the execution of the specified operation, or
+        *                                                                      the @c collection is modified during the operation of this method.
         * @endif
         */
        result ContainsAll(const ICollection& collection, bool& out) const
@@ -269,7 +265,7 @@ public:
        }
 
        /**
-        * Checks whether this stack contains all the elements in the specified collection.
+        * Checks whether this stack contains all of the elements in the specified collection.
         *
         * @since 2.0
         *
@@ -277,9 +273,8 @@ public:
         *                              else @c false
         * @param[in]   collection                      The collection to locate
         * @exception   E_SUCCESS                       The method is successful.
-        * @exception   E_INVALID_OPERATION     Either of the following conditions has occurred:
-        *                                                                      - The current state of the instance prohibits the execution of the specified operation.
-        *                                                                      - The specified @c collection is modified during the operation of this method.
+        * @exception   E_INVALID_OPERATION     The current state of the instance prohibits the execution of the specified operation, or
+        *                                                                      the @c collection is modified during the operation of this method.
         * @remarks             The specific error code can be accessed using the GetLastResult() method.
         */
        virtual bool ContainsAll(const ICollection& collection) const;
@@ -291,9 +286,9 @@ public:
         *
         * @return              @c true if the specified instance equals the current instance, @n
         *                              else @c false
-        * @param[in]   obj             The object to compare with the current instance
-        * @remarks     This method returns @c true only if the specified object is also an instance of the %Stack class,
-        *                              both stacks have the same size, and all the corresponding pairs of the elements in the two stacks are equal. @n
+        * @param[in]   obj The object to compare with the current instance
+        * @remarks             This method returns @c true only if the specified object is also an instance of %Stack class,
+        *                              both stacks have the same size, and all corresponding pairs of elements in the two stacks are equal.
         *                              In other words, two stacks are equal if they contain the same elements in the same order.
         */
        virtual bool Equals(const Object& obj) const;
@@ -304,8 +299,8 @@ public:
         * @since 2.0
         *
         * @return      The hash value of the current instance
-        * @remarks     The two Tizen::Base::Object::Equals() instances must return the same hash value. @n
-        *                      For better performance, the used hash function must generate a random distribution for all the inputs.
+        * @remarks     The two Tizen::Base::Object::Equals() instances must return the same hash value. For better performance, @n
+        *                      the used hash function must generate a random distribution for all inputs.
         */
        virtual int GetHashCode(void) const;
 
index 4750096..fe62e83 100644 (file)
@@ -114,9 +114,8 @@ public:
         * @param[in]   capacity                The number of elements @n
         *                              The default capacity is @c 10.
         * @exception   E_SUCCESS               The method is successful.
-        * @exception   E_INVALID_ARG   Either of the following conditions has occurred:
-        *                                                              - The specified input parameter is invalid.
-        *                                                              - The specified @c capacity is negative.
+        * @exception   E_INVALID_ARG   The specified input parameter is invalid, or
+        *                                                              the specified @c capacity is negative.
         */
        result Construct(int capacity = DEFAULT_CAPACITY)
        {
@@ -141,9 +140,8 @@ public:
         * @return              An error code
         * @param[in]   collection                      The collection to copy elements from
         * @exception   E_SUCCESS                       The method is successful.
-        * @exception   E_INVALID_OPERATION     Either of the following conditions has occurred:
-        *                                                                      - The current state of the instance prohibits the execution of the specified operation.
-        *                                                                      - The specified @c collection is modified during the operation of this method.
+        * @exception   E_INVALID_OPERATION     The current state of the instance prohibits the execution of the specified operation, or
+        *                                                                      the specified @c collection is modified during the operation of this method.
         * @see                 StackT()
         */
        result Construct(const ICollectionT< Type >& collection)
@@ -195,15 +193,16 @@ CATCH:
        }
 
        /**
-        * Gets the enumerator of this stack.
+        * Gets an enumerator of this stack.
         *
         * @since 2.0
         *
-        * @return              The enumerator (an instance of the IEnumeratorT derived class) of this stack, @n
+        * @return              An enumerator (an instance of the IEnumeratorT derived class) of this stack, @n
         *                              else @c null if an exception occurs
         * @exception   E_SUCCESS               The method is successful.
         * @exception   E_OUT_OF_MEMORY The memory is insufficient.
         * @remarks             The specific error code can be accessed using the GetLastResult() method.
+        * @see                 Tizen::Base::Collection::IEnumeratorT
         */
        virtual IEnumeratorT< Type >* GetEnumeratorN(void) const
        {
@@ -229,9 +228,8 @@ CATCH:
         * @return              An error code
         * @param[out]  obj                     The element at the beginning of this stack
         * @exception   E_SUCCESS       The method is successful.
-        * @exception   E_UNDERFLOW     Either of the following conditions has occurred:
-        *                                                      - The operation (arithmetic/casting/conversion) has caused an underflow.
-        *                                                      - The stack is empty.
+        * @exception   E_UNDERFLOW     The operation (arithmetic/casting/conversion) has caused an underflow, or
+        *                                                      this stack is empty.
         */
        virtual result Peek(Type& obj) const
        {
@@ -253,9 +251,8 @@ CATCH:
         * @return              An error code
         * @param[out]  obj                     The element at the beginning of this stack
         * @exception   E_SUCCESS       The method is successful.
-        * @exception   E_UNDERFLOW     Either of the following conditions has occurred:
-        *                                                      - The operation (arithmetic/casting/conversion) has caused an underflow.
-        *                                                      - The stack is empty.
+        * @exception   E_UNDERFLOW     The operation (arithmetic/casting/conversion) has caused an underflow, or
+        *                                                      this stack is empty.
         * @see                 Push()
         */
        virtual result Pop(Type& obj)
@@ -275,7 +272,7 @@ CATCH:
        }
 
        /**
-        * Pushes an object to the top of this stack.
+        * Pushes an object at the top of this stack.
         *
         * @since 2.0
         *
@@ -320,7 +317,7 @@ CATCH:
        }
 
        /**
-        * Removes all the elements from this stack.
+        * Removes all elements in this stack.
         *
         * @since 2.0
         */
@@ -379,17 +376,17 @@ CATCH:
        }
 
        /**
-        * Checks whether this stack contains all the elements in the specified @c collection.
+        * Checks whether this stack contains all of the elements in the specified @c collection.
         *
         * @since 2.0
         *
         * @return              An error code
-        * @param[in]   collection                      The collection to locate
-        * @param[out]  out                             The boolean value that indicates if this stack contains all the elements in the specified @c collection
+        * @param[in]   collection      The collection to locate
+        * @param[out]  out             Set to @c true if this stack contains all of the elements in the specified @c collection, @n
+        *                                                      else @c false
         * @exception   E_SUCCESS                       The method is successful.
-        * @exception   E_INVALID_OPERATION     Either of the following conditions has occurred:
-        *                                                                      - The current state of the instance prohibits the execution of the specified operation.
-        *                                                                      - The specified @c collection is modified during the operation of this method.
+        * @exception   E_INVALID_OPERATION     The current state of the instance prohibits the execution of the specified operation, or
+        *                                                                      the specified @c collection is modified during the operation of this method.
         */
        virtual result ContainsAll(const ICollectionT< Type >& collection, bool& out) const
        {
@@ -445,8 +442,8 @@ CATCH:
         * @return              @c true if the specified instance equals the current instance, @n
         *                              else @c false
         * @param[in]   obj The object to compare with the current instance
-        * @remarks     This method returns @c true only if the specified object is also an instance of the Stack class,
-        *                              both the stacks have the same size, and all the corresponding pairs of elements in the two stacks are equal. @n
+        * @remarks             This method returns @c true only if the specified object is also an instance of the Stack class,
+        *                              both stacks have the same size, and all the corresponding pairs of elements in the two stacks are equal.
         *                              In other words, two stacks are equal if they contain the same elements in the same order.
         */
        virtual bool Equals(const Object& obj) const
@@ -488,8 +485,8 @@ CATCH:
         * @since 2.0
         *
         * @return      The hash value of the current instance
-        * @remarks     The two Tizen::Base::Object::Equals() instances must return the same hash value.@n
-        *                      For better performance, the used hash function must generate a random distribution for all the inputs.
+        * @remarks     The two Tizen::Base::Object::Equals() instances must return the same hash value. For better performance, @n
+        *                      the used hash function must generate a random distribution for all inputs.
         */
        virtual int GetHashCode(void) const
        {
@@ -572,10 +569,10 @@ public:
         *
         * @return              An error code
         * @param[out]  obj                                             The current object
-        * @exception   E_INVALID_OPERATION             Either of the following conditions has occurred:
-        *                                                                              - The current state of the instance prohibits the execution of the specified operation.
+        * @exception   E_INVALID_OPERATION             Either of the following conditions has occurred: @n
+        *                                                                              - The current state of the instance prohibits the execution of the specified operation. @n
         *                                                                              - This enumerator is currently positioned before the first element or
-        *                                                                              past the last element.
+        *                                                                              past the last element. @n
         *                                                                              - The stack is modified after this enumerator is created.
         * @exception   E_SUCCESS                               The method is successful.
         */
index 5b65d1f..ccb5328 100644 (file)
@@ -84,6 +84,12 @@ class IMultiMap;
  *             // call SomeNativeAPI(pList2.get());
  *     }
  *     @endcode
+ *     @remarks        Before %Tizen 3.0, iterators managed by %StlConverter only met the requirements of the STL InputIterator concept
+ *                             due to the limitation of the uderlying %Tizen collection. But from %Tizen 3.0, these iterators support further STL iterator concept like below.
+ *                             Both IteratorT and RandomIteratorT support STL OutputIterator concept which can be dereferenced as an lvalue. It's the mutable iterator.
+ *                             - PairIteratorT supports STL constant ForwardIterator.
+ *                             - IteratorT supports STL mutable BidirectionalIterator.
+ *                             - RandomIteratorT supports STL mutable RandomAccessIterator.
  */
 
 class StlConverter
@@ -92,6 +98,8 @@ public:
        /**
         * Gets the STL compatible iterator referring to the first element in the IList instance.
         *
+        * @brief       <i> [Deprecated] </i>
+        * @deprecated  This method is deprecated to support mutation algorithm requiring non-const pointer.
         * @since               2.1
         *
         * @return              An IteratorT instance
@@ -100,12 +108,29 @@ public:
        template< typename T >
        static IteratorT< T > GetBeginIterator(const IList* pList)
        {
+               return GetBeginIterator< T >(const_cast< IList* >(pList));
+       }
+
+       /**
+        * Gets the STL compatible iterator referring to the first element in the IList instance.
+        *
+        * @since               3.0
+        *
+        * @return              An IteratorT instance
+        * @param[in]   pList                   A pointer to the IList instance to convert
+        * @remarks             This method does not take the ownership of the @c pList because the argument is a non-const pointer.
+        */
+       template< typename T >
+       static IteratorT< T > GetBeginIterator(IList* pList)
+       {
                return IteratorT< T >(*pList);
        }
 
        /**
         * Gets the STL compatible iterator referring to the post-end element in the IList instance.
         *
+        * @brief       <i> [Deprecated] </i>
+        * @deprecated  This method is deprecated to support mutation algorithm requiring non-const pointer.
         * @since               2.1
         *
         * @return              An IteratorT instance
@@ -114,12 +139,29 @@ public:
        template< typename T >
        static IteratorT< T > GetEndIterator(const IList* pList)
        {
+               return GetEndIterator< T >(const_cast< IList* >(pList));
+       }
+
+       /**
+        * Gets the STL compatible iterator referring to the post-end element in the IList instance.
+        *
+        * @since               3.0
+        *
+        * @return              An IteratorT instance
+        * @param[in]   pList                   A pointer to the IList instance to convert
+        * @remarks             This method does not take the ownership of the @c pList because the argument is a non-const pointer.
+        */
+       template< typename T >
+       static IteratorT< T > GetEndIterator(IList* pList)
+       {
                return IteratorT< T >(*pList, true);
        }
 
        /**
         * Gets the STL compatible random iterator referring to the first element in the IList instance.
         *
+        * @brief       <i> [Deprecated] </i>
+        * @deprecated  This method is deprecated to support mutation algorithm requiring non-const pointer.
         * @since               2.1
         *
         * @return              A RandomIteratorT instance
@@ -128,12 +170,29 @@ public:
        template< typename T >
        static RandomIteratorT< T > GetBeginRandomIterator(const IList* pList)
        {
+               return GetBeginRandomIterator< T >(const_cast< IList* >(pList));
+       }
+
+       /**
+        * Gets the STL compatible random iterator referring to the first element in the IList instance.
+        *
+        * @since               3.0
+        *
+        * @return              A RandomIteratorT instance
+        * @param[in]   pList                   A pointer to the IList instance to convert
+        * @remarks             This method does not take the ownership of the @c pList because the argument is a non-const pointer.
+        */
+       template< typename T >
+       static RandomIteratorT< T > GetBeginRandomIterator(IList* pList)
+       {
                return RandomIteratorT< T >(*pList, 0);
        }
 
        /**
         * Gets the STL compatible random iterator referring to the post-end element in the IList instance.
         *
+        * @brief       <i> [Deprecated] </i>
+        * @deprecated  This method is deprecated to support mutation algorithm requiring non-const pointer.
         * @since               2.1
         *
         * @return              A RandomIteratorT instance
@@ -142,6 +201,21 @@ public:
        template< typename T >
        static RandomIteratorT< T > GetEndRandomIterator(const IList* pList)
        {
+               return GetEndRandomIterator< T >(const_cast< IList* >(pList));
+       }
+
+       /**
+        * Gets the STL compatible random iterator referring to the post-end element in the IList instance.
+        *
+        * @since               3.0
+        *
+        * @return              A RandomIteratorT instance
+        * @param[in]   pList                   A pointer to the IList instance to convert
+        * @remarks             This method does not take the ownership of the @c pList because the argument is a non-const pointer.
+        */
+       template< typename T >
+       static RandomIteratorT< T > GetEndRandomIterator(IList* pList)
+       {
                return RandomIteratorT< T >(*pList, pList->GetCount());
        }
 
index 046faba..8112db6 100644 (file)
@@ -104,12 +104,11 @@ public:
         *
         *      @since 2.0
         *
-        *      @param[in]      value                           An instance of TimeSpan
+        *      @param[in]      value   An instance of TimeSpan
         *      @exception      E_SUCCESS                       The method is successful.
-        *      @exception      E_OUT_OF_RANGE          Either of the following conditions has occurred:
-        *                                                                      - The specified @c value is outside the valid range defined by the method.
-        *                                                                      - The resulting value of %DateTime is greater than the value returned by GetMaxValue().
-     *                                                                 - The resulting value of %DateTime is less than the value returned by GetMinValue().
+        *      @exception      E_OUT_OF_RANGE          The value of the argument is outside the valid range defined by the method. @n
+        *                                                                      The resulting value of %DateTime is greater than the value returned by GetMaxValue() or @n
+        *                                                                      is less than the value returned by GetMinValue().
         */
        result SetValue(const TimeSpan& value);
 
@@ -123,7 +122,7 @@ public:
        void SetValue(const DateTime& value);
 
        /**
-        *      Sets the current instance of %DateTime to the specified year, month, day, hour, minute, and second.
+        *      Sets the current instance of %DateTime to the specified @c year, @c month, @c day, @c hour, @c minute, and @c second.
         *
         *      @since 2.0
         *
@@ -135,17 +134,16 @@ public:
         *      @param[in]      minute                          The minute set
         *      @param[in]      second                          The second to set
         *      @exception      E_SUCCESS                       The method is successful.
-        *      @exception      E_OUT_OF_RANGE          Either of the following conditions has occurred:
-        *                                                                      - The value of the arguments is outside the valid range defined by the method.
-        *                                                                      - Either the arguments are greater than the value returned by GetMaxValue() or
-        *                                                                        less than the value returned by GetMinValue().
-        *                                                                      - The arguments contain invalid values,
-        *                                                                        for example, @c day is @c 31 when @c month is @c 2.
+        *      @exception      E_OUT_OF_RANGE          The value of the argument is outside the valid range defined by the method. @n
+        *                                                                      Either the arguments are greater than the value returned by GetMaxValue() or
+        *                                                                      are less than the value returned by GetMinValue(), or
+        *                                                                      the arguments contain invalid values.
+        *                                                                      For example, day is 31 when month is 2.
         */
        result SetValue(int year, int month, int day, int hour = 0, int minute = 0, int second = 0);
 
        /**
-        *      Sets the current instance of %DateTime to the specified year, month, day, hour, minute, second, and millisecond.
+        *      Sets the current instance of %DateTime to the specified @c year, @c month, @c day, @c hour, @c minute, @c second, and @c millisecond.
         *
         *      @since 2.1
         *
@@ -158,30 +156,28 @@ public:
         *      @param[in]      second                          The second to set
         *      @param[in]      millisecond                     The millisecond to set
         *      @exception      E_SUCCESS                       The method is successful.
-        *      @exception      E_OUT_OF_RANGE          Either of the following conditions has occurred:
-        *                                                                      - The value of the arguments is outside the valid range defined by the method.
-        *                                                                      - Either the arguments are greater than the value returned by GetMaxValue() or
-        *                                                                        less than the value returned by GetMinValue().
-        *                                                                      - The arguments contain invalid values,
-        *                                                                        for example, @c day is @c 31 when @c month is @c 2.
+        *      @exception      E_OUT_OF_RANGE          The value of the argument is outside the valid range defined by the method. @n
+        *                                                                      Either the arguments are greater than the value returned by GetMaxValue() or
+        *                                                                      are less than the value returned by GetMinValue(), or
+        *                                                                      the arguments contain invalid values.
+        *                                                                      For example, day is 31 when month is 2.
         */
        result SetValue(int year, int month, int day, int hour, int minute, int second, int millisecond);
 
        /**
-        *      Sets the current instance of %DateTime with the specified number of ticks.
+        *      Sets the current instance of %DateTime with the specified number of %ticks.
         *      The tick value of type @c long @c long represents dates and times ranging from January 1, 1 A.D. 00:00:00.000 am.
         *
         *      @since  2.1
         *
         *      @return         An error code
-        *      @param[in]      ticks                           The number of ticks
+        *      @param[in]      ticks   The number of ticks
         *      @exception      E_SUCCESS                       The method is successful.
-        *      @exception      E_OUT_OF_RANGE          Either of the following conditions has occurred:
-        *                                                                      - The value of the arguments is outside the valid range defined by the method.
-        *                                                                      - Either the arguments are greater than the value returned by GetMaxValue() or
-        *                                                                        less than the value returned by GetMinValue().
-        *                                                                      - The arguments contain invalid values,
-        *                                                                        for example, @c day is @c 31 when @c month is @c 2.
+        *      @exception      E_OUT_OF_RANGE          The value of the argument is outside the valid range defined by the method.
+        *                                                                      Either the arguments are greater than the value returned by GetMaxValue() or
+        *                                                                      are less than the value returned by GetMinValue(), or
+        *                                                                      the arguments contain invalid values.
+        *                                                                      For example, day is 31 when month is 2.
         */
        result SetValue(long long ticks);
 
@@ -191,7 +187,7 @@ public:
         *      @since 2.0
         *
         *      @return         A reference to the current object
-        *      @param[in]      rhs     An instance of %DateTime to copy
+        *      @param[in]      rhs     An instance of %DateTime
         */
        DateTime& operator =(const DateTime& rhs);
 
@@ -202,7 +198,7 @@ public:
         *
         *      @return         @c true if the current instance is equivalent to the specified instance, @n
         *                              else @c false
-        *      @param[in]      rhs     An instance of %DateTime to compare
+        *      @param[in]      rhs     An instance of %DateTime
         */
        bool operator ==(const DateTime& rhs) const;
 
@@ -213,7 +209,7 @@ public:
         *
         *      @return         @c true if the current instance is not equivalent to the specified instance, @n
         *                              else @c false
-        *      @param[in]      rhs     An instance of %DateTime to compare
+        *      @param[in]      rhs     An instance of %DateTime
         */
        bool operator !=(const DateTime& rhs) const;
 
@@ -224,7 +220,7 @@ public:
         *
         *      @return         @c true if the value of the current instance is less than the value of the specified instance, @n
         *                              else @c false
-        *      @param[in]      rhs     An instance of %DateTime to compare
+        *      @param[in]      rhs     An instance of %DateTime
         */
        bool operator <(const DateTime& rhs) const;
 
@@ -235,7 +231,7 @@ public:
         *
         *      @return         @c true if the value of the current instance is greater than the value of the specified instance, @n
         *                              else @c false
-        *      @param[in]      rhs     An instance of %DateTime to compare
+        *      @param[in]      rhs     An instance of %DateTime
         */
        bool operator >(const DateTime& rhs) const;
 
@@ -246,7 +242,7 @@ public:
         *
         *      @return         @c true if the value of the current instance is less than or equal to the value of the specified instance, @n
         *                              else @c false
-        *      @param[in]      rhs     An instance of %DateTime to compare
+        *      @param[in]      rhs     An instance of %DateTime
         */
        bool operator <=(const DateTime& rhs) const;
 
@@ -257,7 +253,7 @@ public:
         *
         *      @return         @c true if the value of the current instance is greater than or equal to the value of the specified instance, @n
         *                              else @c false
-        *      @param[in]      rhs     An instance of %DateTime to compare
+        *      @param[in]      rhs     An instance of %DateTime
         */
        bool operator >=(const DateTime& rhs) const;
 
@@ -269,10 +265,9 @@ public:
         *      @return         An error code
         *      @param[in]      t                                       The time span to add
         *      @exception      E_SUCCESS                       The method is successful.
-        *      @exception      E_OUT_OF_RANGE          Either of the following conditions has occurred:
-        *                                                                      - The value of the argument is outside the valid range defined by the method.
-        *                                                                      - Either the resulting value of %DateTime is greater than the value returned by GetMaxValue() or @n
-        *                                                                        less than the value returned by GetMinValue().
+        *      @exception      E_OUT_OF_RANGE          The value of the argument is outside the valid range defined by the method. @n
+        *                                                                      The resulting value of %DateTime is greater than the value returned by GetMaxValue() or @n
+        *                                                                      is less than the value returned by GetMinValue().
         */
        result Add(const TimeSpan& t);
 
@@ -284,10 +279,9 @@ public:
         *      @return         An error code
         *      @param[in]      days                            The number of days to add
         *      @exception      E_SUCCESS                       The method is successful.
-        *      @exception      E_OUT_OF_RANGE          Either of the following conditions has occurred:
-        *                                                                      - The value of the argument is outside the valid range defined by the method.
-        *                                                                      - Either the resulting value of %DateTime is greater than the value returned by GetMaxValue() or @n
-        *                                                                        less than the value returned by GetMinValue().
+        *      @exception      E_OUT_OF_RANGE          The value of the argument is outside the valid range defined by the method. @n
+        *                                                                      The resulting value of %DateTime is greater than the value returned by GetMaxValue() or @n
+        *                                                                      is less than the value returned by GetMinValue().
         */
        result AddDays(int days);
 
@@ -299,10 +293,9 @@ public:
         *      @return         An error code
         *      @param[in]      hours                           The number of hours to add
         *      @exception      E_SUCCESS                       The method is successful.
-        *      @exception      E_OUT_OF_RANGE          Either of the following conditions has occurred:
-        *                                                                      - The value of the argument is outside the valid range defined by the method.
-        *                                                                      - Either the resulting value of %DateTime is greater than the value returned by GetMaxValue() or @n
-        *                                                                        less than the value returned by GetMinValue().
+        *      @exception      E_OUT_OF_RANGE          The value of the argument is outside the valid range defined by the method. @n
+        *                                                                      The resulting value of %DateTime is greater than the value returned by GetMaxValue() or @n
+        *                                                                      is less than the value returned by GetMinValue().
         */
        result AddHours(int hours);
 
@@ -314,10 +307,9 @@ public:
         *      @return         An error code
         *      @param[in]      minutes                         The number of minutes to add
         *      @exception      E_SUCCESS                       The method is successful.
-        *      @exception      E_OUT_OF_RANGE          Either of the following conditions has occurred:
-        *                                                                      - The value of the argument is outside the valid range defined by the method.
-        *                                                                      - Either the resulting value of %DateTime is greater than the value returned by GetMaxValue() or @n
-        *                                                                        less than the value returned by GetMinValue().
+        *      @exception      E_OUT_OF_RANGE          The value of the argument is outside the valid range defined by the method. @n
+        *                                                                      The resulting value of %DateTime is greater than the value returned by GetMaxValue() or @n
+        *                                                                      is less than the value returned by GetMinValue().
         */
        result AddMinutes(int minutes);
 
@@ -329,10 +321,9 @@ public:
         *      @return         An error code
         *      @param[in]      months                          The number of months to add
         *      @exception      E_SUCCESS                       The method is successful.
-        *      @exception      E_OUT_OF_RANGE          Either of the following conditions has occurred:
-        *                                                                      - The value of the argument is outside the valid range defined by the method.
-        *                                                                      - Either the resulting value of %DateTime is greater than the value returned by GetMaxValue() or @n
-        *                                                                        or less than the value returned by GetMinValue().
+        *      @exception      E_OUT_OF_RANGE          The value of the argument is outside the valid range defined by the method. @n
+        *                                                                      The resulting value of %DateTime is greater than the value returned by GetMaxValue() or @n
+        *                                                                      is less than the value returned by GetMinValue().
         */
        result AddMonths(int months);
 
@@ -344,40 +335,37 @@ public:
         *      @return         An error code
         *      @param[in]      seconds                         The number of seconds to add
         *      @exception      E_SUCCESS                       The method is successful.
-        *      @exception      E_OUT_OF_RANGE          Either of the following conditions has occurred:
-        *                                                                      - The value of the argument is outside the valid range defined by the method.
-        *                                                                      - Either the resulting value of %DateTime is greater than the value returned by GetMaxValue() or @n
-        *                                                                        less than the value returned by GetMinValue().
+        *      @exception      E_OUT_OF_RANGE          The value of the argument is outside the valid range defined by the method. @n
+        *                                                                      The resulting value of %DateTime is greater than the value returned by GetMaxValue() or @n
+        *                                                                      is less than the value returned by GetMinValue().
         */
        result AddSeconds(int seconds);
 
        /**
-        *      Adds the specified number of milliseconds to the instance of %DateTime.
+        *      Adds a specified number of milliseconds to the instance of %DateTime.
         *
         *      @since 2.1
         *
         *      @return         An error code
         *      @param[in]      milliseconds            The number of milliseconds to add
         *      @exception      E_SUCCESS                       The method is successful.
-        *      @exception      E_OUT_OF_RANGE          Either of the following conditions has occurred:
-        *                                                                      - The value of the argument is outside the valid range defined by the method.
-        *                                                                      - Either the resulting value of %DateTime is greater than the value returned by GetMaxValue() or @n
-        *                                                                        less than the value returned by GetMinValue().
+        *      @exception      E_OUT_OF_RANGE          The value of the argument is outside the valid range defined by the method. @n
+        *                                                                      The resulting value of %DateTime is greater than the value returned by GetMaxValue() or @n
+        *                                                                      is less than the value returned by GetMinValue().
         */
        result AddMilliseconds(long long milliseconds);
 
        /**
-        *      Adds the specified number of ticks to the instance of %DateTime.
+        *      Adds a specified number of ticks to the instance of %DateTime.
         *
         *      @since 2.1
         *
         *      @return         An error code
         *      @param[in]      ticks                           The number of ticks to add
         *      @exception      E_SUCCESS                       The method is successful.
-        *      @exception      E_OUT_OF_RANGE          Either of the following conditions has occurred:
-        *                                                                      - The value of the argument is outside the valid range defined by the method.
-        *                                                                      - Either the resulting value of %DateTime is greater than the value returned by GetMaxValue() or @n
-        *                                                                        less than the value returned by GetMinValue().
+        *      @exception      E_OUT_OF_RANGE          The value of the argument is outside the valid range defined by the method. @n
+        *                                                                      The resulting value of %DateTime is greater than the value returned by GetMaxValue() or @n
+        *                                                                      is less than the value returned by GetMinValue().
         */
        result AddTicks(long long ticks);
 
@@ -389,10 +377,9 @@ public:
         *      @return         An error code
         *      @param[in]      years                           The number of years to add
         *      @exception      E_SUCCESS                       The method is successful.
-        *      @exception      E_OUT_OF_RANGE          Either of the following conditions has occurred:
-        *                                                                      - The value of the argument is outside the valid range defined by the method.
-        *                                                                      - Either the resulting value of %DateTime is greater than the value returned by GetMaxValue() or @n
-        *                                                                        less than the value returned by GetMinValue().
+        *      @exception      E_OUT_OF_RANGE          The value of the argument is outside the valid range defined by the method. @n
+        *                                                                      The resulting value of %DateTime is greater than the value returned by GetMaxValue() or @n
+        *                                                                      is less than the value returned by GetMinValue().
         */
        result AddYears(int years);
 
@@ -402,11 +389,11 @@ public:
         *
         *      @since 2.0
         *
-        *  @return             The 32-bit @c signed integer value
+        *  @return             A 32-bit @c signed integer value
         *      @code
-        *      <  0  if the value of dt1 is less than the value of dt2
-        *      == 0  if the value of dt1 is equal to the value of dt2
-        *      >  0  if the value of dt1 is greater than the value of dt2
+        *      <  0  if the value of @c dt1 is less than the value of @c dt2
+        *      == 0  if the value of @c dt1 is equal to the value of @c dt2
+        *      >  0  if the value of @c dt1 is greater than the value of @c dt2
         *      @endcode
         *      @param[in]      dt1     An instance of %DateTime
         *      @param[in]      dt2     An instance of %DateTime
@@ -418,7 +405,7 @@ public:
         *
         *      @since 2.0
         *
-        *  @return             The 32-bit @c signed integer value
+        *  @return             A 32-bit @c signed integer value
         *      @code
         *      <  0  if the value of the current instance is less than value of the specified instance
         *      == 0  if the value of the current instance is equal to value of the specified instance
@@ -461,7 +448,7 @@ public:
        TimeSpan GetTimeOfDay(void) const;
 
        /**
-        *      Gets the number of days in the specified month of the specified year.
+        *      Gets the number of @c days in the specified @c month of the specified @c year.
         *
         *      @since 2.0
         *
@@ -470,9 +457,8 @@ public:
         *      @param[in]      month                           The month
         *      @param[out]     days                            The number of days
         *      @exception      E_SUCCESS                       The method is successful.
-        *      @exception      E_OUT_OF_RANGE          Either of the following conditions has occurred:
-        *                                                                      - The value of the argument is outside the valid range defined by the method.
-        *                                                                      - The specified @c year must be a value between @c 1 and @c 9999 and @c month must be a value between @c 1 and @c 12.
+        *      @exception      E_OUT_OF_RANGE          The value of the argument is outside the valid range defined by the method. @n
+        *                                                                      @c year must be a value between @c 1 and @c 9999 and @c month must be a value between @c 1 and @c 12.
         */
        static result GetDaysInMonth(int year, int month, int& days);
 
@@ -482,12 +468,11 @@ public:
         *      @since 2.0
         *
         *      @return         An error code
-        *      @param[in]      t                                       The time span to subtract
+        *      @param[in]      t                                       The time span to deduct
         *      @exception      E_SUCCESS                       The method is successful.
-        *      @exception      E_OUT_OF_RANGE          Either of the following conditions has occurred:
-        *                                                                      - The value of the argument is outside the valid range defined by the method.
-        *                                                                      - Either the resulting value of %DateTime is greater than the value returned by GetMaxValue() or @n
-        *                                                                        less than the value returned by GetMinValue().
+        *      @exception      E_OUT_OF_RANGE          The value of the argument is outside the valid range defined by the method. @n
+        *                                                                      The resulting value of %DateTime is greater than the value returned by GetMaxValue() or @n
+        *                                                                      is less than the value returned by GetMinValue().
         */
        result Subtract(const TimeSpan& t);
 
@@ -496,10 +481,9 @@ public:
         *
         *      @since 2.0
         *
-        *      @return         The string that contains the Unicode representation of the value of the current instance of %DateTime
-        *      @remarks
-        *                              - The format of the String representation is "mm/dd/yyyy hh:mm:ss".
-        *                              - Use the Tizen::Locale namespace for a string of the locale-specific representation.
+        *      @return         A string containing Unicode representation of the value of the current instance of %DateTime
+        *      @remarks        The format of the String representation is "mm/dd/yyyy hh:mm:ss".
+        *      @remarks        Use the Tizen::Locale namespace for a string of the locale-specific representation.
         *
         */
        String ToString(void) const;
@@ -510,19 +494,18 @@ public:
         * @since 2.0
         *
         * @return              An error code
-        * @param[in]   str                                             The String representation of the date and time value
-        * @param[out]  dt                                              The result of the method
+        * @param[in]   str             A String representation of a date and time value
+        * @param[out]  dt              The result of the method
         * @exception   E_SUCCESS                               The method is successful.
         * @exception   E_INVALID_FORMAT                The specified string is in an invalid format.
-        * @exception   E_OUT_OF_RANGE                  Either of the following conditions has occurred:
-        *                                                                              - The specified string contains an invalid value.
-        *                                                                              - Either the resulting value of %DateTime is greater than the value returned by GetMaxValue()
-        *                                                                                or less than the value returned by GetMinValue().
-        *                                                                              - The specified string contains an invalid value,
-        *                                                                                for example, @c day is @c 31 when the @c month is @c 2.
+        * @exception   E_OUT_OF_RANGE                  The specified string contains an invalid value. @n
+        *                                                                              1) The resulting value of %DateTime is greater than the value returned by GetMaxValue()
+        *                                                                              or is less than the value returned by GetMinValue(). @n
+        *                                                                              2) The specified string contains an invalid value.
+        *                                                                              For example, day is 31 when the month is 2.
         * @remarks
         *                              - The format of the string is "mm/dd/yyyy hh:mm:ss".
-        *                              - This method guarantees that the original value of the out-parameter is not changed when the method returns an error.
+        *                              - This method guarantees that the original value of out-parameter is not changed when the method returns error.
         */
        static result Parse(const String& str, DateTime& dt);
 
@@ -531,7 +514,7 @@ public:
         *
         *      @since 2.0
         *
-        *      @return         The integer value that indicates the year of the current instance of %DateTime
+        *      @return         An integer value indicating the year of the current instance of %DateTime
         */
        int GetYear(void) const;
 
@@ -540,7 +523,7 @@ public:
         *
         *      @since 2.0
         *
-        *      @return         The integer value that indicates the month of the current instance of %DateTime
+        *      @return         An integer value indicating the month of the current instance of %DateTime
         */
        int GetMonth(void) const;
 
@@ -549,7 +532,7 @@ public:
         *
         *      @since 2.0
         *
-        *      @return         The integer value that indicates the day of the current instance of %DateTime
+        *      @return         An integer value indicating the day of the current instance of %DateTime
         */
        int GetDay(void) const;
 
@@ -558,7 +541,7 @@ public:
         *
         *      @since 2.0
         *
-        *      @return         The integer value that indicates the hour of the current instance of %DateTime
+        *      @return         An integer value indicating the hour of the current instance of %DateTime
         */
        int GetHour(void) const;
 
@@ -567,7 +550,7 @@ public:
         *
         *      @since 2.0
         *
-        *      @return         The integer value that indicates the minute of the current instance of %DateTime
+        *      @return         An integer value indicating the minute of the current instance of %DateTime
         */
        int GetMinute(void) const;
 
@@ -576,7 +559,7 @@ public:
         *
         *      @since 2.0
         *
-        *      @return         The integer value that indicates the second of the current instance of %DateTime
+        *      @return         An integer value indicating the second of the current instance of %DateTime
         */
        int GetSecond(void) const;
 
@@ -585,16 +568,16 @@ public:
         *
         *      @since  2.1
         *
-        *      @return         The integer value that indicates the millisecond of the current instance of %DateTime
+        *      @return         An integer value indicating the millisecond of the current instance of %DateTime
         */
        int GetMillisecond(void) const;
 
        /**
-        *      Gets the number of ticks in one second.
+        *      Gets the number of ticks in 1 second.
         *
         *      @since  2.1
         *
-        *      @return         The number of ticks in one second.
+        *      @return         The number of ticks in 1 second.
         */
        static int GetTicksPerSecond(void);
 
@@ -604,7 +587,7 @@ public:
         *
         *      @since  2.1
         *
-        *      @return         The @c long @c long value that indicates the tick of the current instance of %DateTime
+        *      @return         A @c long @c long value indicating the tick of the current instance of %DateTime
         */
        long long GetTicks(void) const;
 
@@ -647,7 +630,7 @@ public:
        bool IsLeapYear(void) const;
 
        /**
-        *      Checks whether the specified year is a leap year.
+        *      Checks whether the specified @c year is a leap year.
         *
         *      @since 2.0
         *
@@ -728,4 +711,4 @@ private:
 
 }; // DateTime
 }}  // Tizen::Base
-#endif // _FBASE_DATE_TIME_H_
+#endif // _FBASE_DATE_TIME_H_
\ No newline at end of file
index f4c0ce8..b4e49c2 100644 (file)
@@ -18,9 +18,9 @@
  * @file       FBaseDouble.h
  * @brief      This is the header file for the %Double class.
  *
- * This header file contains the declarations of the %Double class.
- *
  * @see                Tizen::Base::Number
+ *
+ * This header file contains the declarations of the %Double class.
  */
 #ifndef _FBASE_DOUBLE_H_
 #define _FBASE_DOUBLE_H_
@@ -41,7 +41,7 @@ namespace Tizen { namespace Base
  *     1.79769313486232e308 to positive 1.79769313486232e308. This class is useful when passing a @c double
  *     value to a method expecting an instance of Object, such as Tizen::Base::Collection::Queue or
  *     Tizen::Base::Collection::Stack. Furthermore, this class provides methods for converting
- *     %Double (and @c double) to String, and %String to %Double (and @c double).
+ *     %Double (and @c double) to String, and String to %Double (and @c double).
  *
  *  The following example demonstrates how to use the %Double class.
  *
@@ -84,7 +84,7 @@ public:
         *
         * @since 2.0
         *
-        * @param[in]   value   The @c double value
+        * @param[in]   value   A @c double value
         */
        Double(double value = 0.0L);
 
@@ -93,7 +93,7 @@ public:
         *
         * @since 2.0
         *
-        * @param[in]   value   An instance of %Double to copy
+        * @param[in]   value   An instance of %Double
         */
        Double(const Double& value);
 
@@ -109,7 +109,7 @@ public:
         *
         * @since 2.0
         *
-        * @param[in]   rhs     An instance of %Double to copy
+        * @param[in]   rhs     An instance of %Double
         */
        Double& operator =(const Double& rhs);
 
@@ -118,11 +118,11 @@ public:
         *
         * @since 2.0
         *
-        * @return              The 32-bit @c signed integer value
+        * @return              A 32-bit @c signed integer value
         * @code
-        * <  0  if the value of d1 is less than the value of d2
-        * == 0  if the value of d1 is equal to the value of d2
-        * >  0  if the value of d1 is greater than the value of d2
+        * <  0  if the value of @c d1 is less than the value of @c d2
+        * == 0  if the value of @c d1 is equal to the value of @c d2
+        * >  0  if the value of @c d1 is greater than the value of @c d2
         * @endcode
         * @param[in]   d1      The first @c double value to compare
         * @param[in]   d2      The second @c double value to compare
@@ -134,11 +134,11 @@ public:
         *
         * @since 2.0
         *
-        * @return              The 32-bit @c signed integer value
+        * @return              A 32-bit @c signed integer value
         * @code
-        * <  0  if the value of the current instance is less than the specified signed double
-        * == 0  if the value of the current instance is equal to the specified signed double
-        * >  0  if the value of the current instance is greater than the specified signed double
+        * <  0  if the value of the current instance is less than the specified @c signed @c double
+        * == 0  if the value of the current instance is equal to the specified @c signed @c double
+        * >  0  if the value of the current instance is greater than the specified @c signed @c double
         * @endcode
         * @param[in]   value   A @c signed @c double value
         */
@@ -149,7 +149,7 @@ public:
         *
         * @since 2.0
         *
-        * @return              The 32-bit @c signed integer value
+        * @return              A 32-bit @c signed integer value
         * @code
         * <  0  if the value of the current instance is less than the value of the specified instance
         * == 0  if the value of the current instance is equal to the value of the specified instance
@@ -164,10 +164,10 @@ public:
         *
         * @since 2.0
         *
-        * @return              @c true if the value of the specified instance of Object is equal to the value of the current instance of %Double, @n
+        * @return              @c true if the value of the specified instance of %Object is equal to the value of the current instance of %Double, @n
         *                              else @c false
         * @param[in]   obj An instance of Object to compare
-        * @see                 Tizen::Base::Object::Equals()
+        * @see                 Tizen::Base::Object::Equals
         */
        virtual bool Equals(const Object& obj) const;
 
@@ -176,139 +176,188 @@ public:
         *
         *      @since 2.0
         *
-        *      @return         The integer value that indicates the hash value of the current instance of %Double
-        *      @remarks
-        *                              - Two equal instances must return the same hash value. @n
-        *                              For better performance, the used hash function must generate a random distribution for all the inputs.
-        *                              - The default implementation of this method returns the value of the current instance.
+        *      @return         An integer value indicating the hash value of the current instance of %Double
+        *      @remarks    Two equal instances must return the same hash value. For better performance,
+        *                              the used hash function must generate a random distribution for all inputs. @n
+        *                              The default implementation of this method returns the value of the current instance.
         */
        virtual int GetHashCode(void) const;
 
        /**
-        *   Gets the hash value of the specified @c double value.
-        *
-        *   @since 2.0
-        *
-        *   @return            The integer value that indicates the hash value of the specified @c double value
-        *   @param[in]         val   The @c double value to get the hash value
-        */
+       *        Gets the hash value of the specified @c double value.
+       *
+       *        @since 2.0
+       *
+       *        @return                An integer value indicating the hash value of the specified @c double value
+       *        @param[in]             val   A @c double value to get the hash value
+       */
        static int GetHashCode(double val);
 
        /**
-        * Parses the specified string that represents a numeric value and returns the value as @c signed @c double (as out parameter).
+        * Parses the specified string representing a numeric value and returns the value as @c signed @c double (as out parameter).
         *
         * @since 2.0
         *
         * @return              An error code
-        * @param[in]   s                               The unicode representation of @c signed @c double value
+        * @param[in]   s                               A unicode representation of @c signed @c double value
         * @param[out]  ret             The converted numeric value
         * @exception   E_SUCCESS               The method is successful.
         * @exception   E_NUM_FORMAT    The specified string does not contain a number that can be parsed.
         * @remarks
-        *                              - This method guarantees that the original value of the out-parameter is not changed when the method returns an error.
+        *                              - This method guarantees that the original value of out-parameter is not changed when the method returns error.
         *                              - The behavior of this method is dependent on the system default locale setting.
         */
        static result Parse(const String& s, double& ret);
 
        /**
-        * Gets the @c signed @c char equivalent of the current instance of %Double.
+        * Gets the @c signed @c char equivalent of the current %Double instance.
         *
         * @since 2.0
         *
-        * @return              The @c signed @c char equivalent of the current instance
+        * @return              A @c signed @c char equivalent of the current instance
         */
        virtual char ToChar(void) const;
 
        /**
-        * Gets the @c signed @c short equivalent of the current instance of %Double.
+        * Gets the @c signed @c short equivalent of the current %Double instance.
         *
         * @since 2.0
         *
-        * @return              The @c signed @c short equivalent of the current instance
+        * @return              A @c signed @c short equivalent of the current instance
         */
        virtual short ToShort(void) const;
 
        /**
-        * Gets the @c signed @c int equivalent of the current instance of %Double.
+        * Gets the @c signed @c int equivalent of the current %Double instance.
         *
         * @since 2.0
         *
-        * @return              The @c signed @c int equivalent of the current instance
+        * @return              A @c signed @c int equivalent of the current instance
         */
        virtual int ToInt(void) const;
 
        /**
-        * Gets the @c signed @c long equivalent of the current instance of %Double.
+        * Gets the @c signed @c long equivalent of the current %Double instance.
         *
         * @since 2.0
         *
-        * @return              The @c signed @c long equivalent of the current instance
+        * @return              A @c signed @c long equivalent of the current instance
         */
        virtual long ToLong(void) const;
 
        /**
-        * Gets the @c signed @c long @c long equivalent of the current instance of %Double.
+        * Gets the @c signed @c long @c long equivalent of the current %Double instance.
         *
         * @since 2.0
         *
-        * @return              The @c signed @c long @c long equivalent of the current instance
+        * @return              A @c signed @c long @c long equivalent of the current instance
         */
        virtual long long ToLongLong(void) const;
 
        /**
-        * Gets the @c signed @c float equivalent of the current instance of %Double.
+        * Gets the @c signed @c float equivalent of the current %Double instance.
         *
         * @since 2.0
         *
-        * @return              The @c signed @c float equivalent of the current instance
+        * @return              A @c signed @c float equivalent of the current instance
         */
        virtual float ToFloat(void) const;
 
        /**
-        * Gets the @c signed @c double equivalent of the current instance of %Double.
+        * Gets the @c signed @c double equivalent of the current %Double instance.
         *
         * @since 2.0
         *
-        * @return              The @c signed @c double equivalent of the current instance
+        * @return              A @c signed @c double equivalent of the current instance
         */
        virtual double ToDouble(void) const;
 
        /**
-        * Gets the string that represents the value of the current instance of %Double.
+        * Gets the string representing the value of the current %Double instance.
         *
         * @since 2.0
         *
-        * @return              The string that contains the Unicode representation of the value of the current instance
+        * @return              A string containing a Unicode representation of the current instance value.
         * @remarks
         *                              - If the value of the current instance is Not-a-Number (NaN), the result is the string "NaN". Furthermore, infinity
         *                              produces the result "Infinity". @n
-        *                              6 digits are given for the precision of this method. Use String::Format() to set the specific precision.
+        *                              6 digits are given for the precision of this method. Use Double::ToString(int precision) to set the specific precision.
         *                              - The behavior of this method is dependent on the system default locale setting.
         */
        virtual String ToString(void) const;
 
        /**
-        * Gets the string that represents the specified @c double value.
+        * Gets the string representing the value of the current %Double instance.
+        *
+        * @since 3.0
+        *
+        * @param[in]   precision       Number of digits after a decimal separator
+        * @return              A string containing a Unicode representation of the current instance value
+        * @remarks
+        *                              - If the value of the current instance is Not-a-Number (NaN), the result is the string "NaN". Furthermore, infinity
+        *                              produces the result "Infinity". @n
+        *                              - The behavior of this method is dependent on the system default locale setting.
+        *
+        * @code
+        *
+        *      Double dbl(3.1416);
+        *      String str1 = dbl.ToString(3);
+        *      // str1 contains "3.142"
+        *
+        *      String str2 = dbl.ToString(2);
+        *      // str2 contains "3.14"
+        *
+        * @endcode
+        */
+       virtual String ToString(int precision) const;
+
+       /**
+        * Gets the string representing the specified @c double value.
         *
         * @since 2.0
         *
-        * @return              The string that contains the Unicode representation of the specified @c double value
-        * @param[in]   value   The @c double value to convert
+        * @return              A string containing a Unicode representation of the specified @c double value
+        * @param[in]   value A @c double value to convert
         * @remarks
         *                              - If the input value is Not-a-Number (NaN), the result is the string "NaN". Furthermore, infinity
         *                              produces the result "Infinity". @n
-        *                              6 digits are given for the precision of this method. Use String::Format() to set the specific precision.
+        *                              6 digits are given for the precision of this method. Use Double::ToString(float value, int precision) to set the specific precision.
         *                              - The behavior of this method is dependent on the system default locale setting.
         */
        static String ToString(double value);
 
        /**
+        * Gets the string representing the specified @c double value.
+        *
+        * @since 3.0
+        *
+        * @return              A string containing a Unicode representation of the specified @c double value
+        * @param[in]   value   A @c double value to convert
+        * @param[in]   precision       Number of digits after a decimal separator
+        * @remarks
+        *                              - If the input value is Not-a-Number (NaN), the result is the string "NaN". Furthermore, infinity
+        *                              produces the result "Infinity". @n
+        *                              - The behavior of this method is dependent on the system default locale setting.
+        *
+        * @code
+        *
+        *      String str1 = Double::ToString(3.1416f, 3);
+        *      // str1 contains "3.142"
+        *
+        *      String str2 = Double::ToString(3.1416f, 2);
+        *      // str2 contains "3.14"
+        *
+        * @endcode
+        */
+       static String ToString(double value, int precision);
+
+       /**
         * Gets the IEEE 754 floating-point "double format" bit layout representation of the specified @c double value.
         *
         * @since 2.0
         *
         * @return              The bits that represent the floating-point number in the IEEE 754 floating-point "double format" bit layout
-        * @param[in]   value   The @c double value to convert
+        * @param[in]   value   A @c double value to convert
         */
        static long long ToBits(double value);
 
@@ -323,23 +372,23 @@ public:
        static double ToDoubleFromBits(long long value);
 
        /**
-        * Checks whether the current value of %Double is equal to the negative or positive infinity.
+        * Checks whether the current value of %Double is equal to negative or positive infinity.
         *
         * @since 2.0
         *
-        * @return              @c true if the current value equals the negative or positive infinity, @n
+        * @return              @c true if the current value equals negative or positive infinity, @n
         *                              else @c false
         */
        bool IsInfinity(void) const;
 
        /**
-        * Checks whether the specified @c double value is equal to the negative or positive infinity.
+        * Checks whether the specified @c double value is equal to negative or positive infinity.
         *
         * @since 2.0
         *
-        * @return              @c true if the specified value equals the negative or positive infinity, @n
+        * @return              @c true if the specified value equals negative or positive infinity, @n
         *                              else @c false
-        * @param[in]   value   The @c double value to check
+        * @param[in]   value   A @c double value to check
         */
        static bool IsInfinity(double value);
 
@@ -360,32 +409,32 @@ public:
         *
         * @return              @c true if the specified value is Not-a-Number, @n
         *                              else @c false
-        * @param[in]   value   The @c double value to check
+        * @param[in]   value   A @c double value to check
         */
        static bool IsNaN(double value);
 
        /**
-        * Gets the constant holding the largest positive finite value of type @c double. @n
+        * Gets a constant holding the largest positive finite value of type @c double. @n
         * This is equal to the value defined in Limit.h of the C library.
         *
         * @since 2.0
         *
-        * @return              The constant holding the largest positive finite value of type @c double
+        * @return              A constant holding the largest positive finite value of type @c double
         */
        static double GetMaxValue(void);
 
        /**
-        * Gets the constant holding the smallest positive non-zero value of type @c double. @n
+        * Gets a constant holding the smallest positive non-zero value of type @c double. @n
         * This is equal to the value defined in Limit.h of the C library.
         *
         * @since 2.0
         *
-        * @return              The constant holding the smallest possible non-zero value of type @c double
+        * @return              A constant holding the smallest possible non-zero value of type @c double
         */
        static double GetMinValue(void);
 
        /**
-        * The @c double value of this instance.
+        * A @c double value of this instance.
         *
         * @since 2.0
         */
index e029247..1a7aa44 100644 (file)
  * @file               FBaseDoubleComparer.h
  * @brief              This is the header file for the %DoubleComparer class.
  *
- * This header file contains the declarations of the %DoubleComparer class.
+ * @see                        Double and Tizen::Base::Collection::IComparer
  *
- * @see                        Tizen::Base::Double
- * @see                        Tizen::Base::Collection::IComparer
+ * This header file contains the declarations of the %DoubleComparer class.
  */
 #ifndef _FBASE_DOUBLE_COMPARER_H_
 #define _FBASE_DOUBLE_COMPARER_H_
@@ -33,11 +32,11 @@ namespace Tizen { namespace Base
 {
 /**
  *     @class  DoubleComparer
- *     @brief  This class checks for equivalence between two instances of the %Double type.
+ *     @brief  This class checks for equivalence between 2 instances of the %Double type.
  *
  *     @since 2.0
  *
- *     The %DoubleComparer class checks for equivalence between two instances of the Double type.
+ *     The %DoubleComparer class checks for equivalence between 2 instances of the Double type.
  *
  *  For more information on the class features, see <a href="../org.tizen.native.appprogramming/html/guide/base/collection_comparison.htm">Collection Comparisons</a>.
  *
@@ -91,17 +90,17 @@ public:
         *      @since 2.0
         *
         *      @return         An error code
-        *      @param[in]      obj1                    The first instance of type Double
-        *      @param[in]      obj2                    The second instance of type Double
-        *      @param[out] cmp                         The result of the comparison
+        *      @param[in]      obj1    The first instance of type Double
+        *      @param[in]      obj2    The second instance of type Double
+        *      @param[out] cmp         The result of comparison
         *  @exception  E_SUCCESS               The method is successful.
         *  @exception  E_INVALID_ARG   The specified object instances are not of the expected type.
         *  @remarks    The value of @c cmp can be:
         *
         *      @code
-        *      <  0  if the value of obj1 is less than the value of obj2
-        *      == 0  if the value of obj1 is equal to the value of obj2
-        *      >  0  if the value of obj1 is greater than the value of obj2
+        *      <  0  if the value of @c obj1 is less than the value of @c obj2
+        *      == 0  if the value of @c obj1 is equal to the value of @c obj2
+        *      >  0  if the value of @c obj1 is greater than the value of @c obj2
         *      @endcode
         */
        virtual result Compare(const Tizen::Base::Object& obj1, const Tizen::Base::Object& obj2, int& cmp) const;
@@ -122,4 +121,4 @@ private:
 
 }; // DoubleComparer
 }} // Tizen::Base
-#endif // _FBASE_DOUBLE_COMPARER_H_
+#endif // _FBASE_DOUBLE_COMPARER_H_
\ No newline at end of file
index 04f65b9..35d035c 100644 (file)
@@ -36,7 +36,7 @@ namespace Tizen { namespace Base
  *
  * @since 2.0
  *
- * The %DoubleMatrix class provides a @c double precision, two-dimensional matrix.
+ * The %DoubleMatrix class provides a @c double precision, two-dimensional matrix class.
  *
  */
 class _OSP_EXPORT_ DoubleMatrix
@@ -48,12 +48,12 @@ public:
         *
         * @since 2.0
         *
-        * @param[in]   rhs     An instance of %DoubleMatrix to copy
+        * @param[in]   rhs     An instance of %DoubleMatrix
         */
        DoubleMatrix(const DoubleMatrix& rhs);
 
        /**
-        * Constructs a row by column null matrix in which all the elements are zero.
+        * Constructs a row by column null matrix in which all elements are zero.
         *
         * @since 2.0
         *
@@ -69,8 +69,7 @@ public:
         *
         * @param[in]   rowCount        The number of rows in the current instance
         * @param[in]   columnCount     The number of columns in the current instance
-        * @param[in]   pArray          The one-dimensional array @n 
-        *                                                      The array must be at least row * column in length.
+        * @param[in]   pArray          A one-dimensional array @n The array must be at least row * column in length.
         * @param[in]   rowMajor        Set to @c true to copy the array in row-major order, @n
         *                                                      else @c copy in column-major order
         */
@@ -83,8 +82,7 @@ public:
         *
         * @param[in]   rowCount        The number of rows in the current instance
         * @param[in]   columnCount     The number of columns in the current instance
-        * @param[in]   pArray[]        The two-dimensional array @n 
-        *                                                      The array must be at least row * column in length.
+        * @param[in]   pArray[]        A two-dimensional array @n The array must be at least row * column in length.
         */
        DoubleMatrix(int rowCount, int columnCount, const double* pArray[]);
 
@@ -101,7 +99,7 @@ public:
         *
         * @since 2.0
         *
-        * @return              @c true if all the matrix members of the current instance are equal to the corresponding matrix members in the specified instance, @n
+        * @return              @c true if all matrix members of the current instance are equal to the corresponding matrix members in the specified instance, @n
         *                              else @c false
         * @param[in]   rhs     An instance of %DoubleMatrix
         */
@@ -123,13 +121,12 @@ public:
         *
         * @since 2.0
         *
-        * @return              A reference to this instance
-        * @param[in]   rhs                             An instance of %DoubleMatrix
-        * @exception   E_INVALID_ARG   Either the row or the column count of the current instance is not same as that of the specified instance.
-        * @remarks
-        *                              - The specific error code can be accessed using the GetLastResult() method.
-        *                              - If either the row or the column count of the current instance is not same as that of the specified instance,
-        *                              this method returns the reference to this instance without assigning.
+        * @return              The reference to this instance
+        * @param[in]   rhs     An instance of %DoubleMatrix
+        * @exception   E_INVALID_ARG   Either row or column count of the current instance is not same with that of the specified instance.
+        * @remarks             The specific error code can be accessed using the GetLastResult() method.
+        * @remarks             If either row or column count of the current instance is not same with that of the specified instance,
+        *                              return the reference to this instance without assigning.
         */
        DoubleMatrix& operator =(const DoubleMatrix& rhs);
 
@@ -138,12 +135,10 @@ public:
         *
         * @since 2.0
         *
-        * @return              @c true if the values of the current instance are equal to the values of the specified instance, @n
+        * @return              @c true if the values of the current instance are equal to the value of the specified instance, @n
         *                              else @c false
         * @param[in]   obj     An instance of %DoubleMatrix
-        * @remarks
-        *                              - This method overrides Tizen::Base::Object::Equals(). 
-        *                              - This method uses the values of the Matrix components to compare the two instances.
+        * @remarks             This method overrides Tizen::Base::Object::Equals(). This method uses the values of the Matrix components to compare the two instances.
         */
        virtual bool Equals(const Tizen::Base::Object& obj) const;
 
@@ -153,8 +148,8 @@ public:
         * @since 2.0
         *
         * @return              The hash value of the current instance
-        * @remarks             Two equal instances must return the same hash value. @n
-        *                              For better performance, the used hash function must generate a random distribution for all the inputs.
+        * @remarks             Two equal instances must return the same hash value. For better performance,
+        *                              the used hash function must generate a random distribution for all inputs.
         */
        virtual int GetHashCode(void) const;
 
@@ -164,27 +159,27 @@ public:
         * @since 2.0
         *
         * @return              An error code
-        * @param[in]   matrix                  An instance of %DoubleMatrix
-        * @exception   E_SUCCESS               The method is successful.
-        * @exception   E_INVALID_ARG   Either the row or the column count of the current instance is not same as that of the specified instance.
+        * @param[in]   matrix  An instance of %DoubleMatrix
+        * @exception   E_SUCCESS       The method is successful.
+        * @exception   E_INVALID_ARG   Either row or column count of the current instance is not same with that of the specified instance.
         */
        result Add(const DoubleMatrix& matrix);
 
        /**
-        * Adds the value to each matrix member of the current instance of %DoubleMatrix.
+        * Adds the value to each matrix members of the current instance of %DoubleMatrix.
         *
         * @since 2.0
         *
-        * @param[in]   value   The @c double value to add
+        * @param[in]   value   A @c double value to add
         */
        void AddToEachElement(double value);
 
        /**
-        * Gets the number of columns in the current instance of %DoubleMatrix.
+        * Gets the number of column in the current instance of %DoubleMatrix.
         *
         * @since 2.0
         *
-        * @return              The number of columns in the current instance
+        * @return              The number of column in the current instance
         */
        int GetColumnCount(void) const;
 
@@ -193,8 +188,8 @@ public:
         *
         * @since 2.0
         *
-        * @return              A pointer to the @c double array
-        * @param[in]   columnIndex             The target column number in the current instance
+        * @return              A pointer to @c double array
+        * @param[in]   columnIndex     The target column number in the current instance
         * @exception   E_INVALID_ARG   The @c columnIndex is larger than the column count of the current instance.
         * @remarks             The specific error code can be accessed using the GetLastResult() method.
         */
@@ -206,10 +201,9 @@ public:
         * @since 2.0
         *
         * @return              The determinant value of the current instance
-        * @exception   E_INVALID_OPERATION                     The current instance is not a square matrix.
-        * @remarks
-        *                              - The specific error code can be accessed using the GetLastResult() method.
-        *                              - If the current instance is not a square matrix, this method returns zero.
+        * @exception   E_INVALID_OPERATION     The current instance is not a square matrix.
+        * @remarks             The specific error code can be accessed using the GetLastResult() method.
+        * @remarks             If the current instance is not a square matrix, return zero.
         */
        double GetDeterminant(void) const;
 
@@ -219,9 +213,9 @@ public:
         * @since 2.0
         *
         * @return              The value at the specified row and column of the current instance
-        * @param[in]   rowIndex                        The target row number in the current instance
-        * @param[in]   columnIndex                     The target column number in the current instance
-        * @exception   E_INVALID_ARG           The @c columnIndex or @c rowIndex is larger than that of the current instance.
+        * @param[in]   rowIndex        The target row number in the current instance
+        * @param[in]   columnIndex     The target column number in the current instance
+        * @exception   E_INVALID_ARG   The @c columnIndex or @c rowIndex is larger than that of the current instance.
         * @remarks             The specific error code can be accessed using the GetLastResult() method.
         */
        double GetElement(int rowIndex, int columnIndex) const;
@@ -231,18 +225,18 @@ public:
         *
         * @since 2.0
         *
-        * @return              A pointer to the instance of %DoubleMatrix that contains the resulting value of the operation
-        * @exception   E_INVALID_OPERATION                     The current instance is not a square matrix.
+        * @return              A pointer to the instance of %DoubleMatrix containing the resulting value of the operation
+        * @exception   E_INVALID_OPERATION     The current instance is not a square matrix.
         * @remarks             The specific error code can be accessed using the GetLastResult() method.
         */
        DoubleMatrix* GetInverseN(void) const;
 
        /**
-        * Gets the number of rows in the current instance of %DoubleMatrix.
+        * Gets the number of row in the current instance of %DoubleMatrix.
         *
         * @since 2.0
         *
-        * @return      The number of rows in the current instance
+        * @return      The number of row in the current instance
         */
        int GetRowCount(void) const;
 
@@ -251,8 +245,8 @@ public:
         *
         * @since 2.0
         *
-        * @return              A pointer to the @c double array
-        * @param[in]   rowIndex                The target row number in the current instance
+        * @return              A pointer to @c double array
+        * @param[in]   rowIndex        The target row number in the current instance
         * @exception   E_INVALID_ARG   The @c rowIndex is larger than the row count of the current instance.
         * @remarks             The specific error code can be accessed using the GetLastResult() method.
         */
@@ -264,8 +258,8 @@ public:
         * @since 2.0
         *
         * @return              An error code
-        * @param[out]  value                           The @c double value
-        * @exception   E_SUCCESS                       The method is successful.
+        * @param[out]  value   A @c double value
+        * @exception   E_SUCCESS       The method is successful.
         * @exception   E_INVALID_OPERATION     The current instance is not a square matrix.
         */
        result GetTrace(double& value) const;
@@ -275,8 +269,8 @@ public:
         *
         * @since 2.0
         *
-        * @return              A pointer to the %DoubleMatrix instance that contains the resulting value of the operation
-        * @exception   E_INVALID_OPERATION                     The current instance is not a square matrix.
+        * @return              A pointer to the instance of %DoubleMatrix containing the resulting value of the operation
+        * @exception   E_INVALID_OPERATION     The current instance is not a square matrix.
         * @remarks             The specific error code can be accessed using the GetLastResult() method.
         */
        DoubleMatrix* GetTransposeN(void) const;
@@ -307,18 +301,18 @@ public:
         * @since 2.0
         *
         * @return              An error code
-        * @param[in]   matrix                  An instance of %DoubleMatrix
-        * @exception   E_SUCCESS               The method is successful.
-        * @exception   E_INVALID_ARG   The column count of the current instance is not same as the row count of the specified instance.
+        * @param[in]   matrix  An instance of %DoubleMatrix
+        * @exception   E_SUCCESS       The method is successful.
+        * @exception   E_INVALID_ARG   The column count of the current instance is not same with the row count of the specified instance.
         */
        result Multiply(const DoubleMatrix& matrix);
 
        /**
-        * Multiplies the value with each matrix member of the current instance of %DoubleMatrix.
+        * Multiplies the value with each matrix members of the current instance of %DoubleMatrix.
         *
         * @since 2.0
         *
-        * @param[in]   value   The @c double value to multiply
+        * @param[in]   value   A @c double value to multiply
         */
        void Multiply(double value);
 
@@ -335,7 +329,7 @@ public:
         * @since 2.0
         *
         * @return              An error code
-        * @exception   E_SUCCESS                       The method is successful.
+        * @exception   E_SUCCESS       The method is successful.
         * @exception   E_INVALID_OPERATION     The current instance is not a square matrix.
         */
        result SetAsIdentity(void);
@@ -346,7 +340,7 @@ public:
         * @since 2.0
         *
         * @return              An error code
-        * @exception   E_SUCCESS                       The method is successful.
+        * @exception   E_SUCCESS       The method is successful.
         * @exception   E_INVALID_OPERATION     The current instance is not a square matrix.
         */
        result Invert(void);
@@ -357,7 +351,7 @@ public:
         * @since 2.0
         *
         * @return              An error code
-        * @exception   E_SUCCESS                       The method is successful.
+        * @exception   E_SUCCESS       The method is successful.
         * @exception   E_INVALID_OPERATION     The current instance is not a square matrix.
         */
        result Transpose(void);
@@ -368,13 +362,10 @@ public:
         * @since 2.0
         *
         * @return              An error code
-        * @param[in]   columnIndex             The target column number in the current instance
-        * @param[in]   pArray                  The array which includes the values @n 
-        *                                                              The array must be at least row in length.
-        * @exception   E_SUCCESS               The method is successful.
-        * @exception   E_INVALID_ARG   Either of the following conditions has occurred:
-        *                                                              - The specified @c pArray is @c null.
-        *                                                              - The specified @c columnIndex is larger than the column count of the current instance.
+        * @param[in]   columnIndex     The target column number in the current instance
+        * @param[in]   pArray  An array which includes the values @n The array must be at least row in length.
+        * @exception   E_SUCCESS       The method is successful.
+        * @exception   E_INVALID_ARG   The @c pArray is @c null, or the @c columnIndex is larger than the column count of the current instance.
         */
        result SetColumn(int columnIndex, const double* pArray);
 
@@ -384,13 +375,10 @@ public:
         * @since 2.0
         *
         * @return              An error code
-        * @param[in]   rowIndex                        The target row number in the current instance
-        * @param[in]   pArray                          The array which includes the values @n 
-        *                                                                      The array must be at least column in length.
-        * @exception   E_SUCCESS                       The method is successful.
-        * @exception   E_INVALID_ARG           Either of the following conditions has occurred:
-        *                                                                      - The specified @c pArray is @c null.
-        *                                                                      - The specified @c rowIndex is larger than the row count of the current instance.
+        * @param[in]   rowIndex        The target row number in the current instance
+        * @param[in]   pArray  An array which includes the values @n The array must be at least column in length.
+        * @exception   E_SUCCESS       The method is successful.
+        * @exception   E_INVALID_ARG   The @c pArray is @c null, or the @c rowIndex is larger than the row count of the current instance.
         */
        result SetRow(int rowIndex, const double* pArray);
 
@@ -400,34 +388,31 @@ public:
         * @since 2.0
         *
         * @return              An error code
-        * @param[in]   rowIndex                The target row number in the current instance
-        * @param[in]   columnIndex             The target column number in the current instance
-        * @param[in]   value                   The @c double value
-        * @exception   E_SUCCESS               The method is successful.
-        * @exception   E_INVALID_ARG   Either of the following conditions has occurred:
-        *                                                              - The specified @c pArray is @c null.
-        *                                                              - The specified @c rowIndex is larger than the row count of the current instance.
-        *                                                              - The specified @c columnIndex is larger than the column count of the current instance.
+        * @param[in]   rowIndex        The target row number in the current instance
+        * @param[in]   columnIndex     The target column number in the current instance
+        * @param[in]   value   A @c double value
+        * @exception   E_SUCCESS       The method is successful.
+        * @exception   E_INVALID_ARG   The pArray is @c null, or the @c rowIndex is larger than the row count of the current instance,
+        *                              or the @c columnIndex is larger than the column count of the current instance.
         */
        result SetElement(int rowIndex, int columnIndex, double value);
 
        /**
-        * Sets the values to the current instance of %DoubleMatrix in either the row-major or the column-major order.
+        * Sets the values to the current instance of %DoubleMatrix in either the row-major or column-major order.
         *
         * @since 2.0
         *
         * @return              An error code
-        * @param[in]   pArray                  The one-dimensional array @n 
-        *                                                              The array must be at least row * column in length.
-        * @param[in]   rowMajor                Set to @c true to copy the array in row-major order, @n
-        *                                                              else @c copy in column-major order
-        * @exception   E_SUCCESS               The method is successful.
-        * @exception   E_INVALID_ARG   The specified @c pArray is @c null.
+        * @param[in]   pArray  A one-dimensional array @n The array must be at least row * column in length.
+        * @param[in]   rowMajor        Set to @c true to copy the array in row-major order, @n
+        *                                                      else @c copy in column-major order
+        * @exception   E_SUCCESS       The method is successful.
+        * @exception   E_INVALID_ARG   The @c pArray is @c null.
         */
        result SetValue(const double* pArray, bool rowMajor = true);
 
        /**
-        * Sets the matrix members of the current instance of %DoubleMatrix to zero.
+        * Sets the matrix members of current instance of %DoubleMatrix to zero.
         *
         * @since 2.0
         */
@@ -439,18 +424,18 @@ public:
         * @since 2.0
         *
         * @return              An error code
-        * @param[in]   matrix                  An instance of %DoubleMatrix
-        * @exception   E_SUCCESS               The method is successful.
-        * @exception   E_INVALID_ARG   Either the row or the column count of the current instance is not same as that of the specified instance.
+        * @param[in]   matrix  An instance of %DoubleMatrix
+        * @exception   E_SUCCESS       The method is successful.
+        * @exception   E_INVALID_ARG   Either row or column count of the current instance is not same with that of the specified instance.
         */
        result Subtract(const DoubleMatrix& matrix);
 
        /**
-        * Subtracts the value from each matrix member of the current instance of %DoubleMatrix.
+        * Subtracts the value from each matrix members of the current instance of %DoubleMatrix.
         *
         * @since 2.0
         *
-        * @param[in]   value   The @c double value to subtract
+        * @param[in]   value   A @c double value to subtract
         */
        void SubtractToEachElement(double value);
 
@@ -475,4 +460,4 @@ private:
 
 }; // DoubleMatrix
 }} // Tizen::Base
-#endif //_FBASE_DOUBLE_MATRIX_H_
+#endif //_FBASE_DOUBLE_MATRIX_H_
\ No newline at end of file
index 86d99f2..4a4f81f 100644 (file)
@@ -36,7 +36,7 @@ namespace Tizen { namespace Base
  *
  * @since 2.0
  *
- * The %DoubleMatrix3 class provides a @c double precision, two-dimensional matrix.
+ * The %DoubleMatrix3 class provides a @c double precision, two-dimensional matrix class.
  *
  */
 class _OSP_EXPORT_ DoubleMatrix3
@@ -45,7 +45,7 @@ class _OSP_EXPORT_ DoubleMatrix3
 public:
        /**
         * This is the default constructor for this class. @n
-        * Constructs a 3 X 3 null matrix in which all the elements are zero.
+        * Constructs a 3 X 3 null matrix in which all elements are zero.
         *
         * @since 2.0
         */
@@ -56,7 +56,7 @@ public:
         *
         * @since 2.0
         *
-        * @param[in]   rhs             An instance of %DoubleMatrix3 to copy
+        * @param[in]   rhs     An instance of %DoubleMatrix3
         */
        DoubleMatrix3(const DoubleMatrix3& rhs);
 
@@ -81,7 +81,7 @@ public:
         *
         * @since 2.0
         *
-        * @return              @c true if all the matrix members of the current instance are equal to the corresponding matrix members in the specified instance, @n
+        * @return              @c true if all matrix members of the current instance are equal to the corresponding matrix members in the specified instance, @n
         *                              else @c false
         * @param[in]   rhs     An instance of %DoubleMatrix3
         */
@@ -92,7 +92,7 @@ public:
         *
         * @since 2.0
         *
-        * @return              @c true if all the matrix members of the current instance are not equal to the corresponding matrix members in the specified instance, @n
+        * @return              @c true if all matrix members of the current instance are not equal to the corresponding matrix members in the specified instance, @n
         *                              else @c false
         * @param[in]   rhs     An instance of %DoubleMatrix3
         */
@@ -103,7 +103,7 @@ public:
         *
         * @since 2.0
         *
-        * @return              A reference to this instance
+        * @return              The reference to this instance
         * @param[in]   rhs     An instance of %DoubleMatrix3
         */
        DoubleMatrix3& operator =(const DoubleMatrix3& rhs);
@@ -113,8 +113,8 @@ public:
         *
         * @since 2.0
         *
-        * @return              A reference to this instance
-        * @param[in]   value   The @c double value to assign
+        * @return              The reference to this instance
+        * @param[in]   value   A @c double value to assign
         */
        DoubleMatrix3& operator =(double value);
 
@@ -123,38 +123,38 @@ public:
         *
         * @since 2.0
         *
-        * @return              A new instance of %DoubleMatrix3 that contains the resulting value of the operation
+        * @return              A new instance of %DoubleMatrix3 containing the resulting value of the operation
         * @param[in]   rhs     An instance of %DoubleMatrix3
         */
        DoubleMatrix3 operator *(const DoubleMatrix3& rhs) const;
 
        /**
-        * Multiplies the value to each matrix member of the current instance of %DoubleMatrix3.
+        * Multiplies the value to each matrix members of current instance of %DoubleMatrix3.
         *
         * @since 2.0
         *
-        * @return              A new instance of %DoubleMatrix3 that contains the resulting value of the operation
-        * @param[in]   value   The @c double value to multiply
+        * @return              A new instance of %DoubleMatrix3 containing the resulting value of the operation
+        * @param[in]   value   A @c double value to multiply
         */
        DoubleMatrix3 operator *(double value) const;
 
        /**
-        * Adds the value of the specified instance to the current instance of %DoubleMatrix3.
+        * Adds the value of the specified instance and the current instance of %DoubleMatrix3.
         *
         * @since 2.0
         *
-        * @return              A new instance of %DoubleMatrix3 that contains the resulting value of the operation
+        * @return              A new instance of %DoubleMatrix3 containing the resulting value of the operation
         * @param[in]   rhs     An instance of %DoubleMatrix3
         */
        DoubleMatrix3 operator +(const DoubleMatrix3& rhs) const;
 
        /**
-        * Adds the value to each matrix member of the current instance of %DoubleMatrix3.
+        * Adds the value to each matrix members of current instance of %DoubleMatrix3.
         *
         * @since 2.0
         *
-        * @return              A new instance of %DoubleMatrix3 that contains the resulting value of the operation
-        * @param[in]   value   The @c double value to add
+        * @return              A new instance of %DoubleMatrix3 containing the resulting value of the operation
+        * @param[in]   value   A @c double value to add
         */
        DoubleMatrix3 operator +(double value) const;
 
@@ -163,38 +163,38 @@ public:
         *
         * @since 2.0
         *
-        * @return              A new instance of %DoubleMatrix3 that contains the resulting value of the operation
+        * @return              A new instance of %DoubleMatrix3 containing the resulting value of the operation
         * @param[in]   rhs     An instance of %DoubleMatrix3
         */
        DoubleMatrix3 operator -(const DoubleMatrix3& rhs) const;
 
        /**
-        * Subtracts the value from each matrix member of the current instance of %DoubleMatrix3.
+        * Subtracts the value from each matrix members of current instance of %DoubleMatrix3.
         *
         * @since 2.0
         *
-        * @return              A new instance of %DoubleMatrix3 that contains the resulting value of the operation
-        * @param[in]   value   The @c double value to subtract
+        * @return              A new instance of %DoubleMatrix3 containing the resulting value of the operation
+        * @param[in]   value   A @c double value to subtract
         */
        DoubleMatrix3 operator -(double value) const;
 
        /**
-        * Multiplies the value of the specified instance with the current instance of %DoubleMatrix3.
+        * Multiplies the value of the specified instance and the current instance of %DoubleMatrix3.
         *
         * @since 2.0
         *
-        * @return              A reference to %DoubleMatrix3 that contains the resulting value of the operation
+        * @return              The reference to %DoubleMatrix3 containing the resulting value of the operation
         * @param[in]   rhs     An instance of %DoubleMatrix3
         */
        DoubleMatrix3& operator *=(const DoubleMatrix3& rhs);
 
        /**
-        * Multiplies the value to each matrix member of the current instance of %DoubleMatrix3.
+        * Multiplies the value to each matrix members of current instance of %DoubleMatrix3.
         *
         * @since 2.0
         *
-        * @return              A reference to %DoubleMatrix3 that contains the resulting value of the operation
-        * @param[in]   value   The @c double value to multiply
+        * @return              The reference to %DoubleMatrix3 containing the resulting value of the operation
+        * @param[in]   value   A @c double value to multiply
         */
        DoubleMatrix3& operator *=(double value);
 
@@ -203,18 +203,18 @@ public:
         *
         * @since 2.0
         *
-        * @return              A reference to %DoubleMatrix3 that contains the resulting value of the operation
+        * @return              The reference to %DoubleMatrix3 containing the resulting value of the operation
         * @param[in]   rhs     An instance of %DoubleMatrix3
         */
        DoubleMatrix3& operator +=(const DoubleMatrix3& rhs);
 
        /**
-        * Adds the value to each matrix member of the current instance of %DoubleMatrix3.
+        * Adds the value to each matrix members of current instance of %DoubleMatrix3.
         *
         * @since 2.0
         *
-        * @return              A reference to %DoubleMatrix3 that contains the resulting value of the operation
-        * @param[in]   value   The @c double value to add
+        * @return              The reference to %DoubleMatrix3 containing the resulting value of the operation
+        * @param[in]   value   A @c double value to add
         */
        DoubleMatrix3& operator +=(double value);
 
@@ -223,51 +223,51 @@ public:
         *
         * @since 2.0
         *
-        * @return              A reference to %DoubleMatrix3 that contains the resulting value of the operation
+        * @return              The reference to %DoubleMatrix3 containing the resulting value of the operation
         * @param[in]   rhs     An instance of %DoubleMatrix3
         */
        DoubleMatrix3& operator -=(const DoubleMatrix3& rhs);
 
        /**
-        * Subtracts the value from each matrix member of the current instance of %DoubleMatrix3.
+        * Subtracts the value from each matrix members of current instance of %DoubleMatrix3.
         *
         * @since 2.0
         *
-        * @return              A reference to %DoubleMatrix3 that contains the resulting value of the operation
-        * @param[in]   value   The @c double value to subtract
+        * @return              The reference to %DoubleMatrix3 containing the resulting value of the operation
+        * @param[in]   value   A @c double value to subtract
         */
        DoubleMatrix3& operator -=(double value);
 
        /**
-        * Gets an instance of %DoubleMatrix3 resulting from the sum of the value and the specified instance of %DoubleMatrix3.
+        * Gets the instance of %DoubleMatrix3 resulting from the sum of the value and the specified instance of %DoubleMatrix3.
         *
         * @since 2.0
         *
-        * @return              A new instance of %DoubleMatrix3 that contains the resulting value of the operation
-        * @param[in]   value   The @c double value to add
-        * @param[in]   rhs             An instance of %DoubleMatrix3
+        * @return              A new instance of %DoubleMatrix3 containing the resulting value of the operation
+        * @param[in]   value   A @c double value to add
+        * @param[in]   rhs     An instance of %DoubleMatrix3
         */
        _OSP_EXPORT_ friend DoubleMatrix3 operator +(const double& value, const DoubleMatrix3& rhs);
 
        /**
-        * Gets an instance of %DoubleMatrix3 resulting from the product of the value and the specified instance of %DoubleMatrix3.
+        * Gets the instance of %DoubleMatrix3 resulting from the product of the value and the specified instance of %DoubleMatrix3.
         *
         * @since 2.0
         *
-        * @return              A new instance of %DoubleMatrix3 that contains the resulting value of the operation
-        * @param[in]   value   The @c double value to multiply
-        * @param[in]   rhs             An instance of %DoubleMatrix3
+        * @return              A new instance of %DoubleMatrix3 containing the resulting value of the operation
+        * @param[in]   value   A @c double value to multiply
+        * @param[in]   rhs     An instance of %DoubleMatrix3
         */
        _OSP_EXPORT_ friend DoubleMatrix3 operator *(const double& value, const DoubleMatrix3& rhs);
 
        /**
-        * Gets an instance of %DoubleMatrix3 resulting from the difference between the value and the specified instance of %DoubleMatrix3.
+        * Gets the instance of %DoubleMatrix3 resulting from the difference between the value and the specified instance of %DoubleMatrix3.
         *
         * @since 2.0
         *
-        * @return              A new instance of %DoubleMatrix3 that contains the resulting value of the operation
-        * @param[in]   value   The @c double value to subtract
-        * @param[in]   rhs             An instance of %DoubleMatrix3
+        * @return              A new instance of %DoubleMatrix3 containing the resulting value of the operation
+        * @param[in]   value   A @c double value to subtract
+        * @param[in]   rhs     An instance of %DoubleMatrix3
         */
        _OSP_EXPORT_ friend DoubleMatrix3 operator -(const double& value, const DoubleMatrix3& rhs);
 
@@ -279,9 +279,7 @@ public:
         * @return              @c true if the values of the current instance is equal to the value of the specified instance, @n
         *                              else @c false
         * @param[in]   obj     An instance of %DoubleMatrix3
-        * @remarks
-        *                              - This method overrides Tizen::Base::Object::Equals(). 
-        *                              - This method uses the values of the Matrix components to compare the two instances.
+        * @remarks             This method overrides Tizen::Base::Object::Equals(). This method uses the values of the Matrix components to compare the two instances.
         */
        virtual bool Equals(const Tizen::Base::Object& obj) const;
 
@@ -291,8 +289,8 @@ public:
         * @since 2.0
         *
         * @return              The hash value of the current instance
-        * @remarks             Two equal instances must return the same hash value. @n
-        *                              For better performance, the used hash function must generate a random distribution for all the inputs.
+        * @remarks             Two equal instances must return the same hash value. For better performance,
+        *                              the used hash function must generate a random distribution for all inputs.
         */
        virtual int GetHashCode(void) const;
 
@@ -310,8 +308,8 @@ public:
         *
         * @since 2.0
         *
-        * @return              A new instance of %DoubleMatrix3 that contains the resulting value of the operation
-        * @remarks             This method must be called after checking whether the matrix is invertible or not.
+        * @return              A new instance of %DoubleMatrix3 containing the resulting value of the operation
+        * @remarks             This function must be called after checking whether the matrix is invertible or not.
         */
        DoubleMatrix3 GetInverse(void) const;
 
@@ -329,7 +327,7 @@ public:
         *
         * @since 2.0
         *
-        * @return              A new instance of %DoubleMatrix3 that contains the resulting value of the operation
+        * @return              A new instance of %DoubleMatrix3 containing the resulting value of the operation
         */
        DoubleMatrix3 GetTranspose(void) const;
 
@@ -354,7 +352,7 @@ public:
        bool IsInvertible(void) const;
 
        /**
-        * Negates the matrix members of the current instance of %DoubleMatrix3.
+        * Negates the matrix members of current instance of %DoubleMatrix3.
         *
         * @since 2.0
         */
@@ -373,20 +371,20 @@ public:
         * @since 2.0
         *
         * @return              An error code
-        * @exception   E_SUCCESS                       The method is successful.
+        * @exception   E_SUCCESS       The method is successful.
         * @exception   E_INVALID_OPERATION     The current instance is not invertible.
         */
        result Invert(void);
 
        /**
-        * Sets the transposed matrix of the current instance of %DoubleMatrix3.
+        * Sets the transposed matrix to the current instance of %DoubleMatrix3.
         *
         * @since 2.0
         */
        void Transpose(void);
 
        /**
-        * Sets the matrix members of the current instance of %DoubleMatrix3 to zero.
+        * Sets the matrix members of current instance of %DoubleMatrix3 to zero.
         *
         * @since 2.0
         */
@@ -407,4 +405,4 @@ private:
 
 }; // DoubleMatrix3
 }} // Tizen::Base
-#endif //_FBASE_DOUBLE_MATRIX3_H_
+#endif //_FBASE_DOUBLE_MATRIX3_H_
\ No newline at end of file
index 98298bd..8dccc11 100644 (file)
@@ -45,7 +45,7 @@ class _OSP_EXPORT_ DoubleMatrix4
 public:
        /**
         * This is the default constructor for this class. @n
-        * Constructs a 4 X 4 null matrix in which all the elements are zero.
+        * Constructs a 4 X 4 null matrix in which all elements are zero.
         *
         * @since 2.0
         */
@@ -56,7 +56,7 @@ public:
         *
         * @since 2.0
         *
-        * @param[in]   rhs     An instance of %DoubleMatrix4 to copy
+        * @param[in]   rhs     An instance of %DoubleMatrix4
         */
        DoubleMatrix4(const DoubleMatrix4& rhs);
 
@@ -81,7 +81,7 @@ public:
         *
         * @since 2.0
         *
-        * @return              @c true if all the matrix members of the current instance are equal to the corresponding matrix members in the specified instance, @n
+        * @return              @c true if all matrix members of the current instance are equal to the corresponding matrix members in the specified instance, @n
         *                              else @c false
         * @param[in]   rhs     An instance of %DoubleMatrix4
         */
@@ -92,7 +92,7 @@ public:
         *
         * @since 2.0
         *
-        * @return              @c true if all the matrix members of the current instance are not equal to the corresponding matrix members in the specified instance, @n
+        * @return              @c true if all matrix members of the current instance are not equal to the corresponding matrix members in the specified instance, @n
         *                              else @c false
         * @param[in]   rhs     An instance of %DoubleMatrix4
         */
@@ -103,7 +103,7 @@ public:
         *
         * @since 2.0
         *
-        * @return              A reference to this instance
+        * @return              The reference to this instance
         * @param[in]   rhs     An instance of %DoubleMatrix4
         */
        DoubleMatrix4& operator =(const DoubleMatrix4& rhs);
@@ -113,8 +113,8 @@ public:
         *
         * @since 2.0
         *
-        * @return              A reference to this instance
-        * @param[in]   value   The @c double value to assign
+        * @return              The reference to this instance
+        * @param[in]   value   A @c double value to assign
         */
        DoubleMatrix4& operator =(double value);
 
@@ -123,58 +123,58 @@ public:
         *
         * @since 2.0
         *
-        * @return              A new instance of %DoubleMatrix4 that contains the resulting value of the operation
+        * @return              A new instance of %DoubleMatrix4 containing the resulting value of the operation
         * @param[in]   rhs     An instance of %DoubleMatrix4
         */
        DoubleMatrix4 operator *(const DoubleMatrix4& rhs) const;
 
        /**
-        * Multiplies the value to each matrix member of current instance of %DoubleMatrix4.
+        * Multiplies the value to each matrix members of current instance of %DoubleMatrix4.
         *
         * @since 2.0
         *
-        * @return              A new instance of %DoubleMatrix4 that contains the resulting value of the operation
-        * @param[in]   value   The @c double value to multiply
+        * @return              A new instance of %DoubleMatrix4 containing the resulting value of the operation
+        * @param[in]   value   A @c double value to multiply
         */
        DoubleMatrix4 operator *(double value) const;
 
        /**
-        * Adds the value of the specified instance to the current instance of %DoubleMatrix4.
+        * Adds the value of the specified instance and the current instance of %DoubleMatrix4.
         *
         * @since 2.0
         *
-        * @return              A new instance of %DoubleMatrix4 that contains the resulting value of the operation
+        * @return              A new instance of %DoubleMatrix4 containing the resulting value of the operation
         * @param[in]   rhs     An instance of %DoubleMatrix4
         */
        DoubleMatrix4 operator +(const DoubleMatrix4& rhs) const;
 
        /**
-        * Adds the value to each matrix member of the current instance of %DoubleMatrix4.
+        * Adds the value to each matrix members of current instance of %DoubleMatrix4.
         *
         * @since 2.0
         *
-        * @return              A new instance of %DoubleMatrix4 that contains the resulting value of the operation
-        * @param[in]   value   The @c double value to add
+        * @return              A new instance of %DoubleMatrix4 containing the resulting value of the operation
+        * @param[in]   value   A @c double value to add
         */
        DoubleMatrix4 operator +(double value) const;
 
        /**
-        * Subtracts the value of the specified instance from the current instance of %DoubleMatrix4.
+        * Subtracts the value of the specified instance and the current instance of %DoubleMatrix4.
         *
         * @since 2.0
         *
-        * @return              A new instance of %DoubleMatrix4 that contains the resulting value of the operation
+        * @return              A new instance of %DoubleMatrix4 containing the resulting value of the operation
         * @param[in]   rhs     An instance of %DoubleMatrix4
         */
        DoubleMatrix4 operator -(const DoubleMatrix4& rhs) const;
 
        /**
-        * Subtracts the value from each matrix member of the current instance of %DoubleMatrix4.
+        * Subtracts the value from each matrix members of current instance of %DoubleMatrix4.
         *
         * @since 2.0
         *
-        * @return              A new instance of %DoubleMatrix4 that contains the resulting value of the operation
-        * @param[in]   value   The @c double value to subtract
+        * @return              A new instance of %DoubleMatrix4 containing the resulting value of the operation
+        * @param[in]   value   A @c double value to subtract
         */
        DoubleMatrix4 operator -(double value) const;
 
@@ -183,18 +183,18 @@ public:
         *
         * @since 2.0
         *
-        * @return              The reference to %DoubleMatrix4 that contains the resulting value of the operation
+        * @return              The reference to %DoubleMatrix4 containing the resulting value of the operation
         * @param[in]   rhs     An instance of %DoubleMatrix4
         */
        DoubleMatrix4& operator *=(const DoubleMatrix4& rhs);
 
        /**
-        * Multiplies the value to each matrix member of the current instance of %DoubleMatrix4.
+        * Multiplies the value to each matrix members of current instance of %DoubleMatrix4.
         *
         * @since 2.0
         *
-        * @return              A reference to %DoubleMatrix4 that contains the resulting value of the operation
-        * @param[in]   value   The @c double value to multiply
+        * @return              The reference to %DoubleMatrix4 containing the resulting value of the operation
+        * @param[in]   value   A @c double value to multiply
         */
        DoubleMatrix4& operator *=(double value);
 
@@ -203,18 +203,18 @@ public:
         *
         * @since 2.0
         *
-        * @return              A reference to %DoubleMatrix4 that contains the resulting value of the operation
+        * @return              The reference to %DoubleMatrix4 containing the resulting value of the operation
         * @param[in]   rhs     An instance of %DoubleMatrix4
         */
        DoubleMatrix4& operator +=(const DoubleMatrix4& rhs);
 
        /**
-        * Adds the value to each matrix member of the current instance of %DoubleMatrix4.
+        * Adds the value to each matrix members of current instance of %DoubleMatrix4.
         *
         * @since 2.0
         *
-        * @return              A reference to %DoubleMatrix4 that contains the resulting value of the operation
-        * @param[in]   value   The @c double value to add
+        * @return              The reference to %DoubleMatrix4 containing the resulting value of the operation
+        * @param[in]   value   A @c double value to add
         */
        DoubleMatrix4& operator +=(double value);
 
@@ -223,51 +223,51 @@ public:
         *
         * @since 2.0
         *
-        * @return              A reference to %DoubleMatrix4 cthat contains the resulting value of the operation
+        * @return              The reference to %DoubleMatrix4 containing the resulting value of the operation
         * @param[in]   rhs     An instance of %DoubleMatrix4
         */
        DoubleMatrix4& operator -=(const DoubleMatrix4& rhs);
 
        /**
-        * Subtracts the value from each matrix member of the current instance of %DoubleMatrix4.
+        * Subtracts the value from each matrix members of current instance of %DoubleMatrix4.
         *
         * @since 2.0
         *
-        * @return              A reference to %DoubleMatrix4 that contains the resulting value of the operation
-        * @param[in]   value   The @c double value to subtract
+        * @return              The reference to %DoubleMatrix4 containing the resulting value of the operation
+        * @param[in]   value   A @c double value to subtract
         */
        DoubleMatrix4& operator -=(double value);
 
        /**
-        * Gets an instance of %DoubleMatrix4 resulting from the sum of the value and the specified instance of %DoubleMatrix4.
+        * Gets the instance of %DoubleMatrix4 resulting from the sum of the value and the specified instance of %DoubleMatrix4.
         *
         * @since 2.0
         *
-        * @return              A new instance of %DoubleMatrix4 that contains the resulting value of the operation
-        * @param[in]   value   The @c double value to add
+        * @return              A new instance of %DoubleMatrix4 containing the resulting value of the operation
+        * @param[in]   value   A @c double value to add
         * @param[in]   rhs     An instance of %DoubleMatrix4
         */
        _OSP_EXPORT_ friend DoubleMatrix4 operator +(const double& value, const DoubleMatrix4& rhs);
 
        /**
-        * Gets an instance of %DoubleMatrix4 resulting from the product of the value and the specified instance of %DoubleMatrix4.
+        * Gets the instance of %DoubleMatrix4 resulting from the product of the value and the specified instance of %DoubleMatrix4.
         *
         * @since 2.0
         *
-        * @return              A new instance of %DoubleMatrix4 that contains the resulting value of the operation
-        * @param[in]   value   The @c double value to multiply
-        * @param[in]   rhs             An instance of %DoubleMatrix4
+        * @return              A new instance of %DoubleMatrix4 containing the resulting value of the operation
+        * @param[in]   value   A @c double value to multiply
+        * @param[in]   rhs     An instance of %DoubleMatrix4
         */
        _OSP_EXPORT_ friend DoubleMatrix4 operator *(const double& value, const DoubleMatrix4& rhs);
 
        /**
-        * Gets an instance of %DoubleMatrix4 resulting from the difference between the value and the specified instance of %DoubleMatrix4.
+        * Gets the instance of %DoubleMatrix4 resulting from the difference between the value and the specified instance of %DoubleMatrix4.
         *
         * @since 2.0
         *
-        * @return              A new instance of %DoubleMatrix4 that contains the resulting value of the operation
-        * @param[in]   value   The @c double value to subtract
-        * @param[in]   rhs             An instance of %DoubleMatrix4
+        * @return              A new instance of %DoubleMatrix4 containing the resulting value of the operation
+        * @param[in]   value   A @c double value to subtract
+        * @param[in]   rhs     An instance of %DoubleMatrix4
         */
        _OSP_EXPORT_ friend DoubleMatrix4 operator -(const double& value, const DoubleMatrix4& rhs);
 
@@ -279,9 +279,7 @@ public:
         * @return              @c true if the values of the current instance is equal to the value of the specified instance, @n
         *                              else @c false
         * @param[in]   obj     An instance of %DoubleMatrix4
-        * @remarks
-        *                              - This method overrides Tizen::Base::Object::Equals(). 
-        *                              - This method uses the values of the Matrix components to compare the two instances.
+        * @remarks             This method overrides Tizen::Base::Object::Equals(). This method uses the values of the Matrix components to compare the two instances.
         */
        virtual bool Equals(const Tizen::Base::Object& obj) const;
 
@@ -291,8 +289,8 @@ public:
         * @since 2.0
         *
         * @return              The hash value of the current instance
-        * @remarks             Two equal instances must return the same hash value. @n
-        *                              For better performance, the used hash function must generate a random distribution for all the inputs.
+        * @remarks             Two equal instances must return the same hash value. For better performance,
+        *                              the used hash function must generate a random distribution for all inputs.
         */
        virtual int GetHashCode(void) const;
 
@@ -310,8 +308,8 @@ public:
         *
         * @since 2.0
         *
-        * @return              A new instance of %DoubleMatrix4 that contains the resulting value of the operation
-        * @remarks             This method must be called after checking whether the matrix is invertible or not.
+        * @return              A new instance of %DoubleMatrix4 containing the resulting value of the operation
+        * @remarks             This function must be called after checking whether the matrix is invertible or not.
         */
        DoubleMatrix4 GetInverse(void) const;
 
@@ -329,7 +327,7 @@ public:
         *
         * @since 2.0
         *
-        * @return              A new instance of %DoubleMatrix4 that contains the resulting value of the operation
+        * @return              A new instance of %DoubleMatrix4 containing the resulting value of the operation
         */
        DoubleMatrix4 GetTranspose(void) const;
 
@@ -354,7 +352,7 @@ public:
        bool IsInvertible(void) const;
 
        /**
-        * Negates the matrix members of the current instance of %DoubleMatrix4.
+        * Negates the matrix members of current instance of %DoubleMatrix4.
         *
         * @since 2.0
         */
@@ -373,7 +371,7 @@ public:
         * @since 2.0
         *
         * @return              An error code
-        * @exception   E_SUCCESS                       The method is successful.
+        * @exception   E_SUCCESS       The method is successful.
         * @exception   E_INVALID_OPERATION     The current instance is not invertible.
         */
        result Invert(void);
@@ -386,7 +384,7 @@ public:
        void Transpose(void);
 
        /**
-        * Sets the matrix members of the current instance of %DoubleMatrix4 to zero.
+        * Sets the matrix members of current instance of %DoubleMatrix4 to zero.
         *
         * @since 2.0
         */
@@ -407,4 +405,4 @@ private:
 
 }; // DoubleMatrix4
 }} // Tizen::Base
-#endif //_FBASE_DOUBLE_MATRIX4_H_
+#endif //_FBASE_DOUBLE_MATRIX4_H_
\ No newline at end of file
index e2ebf58..1381e77 100644 (file)
@@ -16,9 +16,9 @@
 
 /**
  * @file               FBaseErrors.h
- * @brief              This is the header file that defines the error codes.
+ * @brief              This header file defines error codes.
  *
- * This header file contains the definitions of the error codes.
+ * This header file contains the definitions of error codes.
  */
 #ifndef _FBASE_ERRORS_H_
 #define _FBASE_ERRORS_H_
@@ -26,7 +26,7 @@
 #include <FBaseErrorDefine.h>
 
 //----------------------------------------------------------------------------A
-/** (specialized) Thrown when the network address is changed externally. */
+/** (specialized) Thrown when network address is changed externally. */
 #define E_ADDRESS_CHANGED               (ERR_SRC_FRAMEWORK + SET_E_CAUSE(1100))
 
 /** Thrown when the target is bounded to another source. */
 /** Thrown when the required application is not installed. */
 #define E_APP_NOT_INSTALLED             (ERR_SRC_FRAMEWORK + SET_E_CAUSE(1105))
 
-/** Thrown when the specified instance is already set to other values, instances, or resources. */
+/** Thrown when the specified instance is already set to other values, instances or resources. */
 #define E_ALREADY_SET                  (ERR_SRC_FRAMEWORK + SET_E_CAUSE(1106))
 
-/** Thrown when the specified account already exists. */
+/** Thrown when a specified account already exists. */
 #define E_ACCOUNT_ALREADY_EXIST         (ERR_SRC_FRAMEWORK + SET_E_CAUSE(1107))
 
-/** Thrown when the required account does not exist. */
+/** Thrown when a required account does not exist. */
 #define E_ACCOUNT_NOT_FOUND             (ERR_SRC_FRAMEWORK + SET_E_CAUSE(1108))
 
 //----------------------------------------------------------------------------B
 /** (specialized) ... */
 #define E_CHUNKED_TRANSACTION           (ERR_SRC_FRAMEWORK + SET_E_CAUSE(1300))
 
-/** Thrown when the connection is busy, so it cannot process the new request. */
+/** Thrown when the connection is busy, so cannot process the new request. */
 #define E_CONNECTION_BUSY               (ERR_SRC_FRAMEWORK + SET_E_CAUSE(1301))
 
-/** Thrown when the connection to a specific destination fails. */
+/** Thrown when the connection to the specific destination fails. */
 #define E_CONNECTION_FAILED             (ERR_SRC_FRAMEWORK + SET_E_CAUSE(1302))
 
 /** Thrown when the connection is reset while the other thread is still
- *  working on it. */
+ * working on it. */
 #define E_CONNECTION_RESET              (ERR_SRC_FRAMEWORK + SET_E_CAUSE(1303))
 
-/** Thrown when the token has expired. */
+/** Thrown when the token is expired. */
 #define E_CREDENTIAL_EXPIRED            (ERR_SRC_FRAMEWORK + SET_E_CAUSE(1304))
 
-/** Thrown when the server certificate verification has failed. */
+/** The server certificate verification has failed. */
 #define E_CERTIFICATE_VERIFICATION_FAILED      (ERR_SRC_FRAMEWORK + SET_E_CAUSE(1305))
 
 /** Thrown when the context data is not available. */
 /** Thrown when the requested data does not exist. */
 #define E_DATA_NOT_FOUND                (ERR_SRC_FRAMEWORK + SET_E_CAUSE(1400))
 
-/** Thrown when the underlying database system raises an exception. */
+/** Thrown when underlying database system raises exception. */
 #define E_DATABASE                      (ERR_SRC_FRAMEWORK + SET_E_CAUSE(1401))
 
-/** Thrown when the decoding operation fails. */
+/** Thrown when decoding operation fails. */
 #define E_DECODING_FAILED               (ERR_SRC_FRAMEWORK + SET_E_CAUSE(1402))
 
-/** Thrown when the device is processing the previous task, so it cannot process
- *  the new one. */
+/** Thrown when the device is processing the previous task, so cannot process
+ * the new one. */
 #define E_DEVICE_BUSY                   (ERR_SRC_FRAMEWORK + SET_E_CAUSE(1403))
 
-/** Thrown when the device fails due to an unknown reason. */
+/** Thrown when the device fails with unknown reason. */
 #define E_DEVICE_FAILED                 (ERR_SRC_FRAMEWORK + SET_E_CAUSE(1404))
 
 /** Thrown when the device does not support the specific request. */
 #define E_DEVICE_INCOMPATIBLE           (ERR_SRC_FRAMEWORK + SET_E_CAUSE(1405))
 
-/** Thrown when the device is not installed, or is not answering at all. */
+/** Thrown when the device is not installed, or not answering at all. */
 #define E_DEVICE_UNAVAILABLE            (ERR_SRC_FRAMEWORK + SET_E_CAUSE(1406))
 
 /** General DHCP exception. */
 /** General DNS exception. */
 #define E_DNS                           (ERR_SRC_FRAMEWORK + SET_E_CAUSE(1409))
 
-/** Thrown when the DNS cannot resolve the requested address. */
+/** Thrown when DNS cannot resolve the requested address. */
 #define E_DNS_NOT_FOUND                 (ERR_SRC_FRAMEWORK + SET_E_CAUSE(1410))
 
 /** Thrown when the data is not enough to generate the processing result. */
 #define E_DISPLAY_RIGHT_VIOLATED               (ERR_SRC_FRAMEWORK + SET_E_CAUSE(1412))
 
 //----------------------------------------------------------------------------E
-/** Thrown when the effects being played on the current haptic device are disabled. */
+/** Thrown when effects being played on the current haptic device are disabled. */
 #define E_EFFECTS_DISABLED              (ERR_SRC_FRAMEWORK + SET_E_CAUSE(1500))
 
 /** Thrown when a body is empty. */
 #define E_EMPTY_BODY                    (ERR_SRC_FRAMEWORK + SET_E_CAUSE(1501))
 
-/** Thrown when the encoding operation fails. */
+/** Thrown when encoding operation fails. */
 #define E_ENCODING_FAILED               (ERR_SRC_FRAMEWORK + SET_E_CAUSE(1502))
 
-/** Thrown when the end of the file or the end of the stream is reached unexpectedly
- *  during an input operation. */
+/** Thrown when an end of the file or an end of the stream is reached unexpectedly
+ * during an input operation. */
 #define E_END_OF_FILE                   (ERR_SRC_FRAMEWORK + SET_E_CAUSE(1503))
 
 //----------------------------------------------------------------------------F
 
-/** (specialized) Thrown when the application tries to call a number which is
- *   not allowed in the FDN mode, while the FDN mode is enabled. */
+/** (specialized) Thrown when application tries to call with a number which is
+ * not allowed in FDN mode, while the FDN mode is enabled. */
 #define E_FDN_MODE                      (ERR_SRC_FRAMEWORK + SET_E_CAUSE(1600))
 
-/** Thrown when an attempt to create the file denoted by the specified pathname
- *   fails. */
+/** Thrown when an attempt to create the file denoted by a specified pathname
+ *  fails. */
 #define E_FILE_ALREADY_EXIST            (ERR_SRC_FRAMEWORK + SET_E_CAUSE(1601))
 
-/** Thrown when an attempt to open the file denoted by the specified pathname
+/** Thrown when an attempt to open the file denoted by a specified pathname
  *  fails. */
 #define E_FILE_NOT_FOUND                (ERR_SRC_FRAMEWORK + SET_E_CAUSE(1602))
 
 //----------------------------------------------------------------------------G
-/** Thrown when the required group does not exist. */
+/** Thrown when a required group does not exist. */
 #define E_GROUP_NOT_FOUND               (ERR_SRC_FRAMEWORK + SET_E_CAUSE(1700))
 
 //----------------------------------------------------------------------------H
-/** Thrown when the destination host is not found. */
+/** Thrown the destination host is not found. */
 #define E_HOST_NOT_FOUND                (ERR_SRC_FRAMEWORK + SET_E_CAUSE(1800))
 
 /** Thrown when the destination host is unreachable. */
 #define E_HOST_UNREACHABLE              (ERR_SRC_FRAMEWORK + SET_E_CAUSE(1801))
 
-/** Thrown when the HTTP transaction is cancelled by the user. */
+/** Thrown the Http transaction is canceled by user. */
 #define E_HTTP_USER                     (ERR_SRC_FRAMEWORK + SET_E_CAUSE(1802))
 
 //----------------------------------------------------------------------------I
 /** Thrown when the user does not have proper permissions. */
 #define E_ILLEGAL_ACCESS                (ERR_SRC_FRAMEWORK + SET_E_CAUSE(1900))
 
-/** Thrown when the application requests for an operation which is in progress. */
+/** Thrown when the application requests an operation which is in progress. */
 #define E_IN_PROGRESS                   (ERR_SRC_FRAMEWORK + SET_E_CAUSE(1901))
 
 /** Thrown when the return type is supposed to be a file path, but the path is not accessible by the application. */
 /** Thrown when initialization fails. */
 #define E_INIT_FAILED                   (ERR_SRC_FRAMEWORK + SET_E_CAUSE(1903))
 
-/** Thrown when an instantiation fails due to a certain reason. */
+/** Thrown when an instantiation fails by certain reason. */
 #define E_INSTANTIATION_FAILED          (ERR_SRC_FRAMEWORK + SET_E_CAUSE(1904))
 
 /** Thrown when the haptic device priority is lower than that of the current
  *  effects being played, belonging to another device instance. */
 #define E_INSUFFICIENT_PRIORITY         (ERR_SRC_FRAMEWORK + SET_E_CAUSE(1905))
 
-/** Thrown when the requested operation cannot perform any further due to an
- *  interruption from another thread. */
+/** Thrown when a requested operation cannot perform any further due to an
+ * interruption from other thread. */
 #define E_INTERRUPTED                   (ERR_SRC_FRAMEWORK + SET_E_CAUSE(1906))
 
-/** Thrown when the account configuration is invalid. */
+/** Thrown when an account configuration is invalid. */
 #define E_INVALID_ACCOUNT               (ERR_SRC_FRAMEWORK + SET_E_CAUSE(1907))
 
-/** Thrown when a given address is invalid or not suitable for the requested
- *  operation. */
+/** Thrown when a given address is invalid or not suitable for a requested
+ * operation. */
 #define E_INVALID_ADDRESS               (ERR_SRC_FRAMEWORK + SET_E_CAUSE(1908))
 
 /** Thrown when a combination of passed information is not proper for performing
- *  the requested operation. */
+ * the requested operation. */
 #define E_INVALID_ARG                   (ERR_SRC_FRAMEWORK + SET_E_CAUSE(1909))
 
 /** Thrown when a combination of passed information is not proper for performing
- *  the requested operation. */
+ * the requested operation. */
 #define E_INVALID_CONDITION             (ERR_SRC_FRAMEWORK + SET_E_CAUSE(1910))
 
-/** Thrown when an operation requests for an invalid connection. */
+/** Thrown when an operation requests for invalid connection. */
 #define E_INVALID_CONNECTION            (ERR_SRC_FRAMEWORK + SET_E_CAUSE(1911))
 
-/** Thrown when the content is invalid. */
+/** Thrown when content is invalid. */
 #define E_INVALID_CONTENT               (ERR_SRC_FRAMEWORK + SET_E_CAUSE(1912))
 
-/** Thrown when the context is invalid. */
+/** Thrown when context is invalid. */
 #define E_INVALID_CONTEXT               (ERR_SRC_FRAMEWORK + SET_E_CAUSE(1913))
 
 /** Thrown when the requested (given or referenced) data is invalid. */
 #define E_INVALID_DATA                  (ERR_SRC_FRAMEWORK + SET_E_CAUSE(1914))
 
 /** (specialized) Thrown when the requested (given or referenced) domain is
- *   invalid. */
+ * invalid. */
 #define E_INVALID_DOMAIN                (ERR_SRC_FRAMEWORK + SET_E_CAUSE(1915))
 
-/** Thrown when an indicated string contains a code pointing outside the bounds of the
- *  specified character encoding scheme. */
+/** Thrown when an indicated string contains code pointing outside of bounds by the
+ * specified character encoding scheme. */
 #define E_INVALID_ENCODING_RANGE        (ERR_SRC_FRAMEWORK + SET_E_CAUSE(1916))
 
-/** Thrown when the specified input has an invalid format. */
+/** Thrown when the specified input has invalid format. */
 #define E_INVALID_FORMAT                (ERR_SRC_FRAMEWORK + SET_E_CAUSE(1917))
 
-/** (specialized) Thrown when the specified input has an invalid format. */
+/** (specialized) Thrown when  */
 #define E_INVALID_HEADER                (ERR_SRC_FRAMEWORK + SET_E_CAUSE(1918))
 
-/** Thrown when the specified input has an invalid format. */
+/** Thrown when the specified input has invalid format. */
 #define E_INVALID_KEY                   (ERR_SRC_FRAMEWORK + SET_E_CAUSE(1919))
 
-/** Thrown when the current state of the instance prohibits the execution of the
- *  specified operation. */
+/** Thrown when current state of the instance prohibits the execution of the
+ * specified operation. */
 #define E_INVALID_OPERATION             (ERR_SRC_FRAMEWORK + SET_E_CAUSE(1920))
 
 /** (specialized) Thrown when the proxy address is invalid. */
 #define E_INVALID_PROXY                 (ERR_SRC_FRAMEWORK + SET_E_CAUSE(1921))
 
-/** (specialized) Thrown when the SIM is not in proper state for processing the
- *   requested operation. */
+/** (specialized) Thrown when the SIM is not in proper state for processing the
+ * requested operation. */
 #define E_INVALID_SIM_STATE             (ERR_SRC_FRAMEWORK + SET_E_CAUSE(1922))
 
 /** (specialized) Thrown when the DNS request goes to an invalid DNS server. */
 #define E_INVALID_SESSION               (ERR_SRC_FRAMEWORK + SET_E_CAUSE(1924))
 
 /** Thrown when the socket which is responsible for the application's request
- *  is invalid. */
+ * is invalid. */
 #define E_INVALID_SOCKET                (ERR_SRC_FRAMEWORK + SET_E_CAUSE(1925))
 
-/** Thrown when an instance is not in valid state. */
+/** Thrown when an instance is not in valid state. */
 #define E_INVALID_STATE                 (ERR_SRC_FRAMEWORK + SET_E_CAUSE(1926))
 
 /** Thrown when the relevant transaction is invalid. */
 /** Thrown when the client has not joined the domain controller. */
 #define E_NOT_JOINED                    (ERR_SRC_FRAMEWORK + SET_E_CAUSE(1929))
 
-/** Thrown when the server certificate verification has failed on the client's side. */
+/** The server certificate verification has failed on client. */
 #define E_INVALID_CERTIFICATE           (ERR_SRC_FRAMEWORK + SET_E_CAUSE(1930))
 
-/** Thrown when a given url is invalid or not suitable for the requested
- *  operation. */
+/** Thrown when a given url is invalid or not suitable for a requested
+* operation. */
 #define E_INVALID_URL                   (ERR_SRC_FRAMEWORK + SET_E_CAUSE(1931))
 
-/** Thrown when the specified user ID has an invalid format. */
+/** Thrown when the specified user id has invalid format. */
 #define E_INVALID_USER_ID               (ERR_SRC_FRAMEWORK + SET_E_CAUSE(1932))
 
-/** Thrown when the specified password has an invalid format. */
+/** Thrown when the specified password has invalid format. */
 #define E_INVALID_PASSWORD              (ERR_SRC_FRAMEWORK + SET_E_CAUSE(1933))
 
 //----------------------------------------------------------------------------J
 
 //----------------------------------------------------------------------------K
-/** Thrown when the specified key already exists. */
+/** Thrown when a specified key already exists. */
 #define E_KEY_ALREADY_EXIST             (ERR_SRC_FRAMEWORK + SET_E_CAUSE(2100))
 
-/** Thrown when the required key does not exist. */
+/** Thrown when a required key does not exist. */
 #define E_KEY_NOT_FOUND                 (ERR_SRC_FRAMEWORK + SET_E_CAUSE(2101))
 
 //----------------------------------------------------------------------------L
-/** Thrown when an error related to handling landmarks occurs. */
+/** Thrown when an error related to handling landmark occurs. */
 #define E_LANDMARK                      (ERR_SRC_FRAMEWORK + SET_E_CAUSE(2200))
 
-/** Thrown when a specified library does not exist. */
+/** Thrown when a specified library does not exists. */
 #define E_LIBRARY_NOT_FOUND             (ERR_SRC_FRAMEWORK + SET_E_CAUSE(2201))
 
 /** Thrown when a specified library is not loaded. */
  * occurred. */
 #define E_LOCATION_SERVICE              (ERR_SRC_FRAMEWORK + SET_E_CAUSE(2205))
 
-/** Thrown when locking (or unlocking) fails inside the logic. So it cannot
- * guarantee synchronous operation. */
+/** Thrown when locking (or unlocking) fails inside the logic. So cannot
+ * guarantee synchronous operation. */
 #define E_LOCK_FAILED                   (ERR_SRC_FRAMEWORK + SET_E_CAUSE(2206))
 
 /** Thrown when the language is not set yet. */
 /** Thrown when the defined limit exceeds. */
 #define E_MAX_EXCEEDED                  (ERR_SRC_FRAMEWORK + SET_E_CAUSE(2300))
 
-/** Thrown when one or more of the required inputs are not provided. */
+/** Thrown when one or more of the required input is not provided. */
 #define E_MISSING_INPUT                 (ERR_SRC_FRAMEWORK + SET_E_CAUSE(2301))
 
 /** (specialized) ... */
 /** Thrown when the network is not enabled. */
 #define E_NETWORK_UNAVAILABLE           (ERR_SRC_FRAMEWORK + SET_E_CAUSE(2401))
 
-/** Thrown when the client certificate is required to connect to the server. */
+/** Thrown the client certificate is required to connect to the server. */
 #define E_NO_CERTIFICATE                (ERR_SRC_FRAMEWORK + SET_E_CAUSE(2402))
 
-/** Thrown when the operation is permitted only for members and not for the current
- *  user. */
+/** Thrown when the operation is permitted only for members, but the current
+ * user is not. */
 #define E_NOT_A_MEMBER                  (ERR_SRC_FRAMEWORK + SET_E_CAUSE(2403))
 
 /** (specialized) Thrown when Bluetooth pairing is not established. */
 /** Thrown when the target is not responding. */
 #define E_NOT_RESPONDING                (ERR_SRC_FRAMEWORK + SET_E_CAUSE(2405))
 
-/** Thrown when the specified string does not represent valid number. */
+/** Thrown when the specified string does not represent valid number. */
 #define E_NUM_FORMAT                    (ERR_SRC_FRAMEWORK + SET_E_CAUSE(2406))
 
 //----------------------------------------------------------------------------O
  * initializing. */
 #define E_ON_INITIALIZING               (ERR_SRC_FRAMEWORK + SET_E_CAUSE(2503))
 
-/** Thrown when the operation is cancelled explicitly. */
+/** Thrown when the operation is canceled explicitly. */
 #define E_OPERATION_CANCELED            (ERR_SRC_FRAMEWORK + SET_E_CAUSE(2504))
 
-/** Thrown when the operation fails due to certain reason. */
+/** Thrown when the operation fails due to certain reason. */
 #define E_OPERATION_FAILED              (ERR_SRC_FRAMEWORK + SET_E_CAUSE(2505))
 
 /** Thrown when the memory is not sufficient to perform the requested
- *  operation. */
+ * operation. */
 #define E_OUT_OF_MEMORY                 (ERR_SRC_FRAMEWORK + SET_E_CAUSE(2506))
 
 /** Thrown when the internal state of the current instance reaches the
- *  valid range. */
+ * valid range. */
 #define E_OUT_OF_RANGE                  (ERR_SRC_FRAMEWORK + SET_E_CAUSE(2507))
 
 /** Thrown when the operation has caused an overflow. */
 #define E_OVERFLOW                      (ERR_SRC_FRAMEWORK + SET_E_CAUSE(2508))
 
-/** Thrown when the OpenGL operation failed. */
+/** Thrown when OpenGL operation failed. */
 #define E_OPENGL_ERROR                  (ERR_SRC_FRAMEWORK + SET_E_CAUSE(2509))
 
 /** Thrown when the application does not register the log scope or
- *     the registered log scope does not match the query condition (log type or log provider) specified in the Query() API. */
+ *     registered log scope is not matched with query condition (log type or log provider) specified in Query() API. */
 #define E_OBJ_NOT_REGISTERED           (ERR_SRC_FRAMEWORK + SET_E_CAUSE(2510))
 
 //----------------------------------------------------------------------------P
 /** (specialized) Thrown when the requested Bluetooth pairing fails. */
 #define E_PAIRING_FAILED                (ERR_SRC_FRAMEWORK + SET_E_CAUSE(2600))
 
-/** Thrown when the parsing fails due to some reason. */
+/** Thrown when the parsing fails due to any reason. */
 #define E_PARSING_FAILED                (ERR_SRC_FRAMEWORK + SET_E_CAUSE(2601))
 
 /** Thrown when an application invokes an API without a proper privilege. */
 //----------------------------------------------------------------------------Q
 
 //----------------------------------------------------------------------------R
-/** Thrown when a write operation is requested for an instance in the read only
+/** Thrown when a write operation is requested for an instance in read only
  * mode. */
 #define E_READ_ONLY                     (ERR_SRC_FRAMEWORK + SET_E_CAUSE(2800))
 
-/** Thrown when the operation is rejected by the remote site. */
+/** Thrown when the operation is rejected by remote site. */
 #define E_REJECTED                      (ERR_SRC_FRAMEWORK + SET_E_CAUSE(2801))
 
 /** (not used) */
 /** Thrown when the required section does not exist. */
 #define E_SECTION_NOT_FOUND             (ERR_SRC_FRAMEWORK + SET_E_CAUSE(2901))
 
-/** Thrown when the server tells the device that the operation failed due to some
- *  reason. The detailed message is followed by an error code and an error message. */
+/** Thrown when a server tells the device that operation failed due to some
+ * reason. Detailed message will be followed by - error code and an error message. */
 #define E_SERVER                        (ERR_SRC_FRAMEWORK + SET_E_CAUSE(2902))
 
 /** Thrown when the dedicated service module is too busy to handle another
- *  request. */
+ * request. */
 #define E_SERVICE_BUSY                  (ERR_SRC_FRAMEWORK + SET_E_CAUSE(2903))
 
-/** Thrown when the specific service is restricted by the policy. */
+/** Thrown when the specific service is restricted by policy. */
 #define E_SERVICE_LIMITED               (ERR_SRC_FRAMEWORK + SET_E_CAUSE(2904))
 
 /** Thrown when a service is locked. */
 /** Thrown when the dedicated service is not available. */
 #define E_SERVICE_UNAVAILABLE           (ERR_SRC_FRAMEWORK + SET_E_CAUSE(2906))
 
-/** Thrown when the base session is deactivated while it is still being used. */
+/** Thrown when the base session is deactivated while it's still being used. */
 #define E_SESSION_DEACTIVATED           (ERR_SRC_FRAMEWORK + SET_E_CAUSE(2907))
 
 /** (not used) */
 /** (not used)  */
 #define E_SIZE_MISMATCH                 (ERR_SRC_FRAMEWORK + SET_E_CAUSE(2909))
 
-/** Thrown when the socket connection is closed by the user. */
+/** The socket connection closed by user. */
 #define E_SOCKET_USER                   (ERR_SRC_FRAMEWORK + SET_E_CAUSE(2910))
 
 /** Thrown when the storage is full. */
 /** (specialized) Thrown then the specified table does not exist. */
 #define E_TABLE_NOT_FOUND               (ERR_SRC_FRAMEWORK + SET_E_CAUSE(3000))
 
-/** Thrown when the operation cannot be completed within the specified time
+/** Thrown when the operation can not be completed within the specified time
  * period. */
 #define E_TIMEOUT                       (ERR_SRC_FRAMEWORK + SET_E_CAUSE(3001))
 
 /** Thrown when the URL is changed. */
 #define E_URL_CHANGED                   (ERR_SRC_FRAMEWORK + SET_E_CAUSE(3111))
 
-/** (specialized) Used by the HTTP transaction. */
+/** (specialized) used by HTTP transaction. */
 #define E_USER_AGENT_NOT_ALLOWED        (ERR_SRC_FRAMEWORK + SET_E_CAUSE(3112))
 
 /** Thrown when a user is already registered to the device. */
 //----------------------------------------------------------------------------V
 
 //----------------------------------------------------------------------------W
-/** (specialized) Thrown when the non-blocking socket operation is not
+/** (specialized) Thrown when non-blocking socket operation could not be
  * completed immediately. */
 #define E_WOULD_BLOCK                   (ERR_SRC_FRAMEWORK + SET_E_CAUSE(3300))
 
-/** Thrown when the specified object causes a deadlock. */
+/** Thrown when the specified object would cause a deadlock. */
 #define E_WOULD_DEADLOCK                (ERR_SRC_FRAMEWORK + SET_E_CAUSE(3301))
 
 //----------------------------------------------------------------------------X
index 07e7f6c..82b7abb 100644 (file)
  * @file               FBaseFloat.h
  * @brief              This is the header file for the %Float class.
  *
- * This header file contains the declarations of the %Float class.
- *
  * @see                        Tizen::Base::Number
+ *
+ * This header file contains the declarations of the %Float class.
  */
 #ifndef _FBASE_FLOAT_H_
 #define _FBASE_FLOAT_H_
 
 #include <FBaseNumber.h>
 
+
 namespace Tizen { namespace Base
 {
 /**
@@ -86,7 +87,7 @@ public:
         *
         *      @since                  2.0
         *
-        *      @param[in]      value   The @c float value
+        *      @param[in]      value   A @c float value
         */
        Float(float value = 0.0);
 
@@ -96,7 +97,7 @@ public:
         *
         *      @since                  2.0
         *
-        *      @param[in]      value   An instance of %Float to copy
+        *      @param[in]      value   An instance of %Float
         */
        Float(const Float& value);
 
@@ -112,7 +113,7 @@ public:
         *
         *      @since                  2.0
         *
-        *      @param[in]      rhs     An instance of %Float to copy
+        *      @param[in]      rhs     An instance of %Float
         */
        Float& operator =(const Float& rhs);
 
@@ -121,11 +122,11 @@ public:
         *
         *      @since          2.0
         *
-        *      @return         The 32-bit @c signed integer value
+        *      @return         A 32-bit @c signed integer value
         *      @code
-        *      <  0  if the value of f1 is less than the value of f2
-        *      == 0  if the value of f1 is equal to the value of f2
-        *      >  0  if the value of f1 is greater than the value of f2
+        *      <  0  if the value of @c f1 is less than the value of @c f2
+        *      == 0  if the value of @c f1 is equal to the value of @c f2
+        *      >  0  if the value of @c f1 is greater than the value of @c f2
         *      @endcode
         *      @param[in]      f1      The first @c float value to compare
         *      @param[in]      f2      The second @c float value to compare
@@ -133,11 +134,11 @@ public:
        static int Compare(float f1, float f2);
 
        /**
-        *      Compares the value of the current instance with the value of the specified instance of %Float.
+        *      Compares the value of the current instance with the value of the specified instance of the %Float class.
         *
         *      @since          2.0
         *
-        *      @return         The 32-bit @c signed integer value
+        *      @return         A 32-bit @c signed integer value
         *      @code
         *      @li <  0    if the value of the current instance is less than the value of the specified instance
         *      @li == 0    if the value of the current instance is equal to the value of the specified instance
@@ -152,7 +153,7 @@ public:
         *
         *      @since          2.0
         *
-        *      @return         @c true if the value of the specified instance of :Object is equal to the value of the current instance of %Float, @n
+        *      @return         @c true if the value of the specified instance of Object is equal to the value of the current instance of %Float, @n
         *                              else @c false
         *      @param[in]      obj             An instance of Object to compare
         *      @see            Tizen::Base::Object::Equals()
@@ -165,140 +166,190 @@ public:
         *
         *      @since          2.0
         *
-        *      @return         The integer value that indicates the hash value of the current instance of %Float
-        *      @remarks
-        *                              - Two equal instances must return the same hash value. @n
-        *                              For better performance, the used hash function must generate a random distribution for all the inputs. @n
-        *                              - The default implementation of this method returns the value of the current instance.
+        *      @return         An integer value indicating the hash value of the current instance of %Float
+        *      @remarks        Two equal instances must return the same hash value. For better performance,
+        *                              the used hash function must generate a random distribution for all inputs. @n
+        *                              The default implementation of this method returns the value of the current instance.
         */
        virtual int GetHashCode(void) const;
 
        /**
-        *   Gets the hash value of the specified @c float value.
-        *
-        *   @since       2.0
-        *
-        *   @return      The integer value that indicates the hash value of the specified @c float value
-        *   @param[in]   val   The @c float value used to get the hash value
-        */
+       *        Gets the hash value of the specified @c float value.
+       *
+       *        @since         2.0
+       *
+       *        @return        An integer value indicating the hash value of the specified @c float value
+       *        @param[in]   val   A @c float value to get the hash value
+       */
        static int GetHashCode(float val);
 
        /**
-        * Parses the specified string that represents a numeric value and returns the value as @c signed @c float (as out parameter).
+        * Parses the specified string representing a numeric value and returns the value as @c signed @c float (as out parameter).
         *
         *      @since                  2.0
         *
-        *      @return         An error code
-        *      @param[in]      s                        The unicode string that represents the @c signed @c float value
-        *      @param[out]     ret                      The numeric representation of the string
+        *      @return                 An error code
+        *      @param[in]      s                       A unicode string representing a @c signed @c float value
+        *      @param[out]     ret                     The numeric representation of the string
         *      @exception      E_SUCCESS        The method is successful.
         *      @exception      E_NUM_FORMAT The specified string does not contain a number that can be parsed.
         *      @remarks
-        *                              - This method guarantees that the original value of the out-parameter is not changed when the method returns an error.
+        *                              - This method guarantees that the original value of out-parameter is not changed when the method returns error.
         *                              - The behavior of this method is dependent on the system default locale setting.
         *      @see            Tizen::Base::Double::Parse()
         */
        static result Parse(const String& s, float& ret);
 
        /**
-        *      Gets the @c signed @c char equivalent of the current instance of %Float.
+        *      Gets the @c signed @c char equivalent of the current %Float instance.
         *
         *      @since          2.0
         *
-        *      @return         The @c signed @c char equivalent of the current instance
+        *      @return         A @c signed @c char equivalent of the current instance
         */
        virtual char ToChar(void) const;
 
        /**
-        *      Gets the @c signed @c short equivalent of the current instance of %Float.
+        *      Gets the @c signed @c short equivalent of the current %Float instance.
         *
         *      @since          2.0
         *
-        *      @return         The @c signed @c short equivalent of the current instance
+        *      @return         A @c signed @c short equivalent of the current instance
         */
        virtual short ToShort(void) const;
 
        /**
-        *      Gets the @c signed @c int equivalent of the current instance of %Float.
+        *      Gets the @c signed @c int equivalent of the current %Float instance.
         *
         *      @since          2.0
         *
-        *      @return         The @c signed @c int equivalent of the current instance
+        *      @return         A @c signed @c int equivalent of the current instance
         */
        virtual int ToInt(void) const;
 
        /**
-        *      Gets the @c signed @c long equivalent of the current instance of %Float.
+        *      Gets the @c signed @c long equivalent of the current %Float instance.
         *
         *      @since          2.0
         *
-        *      @return         The @c signed @c long equivalent of the current instance
+        *      @return         A @c signed @c long equivalent of the current instance
         */
        virtual long ToLong(void) const;
 
        /**
-        * Gets the @c signed @c long @c long equivalent of the current instance of %Float
+        * Gets the @c signed @c long @c long equivalent of the current %Float instance.
         *
         * @since               2.0
         *
-        * @return      The @c signed @c long @c long equivalent of the current instance
+        * @return      A @c signed @c long @c long equivalent of the current instance
         */
        virtual long long ToLongLong(void) const;
 
        /**
-        *      Gets the @c signed @c float equivalent of the current instance of %Float.
+        *      Gets the @c signed @c float equivalent of the current %Float instance.
         *
         *      @since          2.0
         *
-        *      @return         The @c signed @c float equivalent of the current instance
+        *      @return         A @c signed @c float equivalent of the current instance
         */
        virtual float ToFloat(void) const;
 
        /**
-        *      Gets the @c signed @c double equivalent of the current instance of %Float.
+        *      Gets the @c signed @c double equivalent of the current %Float instance.
         *
         *      @since          2.0
         *
-        *      @return         The @c signed @c double equivalent of the current instance
+        *      @return         A @c signed @c double equivalent of the current instance
         */
        virtual double ToDouble(void) const;
 
        /**
-        * Gets the string that represents the value of the current instance of %Float.
+        * Gets the string representing the value of the current %Float instance.
         *
         * @since                       2.0
         *
-        * @return              The string that contains the Unicode representation of the value of the current instance
+        * @return              A string containing a Unicode representation of the value of the current instance value
         * @remarks
         *                              - If the value is Not-a-Number (NaN), the result is the string "NaN". Furthermore, infinity
         *                              produces the result "Infinity". @n
-        *                              6 digits are given for the precision of this method. Use String::Format() to set a specific precision.
+        *                              6 digits are given for the precision of this method. Use Float::ToString(int precision) to set the specific precision.
         *                              - The behavior of this method is dependent on the system default locale setting.
         */
        virtual String ToString(void) const;
 
        /**
-        *      Gets the string that represents the specified @c float value.
+        * Gets the string representing the value of the current %Float instance.
+        *
+        * @since 3.0
+        *
+        * @param[in]   precision       Number of digits after a decimal separator
+        * @return              A string containing a Unicode representation of the value of the current instance value
+        * @remarks
+        *                              - If the value of the current instance is Not-a-Number (NaN), the result is the string "NaN". Furthermore, infinity
+        *                              produces the result "Infinity". @n
+        *                              - The behavior of this method is dependent on the system default locale setting.
+         *
+        * @code
+        *
+        *      Float flt(3.1416);
+        *      String str1 = flt.ToString(3);
+        *      // str1 contains "3.142"
+        *
+        *      String str2 = flt.ToString(2);
+        *      // str2 contains "3.14"
+        *
+        * @endcode
+        */
+       virtual String ToString(int precision) const;
+
+       /**
+        *      Gets the string representing the specified @c float value.
         *
         *      @since          2.0
         *
-        *      @return         The string that contains the Unicode representation of the specified @c float value
-        *      @param[in]      value   The @c float value to convert
+        *      @return         A string containing a Unicode representation of the specified @c float value
+        *      @param[in]      value   A @c float value to convert
         *  @remarks
         *                              - If the value is Not-a-Number (NaN), the result is the string "NaN". Furthermore, infinity
         *                              produces the result "Infinity". @n
-        *                              6 digits are given for the precision of this method. Use String::Format() to set a specific precision.
+        *                              6 digits are given for the precision of this method. Use Float::ToString(float value, int precision) to set the specific precision.
         *                              - The behavior of this method is dependent on the system default locale setting.
         */
        static String ToString(float value);
 
        /**
+        * Gets the string representing the specified @c float value.
+        *
+        * @since               3.0
+        *
+        * @return              A string containing a Unicode representation of the specified @c float value
+        * @param[in]   value   A @c float value to convert
+        * @param[in]   precision       Number of digits after a decimal separator
+        * @remarks
+        *                              - If the value is Not-a-Number (NaN), the result is the string "NaN". Furthermore, infinity
+        *                              produces the result "Infinity". @n
+        *                              - The behavior of this method is dependent on the system default locale setting.
+        *
+        * @code
+        *
+        *      String str1 = Float::ToString(3.1416f, 3);
+        *      // str1 contains "3.142"
+        *
+        *      String str2 = Float::ToString(3.1416f, 2);
+        *      // str2 contains "3.14"
+        *
+        * @endcode
+        */
+       static String ToString(float value, int precision);
+
+
+       /**
         *      Gets the IEEE 754 floating-point "single format" bit layout representation of the specified @c float value.
         *
         *      @since          2.0
         *
         *      @return         The bits that represent the floating-point number in the IEEE 754 floating-point "single format" bit layout
-        *      @param[in]      value   The @c float value to convert
+        *      @param[in]      value   A @c float value to convert
         *      @see            Tizen::Base::Double::Parse()
         */
        static int ToBits(float value);
@@ -309,29 +360,29 @@ public:
         *      @since          2.0
         *
         *      @return         The @c float floating-point value with the same bit pattern
-        *      @param[in]      value   The floating-point value in the IEEE 754 floating-point "single format" bit layout
+        *      @param[in]      value   A floating-point value in the IEEE 754 floating-point "single format" bit layout
         *      @see            Tizen::Base::Double::Parse()
         */
        static float ToFloatFromBits(int value);
 
        /**
-        *      Checks whether the current value of %Float is equal to the negative or positive infinity.
+        *      Checks whether the current value of %Float is equal to negative or positive infinity.
         *
         *      @since          2.0
         *
-        *      @return         @c true if the current value equals the negative or positive infinity, @n
+        *      @return         @c true if the current value equals negative or positive infinity, @n
         *                              else @c false
         */
        bool IsInfinity(void) const;
 
        /**
-        *      Checks whether the specified @c float value is equal to the negative or positive infinity.
+        *      Checks whether the specified @c float value is equal to negative or positive infinity.
         *
         *      @since          2.0
         *
-        *      @return         @c true if the specified value equals the negative or positive infinity, @n
+        *      @return         @c true if the specified value equals negative or positive infinity, @n
         *                              else @c false
-        *      @param[in]      value   The @c float value to check
+        *      @param[in]      value   A @c float value to check
         */
        static bool IsInfinity(float value);
 
@@ -352,32 +403,32 @@ public:
         *
         *      @return         @c true if the specified value is Not-a-Number, @n
         *                              else @c false
-        *      @param[in]      value   The @c float value to check
+        *      @param[in]      value   A @c float value to check
         */
        static bool IsNaN(float value);
 
        /**
-        *      Gets the constant holding the largest positive finite value of type @c float. @n
+        *      Gets a constant holding the largest positive finite value of type @c float. @n
         *      This is equal to the value defined in Limit.h of the C library.
         *
         *      @since          2.0
         *
-        *      @return         The constant holding the largest positive finite value of type @c float
+        *      @return         A constant holding the largest positive finite value of type @c float
         */
        static float GetMaxValue(void);
 
        /**
-        *      Gets the constant holding the smallest positive non-zero value of type @c float. @n
+        *      Gets a constant holding the smallest positive non-zero value of type @c float. @n
         *      This is equal to the value defined in Limit.h of the C library.
         *
         *      @since          2.0
         *
-        *      @return         The constant holding the smallest possible non-zero value of type @c float
+        *      @return         A constant holding the smallest possible non-zero value of type @c float
         */
        static float GetMinValue(void);
 
        /**
-        * The @c float value of this instance.
+        * A @c float value of this instance.
         *
         * @since       2.0
         */
index ff6a31d..54e6e43 100644 (file)
  * @file               FBaseFloatComparer.h
  * @brief              This is the header file for the %FloatComparer class.
  *
+ * @see                        Float and Tizen::Base::Collection::IComparer
  *
  * This header file contains the declarations of the %FloatComparer class.
- *
- * @see        Float
- * @see        Tizen::Base::Collection::IComparer
  */
 #ifndef _FBASE_FLOAT_COMPARER_H_
 #define _FBASE_FLOAT_COMPARER_H_
@@ -34,11 +32,11 @@ namespace Tizen { namespace Base
 {
 /**
  *     @class  FloatComparer
- *     @brief  This class checks for equivalence between two instances of the %Float type.
+ *     @brief  This class checks for equivalence between 2 instances of the %Float type.
  *
  *     @since 2.0
  *
- *     The %FloatComparer class checks for equivalence between two instances of the Float type.
+ *     The %FloatComparer class checks for equivalence between 2 instances of the Float type.
  *
  *     For more information on the class features, see <a href="../org.tizen.native.appprogramming/html/guide/base/collection_comparison.htm">Collection Comparisons</a>.
  *
@@ -92,17 +90,17 @@ public:
         *      @since 2.0
         *
         *  @return             An error code
-        *      @param[in]      obj1                    The first instance of type Float
-        *      @param[in]      obj2                    The second instance of type Float
-        *      @param[out] cmp                         The result of the comparison
+        *      @param[in]      obj1    The first instance of type Float
+        *      @param[in]      obj2    The second instance of type Float
+        *      @param[out] cmp         The result of comparison
         *  @exception  E_SUCCESS               The method is successful.
         *  @exception  E_INVALID_ARG   The specified object instances are not of the expected type.
         *  @remarks    The value of @c cmp can be:
         *
         *      @code
-        *      <  0  if the value of obj1 is less than the value of obj2
-        *      == 0  if the value of obj1 is equal to the value of obj2
-        *      >  0  if the value of obj1 is greater than the value of obj2
+        *      <  0  if the value of @c obj1 is less than the value of @c obj2
+        *      == 0  if the value of @c obj1 is equal to the value of @c obj2
+        *      >  0  if the value of @c obj1 is greater than the value of @c obj2
         *      @endcode
         */
        virtual result Compare(const Tizen::Base::Object& obj1, const Tizen::Base::Object& obj2, int& cmp) const;
index d82170b..558f2d7 100644 (file)
@@ -36,7 +36,7 @@ namespace Tizen { namespace Base
  *
  * @since 2.0
  *
- * The %FloatMatrix class provides a @c float precision, two-dimensional matrix.
+ * The %FloatMatrix class provides a @c float precision, two-dimensional matrix class.
  *
  */
 class _OSP_EXPORT_ FloatMatrix
@@ -48,12 +48,12 @@ public:
         *
         * @since 2.0
         *
-        * @param[in]   rhs     An instance of %FloatMatrix to copy
+        * @param[in]   rhs     An instance of %FloatMatrix
         */
        FloatMatrix(const FloatMatrix& rhs);
 
        /**
-        * Constructs a row by column null matrix in which all the elements are zero.
+        * Constructs a row by column null matrix in which all elements are zero.
         *
         * @since 2.0
         *
@@ -69,8 +69,7 @@ public:
         *
         * @param[in]   rowCount        The number of rows in the current instance
         * @param[in]   columnCount     The number of columns in the current instance
-        * @param[in]   pArray          The one-dimensional array @n 
-        *                                                      The array must be at least row * column in length.
+        * @param[in]   pArray          A one-dimensional array @n The array must be at least row * column in length.
         * @param[in]   rowMajor        Set to @c true to copy the array in row-major order, @n
         *                                                      else @c copy in column-major order
         */
@@ -83,8 +82,7 @@ public:
         *
         * @param[in]   rowCount        The number of rows in the current instance
         * @param[in]   columnCount     The number of columns in the current instance
-        * @param[in]   pArray[]        The two-dimensional array @n 
-        *                                                      The array must be at least row * column in length.
+        * @param[in]   pArray[]        A two-dimensional array @n The array must be at least row * column in length.
         */
        FloatMatrix(int rowCount, int columnCount, const float* pArray[]);
 
@@ -100,7 +98,7 @@ public:
         *
         * @since 2.0
         *
-        * @return      @c true if all the matrix members of the current instance are equal to the corresponding matrix members in the specified instance, @n
+        * @return      @c true if all matrix members of the current instance are equal to the corresponding matrix members in the specified instance, @n
         *                      else @c false
         * @param[in]   rhs     An instance of %FloatMatrix
         */
@@ -111,8 +109,8 @@ public:
         *
         * @since 2.0
         *
-        * @return              @c true if all the matrix members of the current instance are not equal to the corresponding matrix members in the specified instance, @n
-        *                              else @c false
+        * @return      @c true if all matrix members of the current instance are not equal to the corresponding matrix members in the specified instance, @n
+        *                      else @c false
         * @param[in]   rhs     An instance of %FloatMatrix
         */
        bool operator !=(const FloatMatrix& rhs) const;
@@ -122,13 +120,12 @@ public:
         *
         * @since 2.0
         *
-        * @return              A reference to this instance
+        * @return              The reference to this instance
         * @param[in]   rhs     An instance of %FloatMatrix
-        * @exception   E_INVALID_ARG   Either the row or the column count of the current instance is not same as that of the specified instance.
-        * @remarks
-        *                              - The specific error code can be accessed using the GetLastResult() method.
-        *                              - If either the row or the column count of the current instance is not same as that of the specified instance,
-        *                              this method returns the reference to this instance without assigning.
+        * @exception   E_INVALID_ARG   Either row or column count of the current instance is not same with that of the specified instance.
+        * @remarks             The specific error code can be accessed using the GetLastResult() method.
+        * @remarks             If either row or column count of the current instance is not same with that of the specified instance,
+        *                              return the reference to this instance without assigning.
         */
        FloatMatrix& operator =(const FloatMatrix& rhs);
 
@@ -137,12 +134,10 @@ public:
         *
         * @since 2.0
         *
-        * @return              @c true if the values of the current instance are equal to the value of the specified instance, @n
-        *                              else @c false
+        * @return      @c true if the values of the current instance are equal to the value of the specified instance, @n
+        *                      else @c false
         * @param[in]   obj     An instance of %FloatMatrix
-        * @remarks
-        *                              - This method overrides Tizen::Base::Object::Equals(). 
-        *                              - This method uses the values of the Matrix components to compare the two instances.
+        * @remarks             This method overrides Tizen::Base::Object::Equals(). This method uses the values of the Matrix components to compare the two instances.
         */
        virtual bool Equals(const Tizen::Base::Object& obj) const;
 
@@ -152,8 +147,8 @@ public:
         * @since 2.0
         *
         * @return      The hash value of the current instance
-        * @remarks     Two equal instances must return the same hash value. @n
-        *                      For better performance, the used hash function must generate a random distribution for all the inputs.
+        * @remarks     Two equal instances must return the same hash value. For better performance,
+        *                      the used hash function must generate a random distribution for all inputs.
         */
        virtual int GetHashCode(void) const;
 
@@ -165,25 +160,25 @@ public:
         * @return              An error code
         * @param[in]   matrix                  An instance of %FloatMatrix
         * @exception   E_SUCCESS               The method is successful.
-        * @exception   E_INVALID_ARG   Either the row or the column count of the current instance is not same as that of the specified instance.
+        * @exception   E_INVALID_ARG   Either row or column count of the current instance is not same with that of the specified instance.
         */
        result Add(const FloatMatrix& matrix);
 
        /**
-        * Adds the value to each matrix member of the current instance of %FloatMatrix.
+        * Adds the value to each matrix members of current instance of %FloatMatrix.
         *
         * @since 2.0
         *
-        * @param[in]   value   The @c float value to add
+        * @param[in]   value   A @c float value to add
         */
        void AddToEachElement(float value);
 
        /**
-        * Gets the number of columns in the current instance of %FloatMatrix.
+        * Gets the number of column in the current instance of %FloatMatrix.
         *
         * @since 2.0
         *
-        * @return      The number of columns in the current instance
+        * @return      The number of column in the current instance
         */
        int GetColumnCount(void) const;
 
@@ -192,9 +187,9 @@ public:
         *
         * @since 2.0
         *
-        * @return              A pointer to the float array
+        * @return      A pointer to float array
         * @param[in]   columnIndex             The target column number in the current instance
-        * @exception   E_INVALID_ARG   The specified @c columnIndex is larger than the column count of the current instance.
+        * @exception   E_INVALID_ARG   The @c columnIndex is larger than the column count of the current instance.
         * @remarks             The specific error code can be accessed using the GetLastResult() method.
         */
        float* GetColumnN(int columnIndex) const;
@@ -205,10 +200,9 @@ public:
         * @since 2.0
         *
         * @return              The determinant value of the current instance
-        * @exception   E_INVALID_OPERATION                     The current instance is not a square matrix.
-        * @remarks             
-        *                              - The specific error code can be accessed using the GetLastResult() method.
-        *                              - If the current instance is not a square matrix, it returns zero.
+        * @exception   E_INVALID_OPERATION     The current instance is not a square matrix.
+        * @remarks             The specific error code can be accessed using the GetLastResult() method.
+        * @remarks     If the current instance is not a square matrix, return zero.
         */
        float GetDeterminant(void) const;
 
@@ -217,10 +211,10 @@ public:
         *
         * @since 2.0
         *
-        * @return              The value at the specified row and column of the current instance
+        * @return      The value at the specified row and column of the current instance
         * @param[in]   rowIndex                The target row number in the current instance
         * @param[in]   columnIndex             The target column number in the current instance
-        * @exception   E_INVALID_ARG   The specified @c columnIndex or the specified @c rowIndex is larger than that of the current instance.
+        * @exception   E_INVALID_ARG   The @c columnIndex or @c rowIndex is larger than that of the current instance.
         * @remarks             The specific error code can be accessed using the GetLastResult() method.
         */
        float GetElement(int rowIndex, int columnIndex) const;
@@ -230,18 +224,18 @@ public:
         *
         * @since 2.0
         *
-        * @return              A pointer to the instance of %FloatMatrix that contains the resulting value of the operation
+        * @return              A pointer to the instance of %FloatMatrix containing the resulting value of the operation
         * @exception   E_INVALID_OPERATION     The current instance is not a square matrix.
         * @remarks             The specific error code can be accessed using the GetLastResult() method.
         */
        FloatMatrix* GetInverseN(void) const;
 
        /**
-        * Gets the number of rows in the current instance of %FloatMatrix.
+        * Gets the number of row in the current instance of %FloatMatrix.
         *
         * @since 2.0
         *
-        * @return      The number of rows in the current instance
+        * @return      The number of row in the current instance
         */
        int GetRowCount(void) const;
 
@@ -250,9 +244,9 @@ public:
         *
         * @since 2.0
         *
-        * @return              A pointer to the @c float array
+        * @return      A pointer to @c float array
         * @param[in]   rowIndex                The target row number in the current instance
-        * @exception   E_INVALID_ARG   The specified @c rowIndex is larger than the row count of the current instance.
+        * @exception   E_INVALID_ARG   The @c rowIndex is larger than the row count of the current instance.
         * @remarks             The specific error code can be accessed using the GetLastResult() method.
         */
        float* GetRowN(int rowIndex) const;
@@ -263,8 +257,8 @@ public:
         * @since 2.0
         *
         * @return              An error code
-        * @param[out]  value                           The @c float value
-        * @exception   E_SUCCESS                       The method is successful.
+        * @param[out]  value           A @c float value
+        * @exception   E_SUCCESS       The method is successful.
         * @exception   E_INVALID_OPERATION     The current instance is not a square matrix.
         */
        result GetTrace(float& value) const;
@@ -274,8 +268,8 @@ public:
         *
         * @since 2.0
         *
-        * @return              A pointer to the instance of %FloatMatrix that contains the resulting value of the operation
-        * @exception   E_INVALID_OPERATION                     The current instance is not a square matrix.
+        * @return              A pointer to the instance of %FloatMatrix containing the resulting value of the operation
+        * @exception   E_INVALID_OPERATION             The current instance is not a square matrix.
         * @remarks             The specific error code can be accessed using the GetLastResult() method.
         */
        FloatMatrix* GetTransposeN(void) const;
@@ -308,21 +302,21 @@ public:
         * @return              An error code
         * @param[in]   matrix                  An instance of %FloatMatrix
         * @exception   E_SUCCESS               The method is successful.
-        * @exception   E_INVALID_ARG   The column count of the current instance is not same as the row count of the specified instance.
+        * @exception   E_INVALID_ARG   The column count of the current instance is not same with the row count of the specified instance.
         */
        result Multiply(const FloatMatrix& matrix);
 
        /**
-        * Multiplies the value to each matrix member of the current instance of %FloatMatrix.
+        * Multiplies the value to each matrix members of current instance of %FloatMatrix.
         *
         * @since 2.0
         *
-        * @param[in]   value   The @c float value to multiply
+        * @param[in]   value   A @c float value to multiply
         */
        void Multiply(float value);
 
        /**
-        * Negates the matrix members of the current instance of %FloatMatrix.
+        * Negates the matrix members of current instance of %FloatMatrix.
         *
         * @since 2.0
         */
@@ -368,12 +362,9 @@ public:
         *
         * @return              An error code
         * @param[in]   columnIndex             The target column number in the current instance
-        * @param[in]   pArray                  The array which includes the values @n 
-        *                                                              The array must be at least row in length.
+        * @param[in]   pArray                  An array which includes the values @n The array must be at least row in length.
         * @exception   E_SUCCESS               The method is successful.
-        * @exception   E_INVALID_ARG   Either of the following conditions has occurred:
-        *                                                              - The specified @c pArray is @c null.
-        *                                                              - The specified @c columnIndex is larger than the column count of the current instance.
+        * @exception   E_INVALID_ARG   The @c pArray is @c null, or the @c columnIndex is larger than the column count of the current instance.
         */
        result SetColumn(int columnIndex, const float* pArray);
 
@@ -383,13 +374,10 @@ public:
         * @since 2.0
         *
         * @return              An error code
-        * @param[in]   rowIndex                The target row number in the current instance
-        * @param[in]   pArray                  The array which includes the values @n 
-        *                                                              The array must be at least column in length.
+        * @param[in]   rowIndex        The target row number in the current instance
+        * @param[in]   pArray          An array which includes the values @n The array must be at least column in length.
         * @exception   E_SUCCESS               The method is successful.
-        * @exception   E_INVALID_ARG   Either of the following conditions has occurred:
-        *                                                              - The specified @c pArray is @c null.
-        *                                                              - The specified @c rowIndex is larger than the row count of the current instance.
+        * @exception   E_INVALID_ARG   The @c pArray is @c null, or the @c rowIndex is larger than the row count of the current instance.
         */
        result SetRow(int rowIndex, const float* pArray);
 
@@ -399,14 +387,12 @@ public:
         * @since 2.0
         *
         * @return              An error code
-        * @param[in]   rowIndex                The target row number in the current instance
-        * @param[in]   columnIndex             The target column number in the current instance
-        * @param[in]   value                   The @c float value
-        * @exception   E_SUCCESS               The method is successful.
-        * @exception   E_INVALID_ARG   Either of the following conditions has occurred:
-        *                                                              - The specified @c pArray is @c null.
-        *                                                              - The specified @c rowIndex is larger than the row count of the current instance.
-        *                                                              - The specified @c columnIndex is larger than the column count of the current instance.
+        * @param[in]   rowIndex        The target row number in the current instance
+        * @param[in]   columnIndex     The target column number in the current instance
+        * @param[in]   value           A @c float value
+        * @exception   E_SUCCESS       The method is successful.
+        * @exception   E_INVALID_ARG   The pArray is @c null, or the @c rowIndex is larger than the row count of the current instance,
+        *                              or the @c columnIndex is larger than the column count of the current instance.
         */
        result SetElement(int rowIndex, int columnIndex, float value);
 
@@ -416,17 +402,16 @@ public:
         * @since 2.0
         *
         * @return              An error code
-        * @param[in]   pArray                  The one-dimensional array @n 
-        *                                                              The array must be at least row * column in length.
-        * @param[in]   rowMajor                Set to @c true to copy the array in row-major order, @n
-        *                                                              else @c false to copy in column-major order
+        * @param[in]   pArray          A one-dimensional array @n The array must be at least row * column in length.
+        * @param[in]   rowMajor        Set to @c true to copy the array in row-major order, @n
+        *                                                      else @c false to copy in column-major order
         * @exception   E_SUCCESS               The method is successful.
-        * @exception   E_INVALID_ARG   The specified @c pArray is @c null.
+        * @exception   E_INVALID_ARG   The pArray is @c null.
         */
        result SetValue(const float* pArray, bool rowMajor = true);
 
        /**
-        * Sets the matrix members of the current instance of %FloatMatrix to zero.
+        * Sets the matrix members of current instance of %FloatMatrix to zero.
         *
         * @since 2.0
         */
@@ -440,16 +425,16 @@ public:
         * @return              An error code
         * @param[in]   matrix                  An instance of %FloatMatrix
         * @exception   E_SUCCESS               The method is successful.
-        * @exception   E_INVALID_ARG   Either the row or the column count of the current instance is not same as that of the specified instance.
+        * @exception   E_INVALID_ARG   Either row or column count of the current instance is not same with that of the specified instance.
         */
        result Subtract(const FloatMatrix& matrix);
 
        /**
-        * Subtracts the value from each matrix member of the current instance of %FloatMatrix.
+        * Subtracts the value from each matrix members of current instance of %FloatMatrix.
         *
         * @since 2.0
         *
-        * @param[in]   value   The @c float value to subtract
+        * @param[in]   value   A @c float value to subtract
         */
        void SubtractToEachElement(float value);
 
index afa0785..ed340f7 100644 (file)
@@ -36,7 +36,7 @@ namespace Tizen { namespace Base
  *
  * @since 2.0
  *
- * The %FloatMatrix3 class provides a @c float precision, two-dimensional matrix.
+ * The %FloatMatrix3 class provides a @c float precision, two-dimensional matrix class.
  *
  */
 class _OSP_EXPORT_ FloatMatrix3
@@ -45,7 +45,7 @@ class _OSP_EXPORT_ FloatMatrix3
 public:
        /**
         * This is the default constructor for this class. @n
-        * Constructs a 3 X 3 null matrix in which all the elements are zero.
+        * Constructs a 3 X 3 null matrix in which all elements are zero.
         *
         * @since 2.0
         */
@@ -56,7 +56,7 @@ public:
         *
         * @since 2.0
         *
-        * @param[in]   rhs     An instance of %FloatMatrix3 to copy
+        * @param[in]   rhs     An instance of %FloatMatrix3
         */
        FloatMatrix3(const FloatMatrix3& rhs);
 
@@ -81,7 +81,7 @@ public:
         *
         * @since 2.0
         *
-        * @return      @c true if all the matrix members of the current instance are equal to the corresponding matrix members in the specified instance, @n
+        * @return      @c true if all matrix members of the current instance are equal to the corresponding matrix members in the specified instance, @n
         *                      else @c false
         * @param[in]   rhs     An instance of %FloatMatrix3
         */
@@ -92,7 +92,7 @@ public:
         *
         * @since 2.0
         *
-        * @return      @c true if all the matrix members of the current instance are not equal to the corresponding matrix members in the specified instance, @n
+        * @return      @c true if all matrix members of the current instance are not equal to the corresponding matrix members in the specified instance, @n
         *                      else @c false
         * @param[in]   rhs     An instance of %FloatMatrix3
         */
@@ -103,8 +103,8 @@ public:
         *
         * @since 2.0
         *
-        * @return      A reference to this instance
-        * @param[in]   rhs     An instance of %FloatMatrix3 to copy
+        * @return      The reference to this instance
+        * @param[in]   rhs     An instance of %FloatMatrix3
         */
        FloatMatrix3& operator =(const FloatMatrix3& rhs);
 
@@ -113,8 +113,8 @@ public:
         *
         * @since 2.0
         *
-        * @return      A reference to this instance
-        * @param[in]   value   The @c float value to assign
+        * @return      The reference to this instance
+        * @param[in]   value   A @c float value to assign
         */
        FloatMatrix3& operator =(float value);
 
@@ -123,38 +123,38 @@ public:
         *
         * @since 2.0
         *
-        * @return              A new instance of %FloatMatrix3 that contains the resulting value of the operation
+        * @return      A new instance of %FloatMatrix3 containing the resulting value of the operation
         * @param[in]   rhs     An instance of %FloatMatrix3
         */
        FloatMatrix3 operator *(const FloatMatrix3& rhs) const;
 
        /**
-        * Multiplies the value to each matrix member of the current instance of %FloatMatrix3.
+        * Multiplies the value to each matrix members of current instance of %FloatMatrix3.
         *
         * @since 2.0
         *
-        * @return      A new instance of %FloatMatrix3 that contains the resulting value of the operation
-        * @param[in]   value   The @c float value to multiply
+        * @return      A new instance of %FloatMatrix3 containing the resulting value of the operation
+        * @param[in]   value   A @c float value to multiply
         */
        FloatMatrix3 operator *(float value) const;
 
        /**
-        * Adds the value of the specified instance to the current instance of %FloatMatrix3.
+        * Adds the value of the specified instance and the current instance of %FloatMatrix3.
         *
         * @since 2.0
         *
-        * @return      A new instance of %FloatMatrix3 that contains the resulting value of the operation
+        * @return      A new instance of %FloatMatrix3 containing the resulting value of the operation
         * @param[in]   rhs     An instance of %FloatMatrix3
         */
        FloatMatrix3 operator +(const FloatMatrix3& rhs) const;
 
        /**
-        * Adds the value to each matrix member of the current instance of %FloatMatrix3.
+        * Adds the value to each matrix members of current instance of %FloatMatrix3.
         *
         * @since 2.0
         *
-        * @return      A new instance of %FloatMatrix3 that contains the resulting value of the operation
-        * @param[in]   value   The @c float value to add
+        * @return      A new instance of %FloatMatrix3 containing the resulting value of the operation
+        * @param[in]   value   A @c float value to add
         */
        FloatMatrix3 operator +(float value) const;
 
@@ -163,18 +163,18 @@ public:
         *
         * @since 2.0
         *
-        * @return      A new instance of %FloatMatrix3 that contains the resulting value of the operation
+        * @return      A new instance of %FloatMatrix3 containing the resulting value of the operation
         * @param[in]   rhs     An instance of %FloatMatrix3
         */
        FloatMatrix3 operator -(const FloatMatrix3& rhs) const;
 
        /**
-        * Subtracts the value from each matrix member of the current instance of %FloatMatrix3.
+        * Subtracts the value from each matrix members of current instance of %FloatMatrix3.
         *
         * @since 2.0
         *
-        * @return      A new instance of %FloatMatrix3 that contains the resulting value of the operation
-        * @param[in]   value   The @c float value to subtract
+        * @return      A new instance of %FloatMatrix3 containing the resulting value of the operation
+        * @param[in]   value   A @c float value to subtract
         */
        FloatMatrix3 operator -(float value) const;
 
@@ -183,18 +183,18 @@ public:
         *
         * @since 2.0
         *
-        * @return      A reference to %FloatMatrix3 that contains the resulting value of the operation
+        * @return      The reference to %FloatMatrix3 containing the resulting value of the operation
         * @param[in]   rhs     An instance of %FloatMatrix3
         */
        FloatMatrix3& operator *=(const FloatMatrix3& rhs);
 
        /**
-        * Multiplies the value to each matrix member of the current instance of %FloatMatrix3.
+        * Multiplies the value to each matrix members of current instance of %FloatMatrix3.
         *
         * @since 2.0
         *
-        * @return      A reference to %FloatMatrix3 that contains the resulting value of the operation
-        * @param[in]   value   The @c float value to multiply
+        * @return      The reference to %FloatMatrix3 containing the resulting value of the operation
+        * @param[in]   value   A @c float value to multiply
         */
        FloatMatrix3& operator *=(float value);
 
@@ -203,18 +203,18 @@ public:
         *
         * @since 2.0
         *
-        * @return      A reference to %FloatMatrix3 that contains the resulting value of the operation
+        * @return      The reference to %FloatMatrix3 containing the resulting value of the operation
         * @param[in]   rhs     An instance of %FloatMatrix3
         */
        FloatMatrix3& operator +=(const FloatMatrix3& rhs);
 
        /**
-        * Adds the value to each matrix member of the current instance of %FloatMatrix3.
+        * Adds the value to each matrix members of current instance of %FloatMatrix3.
         *
         * @since 2.0
         *
-        * @return      A reference to %FloatMatrix3 that contains the resulting value of the operation
-        * @param[in]   value   The @c float value to add
+        * @return      The reference to %FloatMatrix3 containing the resulting value of the operation
+        * @param[in]   value   A @c float value to add
         */
        FloatMatrix3& operator +=(float value);
 
@@ -223,51 +223,51 @@ public:
         *
         * @since 2.0
         *
-        * @return      A reference to %FloatMatrix3 that contains the resulting value of the operation
+        * @return      The reference to %FloatMatrix3 containing the resulting value of the operation
         * @param[in]   rhs     An instance of %FloatMatrix3
         */
        FloatMatrix3& operator -=(const FloatMatrix3& rhs);
 
        /**
-        * Subtracts the value from each matrix member of the current instance of %FloatMatrix3.
+        * Subtracts the value from each matrix members of current instance of %FloatMatrix3.
         *
         * @since 2.0
         *
-        * @return      A reference to %FloatMatrix3 that contains the resulting value of the operation
-        * @param[in]   value   The @c float value to subtract
+        * @return      The reference to %FloatMatrix3 containing the resulting value of the operation
+        * @param[in]   value   A @c float value to subtract
         */
        FloatMatrix3& operator -=(float value);
 
        /**
-        * Gets an instance of %FloatMatrix3 resulting from the sum of the value and the specified instance of %FloatMatrix3.
+        * Gets the instance of %FloatMatrix3 resulting from the sum of the value and the specified instance of %FloatMatrix3.
         *
         * @since 2.0
         *
-        * @return              A new instance of %FloatMatrix3 that contains the resulting value of the operation
-        * @param[in]   value   The @c float value to add
-        * @param[in]   rhs             An instance of %FloatMatrix3
+        * @return      A new instance of %FloatMatrix3 containing the resulting value of the operation
+        * @param[in]   value   A @c float value to add
+        * @param[in]   rhs     An instance of %FloatMatrix3
         */
        _OSP_EXPORT_ friend FloatMatrix3 operator +(const float& value, const FloatMatrix3& rhs);
 
        /**
-        * Gets an instance of %FloatMatrix3 resulting from the product of the value and the specified instance of %FloatMatrix3.
+        * Gets the instance of %FloatMatrix3 resulting from the product of the value and the specified instance of %FloatMatrix3.
         *
         * @since 2.0
         *
-        * @return              A new instance of %FloatMatrix3 that contains the resulting value of the operation
-        * @param[in]   value   The @c float value to multiply
-        * @param[in]   rhs             An instance of %FloatMatrix3
+        * @return      A new instance of %FloatMatrix3 containing the resulting value of the operation
+        * @param[in]   value   A @c float value to multiply
+        * @param[in]   rhs     An instance of %FloatMatrix3
         */
        _OSP_EXPORT_ friend FloatMatrix3 operator *(const float& value, const FloatMatrix3& rhs);
 
        /**
-        * Gets an instance of %FloatMatrix3 resulting from the difference between the value and the specified instance of %FloatMatrix3.
+        * Gets the instance of %FloatMatrix3 resulting from the difference between the value and the specified instance of %FloatMatrix3.
         *
         * @since 2.0
         *
-        * @return              A new instance of %FloatMatrix3 that contains the resulting value of the operation
-        * @param[in]   value   The @c float value to subtract
-        * @param[in]   rhs             An instance of %FloatMatrix3
+        * @return      A new instance of %FloatMatrix3 containing the resulting value of the operation
+        * @param[in]   value   A @c float value to subtract
+        * @param[in]   rhs     An instance of %FloatMatrix3
         */
        _OSP_EXPORT_ friend FloatMatrix3 operator -(const float& value, const FloatMatrix3& rhs);
 
@@ -276,12 +276,10 @@ public:
         *
         * @since 2.0
         *
-        * @return              @c true if the values of the current instance is equal to the value of the specified instance, @n
-        *                              else @c false
+        * @return      @c true if the values of the current instance is equal to the value of the specified instance, @n
+        *                      else @c false
         * @param[in]   obj     An instance of %FloatMatrix3
-        * @remarks
-        *                              - This method overrides Tizen::Base::Object::Equals(). 
-        *                              - This method uses the values of the Matrix components to compare the two instances.
+        * @remarks             This method overrides Tizen::Base::Object::Equals(). This method uses the values of the Matrix components to compare the two instances.
         */
        virtual bool Equals(const Tizen::Base::Object& obj) const;
 
@@ -291,8 +289,8 @@ public:
         * @since 2.0
         *
         * @return      The hash value of the current instance
-        * @remarks     Two equal instances must return the same hash value. @n
-        *                      For better performance, the used hash function must generate a random distribution for all the inputs.
+        * @remarks     Two equal instances must return the same hash value. For better performance,
+        *                              the used hash function must generate a random distribution for all inputs.
         */
        virtual int GetHashCode(void) const;
 
@@ -310,7 +308,7 @@ public:
         *
         * @since 2.0
         *
-        * @return      A new instance of %FloatMatrix3 that contains the resulting value of the operation
+        * @return      A new instance of %FloatMatrix3 containing the resulting value of the operation
         * @remarks     This function must be called after checking whether the matrix is invertible or not.
         */
        FloatMatrix3 GetInverse(void) const;
@@ -329,7 +327,7 @@ public:
         *
         * @since 2.0
         *
-        * @return      A new instance of %FloatMatrix3 that contains the resulting value of the operation
+        * @return      A new instance of %FloatMatrix3 containing the resulting value of the operation
         */
        FloatMatrix3 GetTranspose(void) const;
 
@@ -354,7 +352,7 @@ public:
        bool IsInvertible(void) const;
 
        /**
-        * Negates the matrix members of the current instance of %FloatMatrix3.
+        * Negates the matrix members of current instance of %FloatMatrix3.
         *
         * @since 2.0
         */
@@ -373,7 +371,7 @@ public:
         * @since 2.0
         *
         * @return              An error code
-        * @exception   E_SUCCESS                       The method is successful.
+        * @exception   E_SUCCESS       The method is successful.
         * @exception   E_INVALID_OPERATION     The current instance is not invertible.
         */
        result Invert(void);
@@ -386,7 +384,7 @@ public:
        void Transpose(void);
 
        /**
-        * Sets the matrix members of the current instance of %FloatMatrix3 to zero.
+        * Sets the matrix members of current instance of %FloatMatrix3 to zero.
         *
         * @since 2.0
         */
index d2ed6ef..18120fe 100644 (file)
@@ -36,7 +36,7 @@ namespace Tizen { namespace Base
  *
  * @since 2.0
  *
- * The %FloatMatrix4 class provides a @c float precision, two-dimensional matrix.
+ * The %FloatMatrix4 class provides a @c float precision, two-dimensional matrix class.
  *
  */
 class _OSP_EXPORT_ FloatMatrix4
@@ -45,7 +45,7 @@ class _OSP_EXPORT_ FloatMatrix4
 public:
        /**
         * This is the default constructor for this class. @n
-        * Constructs a 4 X 4 null matrix in which all the elements are zero.
+        * Constructs a 4 X 4 null matrix in which all elements are zero.
         *
         * @since 2.0
         */
@@ -56,7 +56,7 @@ public:
         *
         * @since 2.0
         *
-        * @param[in]   rhs     An instance of %FloatMatrix4 to copy
+        * @param[in]   rhs     An instance of %FloatMatrix4
         */
        FloatMatrix4(const FloatMatrix4& rhs);
 
@@ -70,7 +70,7 @@ public:
        FloatMatrix4(const float matrix[4][4]);
 
        /**
-        * This destructor overrides Tizen::Base::Object::~Object().
+        * TThis destructor overrides Tizen::Base::Object::~Object().
         *
         * @since 2.0
         */
@@ -81,7 +81,7 @@ public:
         *
         * @since 2.0
         *
-        * @return      @c true if all the matrix members of the current instance are equal to the corresponding matrix members in the specified instance, @n
+        * @return      @c true if all matrix members of the current instance are equal to the corresponding matrix members in the specified instance, @n
         *                      else @c false
         * @param[in]   rhs     An instance of %FloatMatrix4
         */
@@ -92,7 +92,7 @@ public:
         *
         * @since 2.0
         *
-        * @return      @c true if all the matrix members of the current instance are not equal to the corresponding matrix members in the specified instance, @n
+        * @return      @c true if all matrix members of the current instance are not equal to the corresponding matrix members in the specified instance, @n
         *                      else @c false
         * @param[in]   rhs     An instance of %FloatMatrix4
         */
@@ -103,8 +103,8 @@ public:
         *
         * @since 2.0
         *
-        * @return      A reference to this instance
-        * @param[in]   rhs     An instance of %FloatMatrix4 to copy
+        * @return      The reference to this instance
+        * @param[in]   rhs     An instance of %FloatMatrix4
         */
        FloatMatrix4& operator =(const FloatMatrix4& rhs);
 
@@ -113,8 +113,8 @@ public:
         *
         * @since 2.0
         *
-        * @return      A reference to this instance
-        * @param[in]   value   The @c float value to assign
+        * @return      The reference to this instance
+        * @param[in]   value   A @c float value to assign
         */
        FloatMatrix4& operator =(float value);
 
@@ -123,78 +123,78 @@ public:
         *
         * @since 2.0
         *
-        * @return      A new instance of %FloatMatrix4 that contains the resulting value of the operation
+        * @return      A new instance of %FloatMatrix4 containing the resulting value of the operation
         * @param[in]   rhs     An instance of %FloatMatrix4
         */
        FloatMatrix4 operator *(const FloatMatrix4& rhs) const;
 
        /**
-        * Multiplies the value to each matrix member of the current instance of %FloatMatrix4.
+        * Multiplies the value to each matrix members of current instance of %FloatMatrix4.
         *
         * @since 2.0
         *
-        * @return      A new instance of %FloatMatrix4 that contains the resulting value of the operation
-        * @param[in]   value   The @c float value to multiply
+        * @return      A new instance of %FloatMatrix4 containing the resulting value of the operation
+        * @param[in]   value   A @c float value to multiply
         */
        FloatMatrix4 operator *(float value) const;
 
        /**
-        * Adds the value of the specified instance to the current instance of %FloatMatrix4.
+        * Adds the value of the specified instance and the current instance of %FloatMatrix4.
         *
         * @since 2.0
         *
-        * @return      A new instance of %FloatMatrix4 that contains the resulting value of the operation
+        * @return      A new instance of %FloatMatrix4 containing the resulting value of the operation
         * @param[in]   rhs     An instance of %FloatMatrix4
         */
        FloatMatrix4 operator +(const FloatMatrix4& rhs) const;
 
        /**
-        * Adds the value to each matrix member of the current instance of %FloatMatrix4.
+        * Adds the value to each matrix members of current instance of %FloatMatrix4.
         *
         * @since 2.0
         *
-        * @return      A new instance of %FloatMatrix4 that contains the resulting value of the operation
-        * @param[in]   value   The @c float value to add
+        * @return      A new instance of %FloatMatrix4 containing the resulting value of the operation
+        * @param[in]   value   A @c float value to add
         */
        FloatMatrix4 operator +(float value) const;
 
        /**
-        * Subtracts the value of the specified instance from the current instance of %FloatMatrix4.
+        * Subtracts the value of the specified instance and the current instance of %FloatMatrix4.
         *
         * @since 2.0
         *
-        * @return      A new instance of %FloatMatrix4 that contains the resulting value of the operation
+        * @return      A new instance of %FloatMatrix4 containing the resulting value of the operation
         * @param[in]   rhs     An instance of %FloatMatrix4
         */
        FloatMatrix4 operator -(const FloatMatrix4& rhs) const;
 
        /**
-        * Subtracts the value from each matrix member of the current instance of %FloatMatrix4.
+        * Subtracts the value from each matrix members of current instance of %FloatMatrix4.
         *
         * @since 2.0
         *
-        * @return      A new instance of %FloatMatrix4 that contains the resulting value of the operation
-        * @param[in]   value   The @c float value to subtract
+        * @return      A new instance of %FloatMatrix4 containing the resulting value of the operation
+        * @param[in]   value   A @c float value to subtract
         */
        FloatMatrix4 operator -(float value) const;
 
        /**
-        * Multiplies the value of the specified instance with the current instance of %FloatMatrix4.
+        * Multiplies the value of the specified instance and the current instance of %FloatMatrix4.
         *
         * @since 2.0
         *
-        * @return      A reference to %FloatMatrix4 that contains the resulting value of the operation
+        * @return      The reference to %FloatMatrix4 containing the resulting value of the operation
         * @param[in]   rhs     An instance of %FloatMatrix4
         */
        FloatMatrix4& operator *=(const FloatMatrix4& rhs);
 
        /**
-        * Multiplies the value to each matrix member of the current instance of %FloatMatrix4.
+        * Multiplies the value to each matrix members of current instance of %FloatMatrix4.
         *
         * @since 2.0
         *
-        * @return      A reference to %FloatMatrix4 that contains the resulting value of the operation
-        * @param[in]   value   The @c float value to multiply
+        * @return      The reference to %FloatMatrix4 containing the resulting value of the operation
+        * @param[in]   value   A @c float value to multiply
         */
        FloatMatrix4& operator *=(float value);
 
@@ -203,18 +203,18 @@ public:
         *
         * @since 2.0
         *
-        * @return      A reference to %FloatMatrix4 that contains the resulting value of the operation
+        * @return      The reference to %FloatMatrix4 containing the resulting value of the operation
         * @param[in]   rhs     An instance of %FloatMatrix4
         */
        FloatMatrix4& operator +=(const FloatMatrix4& rhs);
 
        /**
-        * Adds the value to each matrix member of the current instance of %FloatMatrix4.
+        * Adds the value to each matrix members of current instance of %FloatMatrix4.
         *
         * @since 2.0
         *
-        * @return      A reference to %FloatMatrix4 that contains the resulting value of the operation
-        * @param[in]   value   The @c float value to add
+        * @return      The reference to %FloatMatrix4 containing the resulting value of the operation
+        * @param[in]   value   A @c float value to add
         */
        FloatMatrix4& operator +=(float value);
 
@@ -223,50 +223,50 @@ public:
         *
         * @since 2.0
         *
-        * @return      A reference to %FloatMatrix4 that contains the resulting value of the operation
+        * @return      The reference to %FloatMatrix4 containing the resulting value of the operation
         * @param[in]   rhs     An instance of %FloatMatrix4
         */
        FloatMatrix4& operator -=(const FloatMatrix4& rhs);
 
        /**
-        * Subtracts the value from each matrix member of the current instance of %FloatMatrix4.
+        * Subtracts the value from each matrix members of current instance of %FloatMatrix4.
         *
         * @since 2.0
         *
-        * @return      A reference to %FloatMatrix4 that contains the resulting value of the operation
-        * @param[in]   value   The @c float value to subtract
+        * @return      The reference to %FloatMatrix4 containing the resulting value of the operation
+        * @param[in]   value   A @c float value to subtract
         */
        FloatMatrix4& operator -=(float value);
 
        /**
-        * Gets an instance of %FloatMatrix4 resulting from the sum of the value and the specified instance of %FloatMatrix4.
+        * Gets the instance of %FloatMatrix4 resulting from the sum of the value and the specified instance of %FloatMatrix4.
         *
         * @since 2.0
         *
-        * @return      A new instance of %FloatMatrix4 that contains the resulting value of the operation
-        * @param[in]   value   The @c float value to add
+        * @return      A new instance of %FloatMatrix4 containing the resulting value of the operation
+        * @param[in]   value   A @c float value to add
         * @param[in]   rhs             An instance of %FloatMatrix4
         */
        _OSP_EXPORT_ friend FloatMatrix4 operator +(const float& value, const FloatMatrix4& rhs);
 
        /**
-        * Gets an instance of %FloatMatrix4 resulting from the product of the value and the specified instance of %FloatMatrix4.
+        * Gets the instance of %FloatMatrix4 resulting from the product of the value and the specified instance of %FloatMatrix4.
         *
         * @since 2.0
         *
-        * @return      A new instance of %FloatMatrix4 that contains the resulting value of the operation
-        * @param[in]   value   The @c float value to multiply
+        * @return      A new instance of %FloatMatrix4 containing the resulting value of the operation
+        * @param[in]   value   A @c float value to multiply
         * @param[in]   rhs             An instance of %FloatMatrix4
         */
        _OSP_EXPORT_ friend FloatMatrix4 operator *(const float& value, const FloatMatrix4& rhs);
 
        /**
-        * Gets an instance of %FloatMatrix4 resulting from the difference between the value and the specified instance of %FloatMatrix4.
+        * Gets the instance of %FloatMatrix4 resulting from the difference between the value and the specified instance of %FloatMatrix4.
         *
         * @since 2.0
         *
-        * @return      A new instance of %FloatMatrix4 that containsg the resulting value of the operation
-        * @param[in]   value   The @c float value to subtract
+        * @return      A new instance of %FloatMatrix4 containing the resulting value of the operation
+        * @param[in]   value   A @c float value to subtract
         * @param[in]   rhs             An instance of %FloatMatrix4
         */
        _OSP_EXPORT_ friend FloatMatrix4 operator -(const float& value, const FloatMatrix4& rhs);
@@ -279,9 +279,7 @@ public:
         * @return      @c true if the values of the current instance is equal to the value of the specified instance, @n
         *                      else @c false
         * @param[in]   obj     An instance of %FloatMatrix4
-        * @remarks
-        *                              - This method overrides Tizen::Base::Object::Equals(). 
-        *                              - This method uses the values of the Matrix components to compare the two instances.
+        * @remarks             This method overrides Tizen::Base::Object::Equals(). This method uses the values of the Matrix components to compare the two instances.
         */
        virtual bool Equals(const Tizen::Base::Object& obj) const;
 
@@ -291,8 +289,8 @@ public:
         * @since 2.0
         *
         * @return      The hash value of the current instance
-        * @remarks     Two equal instances must return the same hash value. @n
-        *                      For better performance, the used hash function must generate a random distribution for all the inputs.
+        * @remarks     Two equal instances must return the same hash value. For better performance,
+        *                      the used hash function must generate a random distribution for all inputs.
         */
        virtual int GetHashCode(void) const;
 
@@ -310,7 +308,7 @@ public:
         *
         * @since 2.0
         *
-        * @return      A new instance of %FloatMatrix4 that contains the resulting value of the operation
+        * @return      A new instance of %FloatMatrix4 containing the resulting value of the operation
         * @remarks     This function must be called after checking whether the matrix is invertible or not.
         */
        FloatMatrix4 GetInverse(void) const;
@@ -329,7 +327,7 @@ public:
         *
         * @since 2.0
         *
-        * @return      A new instance of %FloatMatrix4 that contains the resulting value of the operation
+        * @return      A new instance of %FloatMatrix4 containing the resulting value of the operation
         */
        FloatMatrix4 GetTranspose(void) const;
 
@@ -354,7 +352,7 @@ public:
        bool IsInvertible(void) const;
 
        /**
-        * Negates the matrix members of the current instance of %FloatMatrix4.
+        * Negates the matrix members of current instance of %FloatMatrix4.
         *
         * @since 2.0
         */
@@ -386,7 +384,7 @@ public:
        void Transpose(void);
 
        /**
-        * Sets the matrix members of the current instance of %FloatMatrix4 to zero.
+        * Sets the matrix members of current instance of %FloatMatrix4 to zero.
         *
         * @since 2.0
         */
diff --git a/inc/FBaseImmutableString.h b/inc/FBaseImmutableString.h
new file mode 100644 (file)
index 0000000..a66324b
--- /dev/null
@@ -0,0 +1,789 @@
+//
+// Copyright (c) 2013 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.
+// You may obtain a copy of the License at
+//
+//     http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+/**
+ * @file       FBaseImmutableString.h
+ * @brief      This is the header file for the %ImmutableString class.
+ *
+ * @since      3.0
+ * @final      This class is not intended for extension.
+ *
+ * This header file contains the declarations of the %ImmutableString class.
+ */
+
+#ifndef _FBASE_IMMUTABLE_STRING_H_
+#define _FBASE_IMMUTABLE_STRING_H_
+
+#include <FBaseObject.h>
+
+namespace Tizen { namespace Base
+{
+
+class _StringBuffer;
+
+/**
+ *     @class  ImmutableString
+ *     @brief  This class represents a immutable sequence of Unicode characters.
+ *
+ *     @since  3.0
+ *
+ *     The %ImmutableString class represents a immutable sequence of Unicode characters.
+ *     Mutation operation, such as Append(), Insert() and Remove(), do not change the current instance but return a new instance resulting from applying the operation.
+ *
+ *     For more information on the class features, see <a href="../org.tizen.native.appprogramming/html/guide/base/immutablestring.htm">ImmutableString</a>.
+ *
+ *     The following example demonstrates how to use the %ImmutableString class.
+ *
+ *     @code
+ *
+ *     #include <FBase.h>
+ *
+ *     using namespace Tizen::Base;
+ *
+ *     void
+ *     MyClass::ImmutableStringSample(void)
+ *     {
+ *             ImmutableString str(L"Test");                                                   // str == L"Test"
+ *
+ *             ImmutableString str1 = str.Append(L"String");                   // str1 == L"TestString"
+ *
+ *             ImmutableString str2 = str1.Insert(L"Immutable", 4);    // str2 == L"TestImmutableString"
+ *
+ *             ImmutableString str3 = str2.Remove(4, 5);                               // str3 == L"TestableString"
+ *
+ *             ImmutableString str4 = str3.SubString(4, 4);                    // str4 == L"able"
+ *     }
+ *     @endcode
+ */
+class _OSP_EXPORT_ ImmutableString
+       : public Object
+{
+public:
+       /**
+        * Initializes %ImmutableString instance with the specified Unicode string.
+        *
+        * @since 3.0
+        *
+        * @param[in]   pStr    A pointer to an array of Unicode characters
+        * @remarks             If whcar_t* type null pointer is entered on parameter, the empty string is set.
+        */
+       explicit ImmutableString(const wchar_t* pStr);
+
+       /**
+        * Initializes %ImmutableString instance with the specified UTF-8 string.
+        *
+        * @since 3.0
+        *
+        * @param[in]   pStr    A pointer to an array of UTF-8 characters
+        * @remarks             If char* type null pointer is entered on parameter, the empty string is set.
+        */
+       explicit ImmutableString(const char* pStr);
+
+       /**
+        * Initializes %ImmutableString instance with the specified %String.
+        *
+        * @since 3.0
+        *
+        * @param[in]   value   An instance of %String
+        */
+       ImmutableString(const String& value);
+
+       /**
+        * Copying of objects using this copy constructor is allowed.
+        *
+        * @since 3.0
+        *
+        * @param[in]   value   An instance of %ImmutableString
+        */
+       ImmutableString(const ImmutableString& value);
+
+       /**
+        * This destructor overrides Tizen::Base::Object::~Object().
+        *
+        * @since 3.0
+        */
+       virtual ~ImmutableString(void);
+
+       /**
+        * Returns a Unicode character at the specified @c index.
+        *
+        * @since 3.0
+        *
+        * @return              A Unicode character
+        * @param[in]   index   An index within this string
+        */
+       wchar_t operator [](int index) const;
+
+       /**
+        * Returns a new %ImmutableString instance resulting from appending the specified %ImmutableString to the end of this string.
+        *
+        * @since 3.0
+        *
+        * @return      The concatenated %ImmutableString instance
+        * @param[in]   str     An instance of %ImmutableString to append
+        */
+       ImmutableString Append(const ImmutableString& str) const;
+
+       /**
+        * Compares the value of the current instance to the value of the specified instance of %ImmutableString.
+        *
+        * @since 3.0
+        *
+        * @return      A @c signed integer value
+        * @code
+        *              <  0  if the value of the current instance is less than the value of the specified %ImmutableString instance
+        *              == 0  if the value of the current instance is equal to the value of the specified %ImmutableString instance
+        *              >  0  if the value of the current instance is greater than the value of the specified %ImmutableString instance
+        * @endcode
+        * @param[in]   str     An instance of %ImmutableString to compare
+        * @remarks
+        *                              - This method performs an ordinal comparison of each Unicode character. For instance,
+        *                              L"U+xxx" is greater than L"U+XXX", but smaller than L"U+yyy".
+        *                              - This method is not locale-dependent.
+        */
+       int CompareTo(const ImmutableString& str) const;
+
+       /**
+        * Checks whether this instance contains the specified substring.
+        *
+        * @since 3.0
+        *
+        * @return              @c true if this instance contains the specified substring, @n
+        *                              else @c false
+        * @param[in]   str     The string to match
+        * @remarks             This method returns @c true when an empty string is entered on parameter.
+        */
+       bool Contains(const ImmutableString& str) const;
+
+       /**
+        * Checks whether the given string is present at the end of the calling instance.
+        *
+        * @since 3.0
+        *
+        * @return      @c true if this instance ends with the specified text, @n
+        *                      else @c false
+        * @param[in]   str     An instance to match
+        * @exception   E_SUCCESS       The method is successful.
+        * @exception   E_INVALID_ARG   The specified @c str is an empty string.
+        * @remarks             The specific error code can be accessed by using GetLastResult() method.
+        */
+       bool EndsWith(const ImmutableString& str) const;
+
+       /**
+        * Checks whether the value of the specified instance of Object is equal to the value of this string.
+        *
+        * @since 3.0
+        *
+        * @return      @c true if the value of the specified instance of Object is equal to the value of this string, @n
+        *                      else @c false
+        * @param[in]   obj     An instance of Object to compare
+        * @remarks     This method returns @c false if the specified @c obj is not a string.
+        * @see         Object::Equals()
+        */
+       virtual bool Equals(const Object& obj) const;
+
+       /**
+        * Checks whether the value of the specified instance is equal to the value of this string. @n
+        * Case sensitivity is ignored.
+        *
+        * @since 3.0
+        *
+        * @return      @c true if the values match, @n
+        *                      else @c false
+        * @param[in]   str     An instance to compare with the calling instance
+        *
+        * @remarks     This method performs an ordinal comparison of each Unicode
+        *              character contained in the two given %ImmutableString instances.
+        */
+       bool EqualsCaseInsensitive(const ImmutableString& str) const;
+
+       /**
+        * Formats the inputs as per the specified format and and returns a new %ImmutableString instance.
+        *
+        * @since 3.0
+        *
+        * @return      An error code
+        * @param[in]   length          The maximum number of wide characters to write, including the terminating @c null character
+        * @param[in]   pFormat         The wide character format specifier
+        * @exception   E_SUCCESS               The method is successful.
+        * @exception   E_INVALID_ARG   Either of the following conditions has occurred:
+        *                                                              - The specified @c length is negative.
+        *                                                              - The specified @c pFormat is @c null.
+        *                                                              - The specified @c pFormat includes "%n" or "%hn" which may cause format string vulnerability.
+        * @remarks
+        *                      - If an "l" modifier is present in @c pFormat (for example, L"@%ls"), it is a pointer to an array of wide characters.
+        *                      - A pointer to an array of UTF-8 characters is not allowed in the Format() method (for example, Format(20, L"@%s", pUTF8Str)).
+        *                      - This method is locale-dependent.
+        *                      - This method returns an empty string when an exception occurs.
+        *                      - The specific error code can be accessed by using the GetLastResult() method.
+        * The following format specifiers are supported in this method:
+        * @code
+        * specifier    Output
+        * ---------    ------
+        * c            single byte character
+        * d(or i)      signed decimal integer
+        * u            unsigned decimal integer
+        * x            unsigned hexadecimal integer
+        * f            decimal floating point
+        * e            scientific notation using e character
+        * g            use the shorter of %e or %f
+        * s            single byte character string
+        * ls(or S)     wide-character string
+        * lld          64-bit signed decimal integer
+        *
+        * @endcode
+        *
+        * The following example demonstrates how to use the %Format() method.
+        * @code
+        *
+        *      int value = 10;
+        *      wchar_t* testStr = L"TEST";
+        *
+        *      ImmutableString str = Tizen::Base::ImmutableString::Format(25, L"FORMAT %d %ls", value, testStr);       // str == L"FORMAT 10 TEST"
+        *
+        * @endcode
+        */
+       static ImmutableString Format(int length, const wchar_t* pFormat, ...);
+
+       /**
+        * Gets the character at the specified position.
+        *
+        * @since 3.0
+        *
+        * @return              An error code
+        * @param[in]   indexAt The position of the character
+        * @param[out]  ch      The character at the specified index
+        * @exception   E_SUCCESS       The method is successful.
+        * @exception   E_OUT_OF_RANGE  Either of the following conditions has occurred:
+        *                                                              - The specified @c indexAt is either greater than or equal to the length of the current instance.
+        *                                                              - The specified @c indexAt is less than @c 0.
+        * @remarks             This method does not guarantee a usable value of out-parameter when an error occurs.
+        */
+       result GetCharAt(int indexAt, wchar_t& ch) const;
+
+       /**
+        * Gets the hash value of the current instance.
+        *
+        * @since 3.0
+        *
+        * @return      The hash value of the current instance
+        * @remarks     Two equal instances must return the same hash value. For better performance,
+        *                      the hash function used must generate a random distribution for all inputs.
+        */
+       virtual int GetHashCode(void) const;
+
+       /**
+        * Gets the length of the text contained in this %ImmutableString instance.
+        *
+        * @since 3.0
+        *
+        * @return      The length of this %ImmutableString instance
+        */
+       int GetLength(void) const;
+
+       /**
+        * Gets a pointer to the instance's internal buffer.
+        *
+        * @since 3.0
+        *
+        * @return      A Unicode pointer to the calling instance's internal buffer
+        */
+       const wchar_t* GetPointer(void) const;
+
+       /**
+        * Searches for a character in the calling instance. @n
+        * Gets the index of the first character that matches to the specified character in this instance.
+        *
+        * @since 3.0
+        *
+        * @return              An error code
+        * @param[in]   ch      The Unicode character to locate
+        * @param[in]   startIndex      The starting position of the search
+        * @param[out]  indexOf The index of the character
+        * @exception   E_SUCCESS       The method is successful.
+        * @exception   E_OBJ_NOT_FOUND The specified character is not found.
+        * @exception   E_OUT_OF_RANGE  Either of the following conditions has occurred:
+        *                                                              - The specified @c startIndex is either greater than or equal to the length of the current instance.
+        *                                                              - The specified @c startIndex is less than @c 0.
+        * @remarks             Do not use the @c indexOf when the method returns an error.
+        */
+       result IndexOf(wchar_t ch, int startIndex, int& indexOf) const;
+
+       /**
+        * Searches for a specified substring in the calling instance. @n
+        * Gets the starting index of the first occurrence of the specified substring.
+        *
+        * @since 3.0
+        *
+        * @return              An error code
+        * @param[in]   str     An instance to locate
+        * @param[in]   startIndex      The starting position of the search
+        * @param[out]  indexOf The index of the substring
+        * @exception   E_SUCCESS       The method is successful.
+        * @exception   E_OBJ_NOT_FOUND The specified string is not found.
+        * @exception   E_OUT_OF_RANGE  Either of the following conditions has occurred:
+        *                                                              - The specified @c startIndex is either greater than or equal to the length of the current instance.
+        *                                                              - The specified @c startIndex is less than @c 0.
+        * @remarks             Do not use the @c indexOf when the method returns an error.
+        */
+       result IndexOf(const ImmutableString& str, int startIndex, int& indexOf) const;
+
+       /**
+        * Returns a new instance resulting from inserting the specified string at the specified position.
+        *
+        * @since 3.0
+        *
+        * @return              The new %ImmutableString instance
+        * @param[in]   str     An instance to insert
+        * @param[in]   indexAt The position to insert @c str
+        * @exception   E_SUCCESS       The method is successful.
+        * @exception   E_OUT_OF_RANGE  Either of the following conditions has occurred:
+        *                                                              - The specified @c indexAt is greater than the length of the current instance.
+        *                                                              - The specified @c indexAt is less than @c 0.
+        * @remarks
+        *                              - This method returns an empty string when an exception occurs.
+        *                              - The specific error code can be accessed by using GetLastResult() method.
+        */
+       ImmutableString Insert(const ImmutableString& str, int indexAt) const;
+
+       /**
+        *      Checks whether the string is empty.
+        *
+        *      @since 3.0
+        *
+        *      @return @c true if the current instance is a zero-length %ImmutableString instance L"", @n
+        *              else @c false
+        */
+       bool IsEmpty(void) const;
+
+       /**
+        * Searches the calling instance for the last occurrence of the specified character and returns its index. @n
+        * The search begins at the @c startIndex position and proceeds backward towards the beginning.
+        *
+        * @since 3.0
+        *
+        * @return      An error code
+        * @param[in]   ch              The Unicode character to locate
+        * @param[in]   startIndex      The starting position of search
+        * @param[out]  indexOf         The index of character
+        * @exception   E_SUCCESS       The method is successful.
+        * @exception   E_OBJ_NOT_FOUND The specified character is not found.
+        * @exception   E_OUT_OF_RANGE  Either of the following conditions has occurred:
+        *                                                              - The specified @c startIndex is either greater than or equal to the length of the current instance.
+        *                                                              - The specified @c startIndex is less than @c 0.
+        * @remarks             Do not use the @c indexOf when the method returns an error.
+        * @code
+        *
+        *      int indexOf;
+        *      wchar_t ch = L'a';
+        *      ImmutalbeString str(L"ImmutableString");
+        *
+        *      str.LastIndexOf(ch, str.GetLength() - 1, indexOf); // indexOf == 5
+        *
+        * @endcode
+        */
+       result LastIndexOf(wchar_t ch, int startIndex, int& indexOf) const;
+
+       /**
+        * Searches the calling instance for the last occurrence of the specified substring and returns its index. @n
+        * The search begins at the @c startIndex position and proceeds backward towards the beginning.
+        *
+        * @since 3.0
+        *
+        * @return      An error code
+        * @param[in]   str             An instance to locate
+        * @param[in]   startIndex      The starting position of search
+        * @param[out]  indexOf         The index of the substring
+        * @exception   E_SUCCESS       The method is successful.
+        * @exception   E_OBJ_NOT_FOUND The specified character is not found.
+        * @exception   E_OUT_OF_RANGE  Either of the following conditions has occurred:
+        *                                                              - The specified @c startIndex is either greater than or equal to the length of the current instance.
+        *                                                              - The specified @c startIndex is less than @c 0.
+        *
+        * @remarks
+        *                              - If the substring is empty, E_SUCCESS is returned and the value of @c indexOf is set to @c startIndex.
+        *                              - Do not use the @c indexOf when the method returns an error.
+        * @code
+        *
+        *      int indexOf;
+        *      ImmutableString testStr= L"mutable";
+        *      ImmutalbeString str(L"ImmutableString");
+        *
+        *      str.LastIndexOf(testStr, str.GetLength() - 1, indexOf); // indexOf == 2
+        *
+        * @endcode
+        */
+       result LastIndexOf(const ImmutableString& str, int startIndex, int& indexOf) const;
+
+       /**
+        * Removes the characters within the specified range in the calling %ImmutableString instance
+        * and returns a new %ImmutableString instance.
+        *
+        * @since 3.0
+        *
+        * @return      The new %ImmutableString instance
+        *
+        * @param[in]   startIndex      The position where the removal begins
+        * @param[in]   length  The number of characters to remove
+        * @exception   E_SUCCESS               The method is successful.
+        * @exception   E_OUT_OF_RANGE  Either of the following conditions has occurred:
+        *                                                              - The specified @c startIndex is either greater than or equal to the length of the current instance.
+        *                                                              - The specified @c startIndex is less than @c 0.
+        *                                                              - The specified @c length is greater than the length of the substring starting from @c startIndex.
+        *                                                              - The specified @c length is less than @c 0.
+        * @remarks
+        *                              - This method returns an empty string when an exception occurs.
+        *                              - The specific error code can be accessed by using GetLastResult() method.
+        */
+       ImmutableString Remove(int startIndex, int length) const;
+
+       /**
+        * Replaces all occurrences of the specified character in the calling %ImmutableString instance with the character to replace
+        * and returns a new %ImmutableString instance.
+        *
+        * @since 3.0
+        *
+        * @return      The new %ImmutableString instance
+        *
+        * @param[in]   original The character to replace
+        * @param[in]   replace The character to replace all occurrences of @c original by
+        */
+       ImmutableString Replace(wchar_t original, wchar_t replace) const;
+
+       /**
+        * Replaces all occurrences of the specified string in the calling %ImmutableString instance with string to replace
+        * and returns a new %ImmutableString instance.
+        *
+        * @since 3.0
+        *
+        * @return      The new %ImmutableString instance
+        *
+        * @param[in]   original        An instance to replace
+        * @param[in]   replace An instance to replace all occurrences of @c original by
+        * @exception   E_SUCCESS               The method is successful.
+        * @exception   E_INVALID_ARG   The specified @c original is an empty string.
+        * @remarks
+        *                              - This method returns an empty string when an exception occurs.
+        *                              - The specific error code can be accessed by using GetLastResult() method.
+        */
+       ImmutableString Replace(const ImmutableString& original, const ImmutableString& replace) const;
+
+       /**
+        * Replaces all occurrences of the specified string in the calling %ImmutableString instance from the specified starting position
+        * with string to replace and returns a new %ImmutableString instance.
+        *
+        * @since 3.0
+        *
+        * @return      The new %ImmutableString instance
+        *
+        * @param[in]   original        An instance to replace
+        * @param[in]   replace An instance to replace all occurrences of @c original by
+        * @param[in]   startIndex      The starting position of the substring
+        * @exception   E_SUCCESS               The method is successful.
+        * @exception   E_INVALID_ARG   The specified @c original is an empty string.
+        * @exception   E_OUT_OF_RANGE  Either of the following conditions has occurred:
+        *                                                              - The specified @c startIndex is either greater than or equal to the length of the current instance.
+        *                                                              - The specified @c startIndex is less than @c 0.
+        *                                                              - The length of the specified @c original is greater than the length of the substring starting from @c startIndex.
+        * @remarks
+        *                              - This method returns an empty string when an exception occurs.
+        *                              - The specific error code can be accessed by using GetLastResult() method.
+        */
+       ImmutableString Replace(const ImmutableString& original, const ImmutableString& replace, int startIndex) const;
+
+       /**
+        * Reverses the sequence of characters in the calling %ImmutableString instance and returns a new %ImmutableString instance.
+        *
+        * @since 3.0
+        *
+        * @return      The new %ImmutableString instance
+        */
+       ImmutableString Reverse(void) const;
+
+       /**
+        * Sets the character at the specified index with the given character in the calling %ImmutableString instance
+        * and returns a new %ImmutableString instance.
+        *
+        * @since 3.0
+        *
+        * @return      The new %ImmutableString instance
+        *
+        * @param[in]   ch      A new character
+        * @param[in]   indexAt The position of the character
+        * @exception   E_SUCCESS               The method is successful.
+        * @exception   E_OUT_OF_RANGE  Either of the following conditions has occurred:
+        *                                                              - The specified @c indexAt is either greater than or equal to the length of the current instance.
+        *                                                              - The specified @c indexAt is less than @c 0.
+        * @remarks
+        *                              - This method returns an empty string when an exception occurs.
+        *                              - The specific error code can be accessed by using GetLastResult() method.
+        */
+       ImmutableString SetCharAt(wchar_t ch, int indexAt) const;
+
+       /**
+        * Checks whether this instance contains the specified text from the given index.
+        *
+        * @since 3.0
+        *
+        * @return              @c true if this instance starts with the specified text, @n
+        *                              else @c false
+        *
+        * @param[in]   str     The string to match
+        * @param[in]   startIndex      The start position of the string
+        * @exception   E_SUCCESS               The method is successful.
+        * @exception   E_OUT_OF_RANGE  Either of the following conditions has occurred:
+        *                                                              - The specified @c startIndex is either greater than or equal to the length of the current instance.
+        *                                                              - The specified @c startIndex is less than @c 0.
+        * @remarks
+        *                              - The specific error code can be accessed by using GetLastResult() method.
+        *                              - This method returns @c true when an empty string is entered on parameter.
+        */
+       bool StartsWith(const ImmutableString& str, int startIndex) const;
+
+       /**
+        * Checks whether this instance contains the specified text.
+        *
+        * @since 3.0
+        *
+        * @return              @c true if this instance starts with the specified text, @n
+        *                              else @c false
+        *
+        * @param[in]   str     The string to match
+        */
+       bool StartsWith(const ImmutableString& str) const;
+
+       /**
+        * Finds a substring starting from the given index in the calling %ImmutableString instance
+        * and returns a new %ImmutableString instance.
+        *
+        * @since 3.0
+        *
+        * @return      The new %ImmutableString instance containing sub string
+        *
+        * @param[in]   startIndex      The starting index of the substring
+        * @exception   E_SUCCESS               The method is successful.
+        * @exception   E_OUT_OF_RANGE  Either of the following conditions has occurred:
+        *                                                              - The specified @c startIndex is either greater than or equal to the length of the current instance.
+        *                                                              - The specified @c startIndex is less than @c 0.
+        * @remarks
+        *                              - This method returns an empty string when an exception occurs.
+        *                              - The specific error code can be accessed by using GetLastResult() method.
+        */
+       ImmutableString SubString(int startIndex) const;
+
+       /**
+        * Finds a substring of the given length starting from the specified index in the calling %ImmutableString instance
+        * and returns a new %ImmutableString instance.
+        *
+        * @since 3.0
+        *
+        * @return      The new %ImmutableString instancecontaining sub string
+        *
+        * @param[in]   startIndex      The starting position of the substring
+        * @param[in]   length  The length of the substring
+        * @exception   E_SUCCESS               The method is successful.
+        * @exception   E_OUT_OF_RANGE  Either of the following conditions has occurred:
+        *                                                              - The specified @c startIndex is either greater than or equal to the length of the current instance.
+        *                                                              - The specified @c startIndex is less than @c 0.
+        *                                                              - The specified @c length is greater than the length of the substring starting from @c startIndex.
+        *                                                              - The specified @c length is less than @c 0.
+        * @remarks
+        *                              - This method returns an empty string when an exception occurs.
+        *                              - The specific error code can be accessed by using GetLastResult() method.
+        */
+       ImmutableString SubString(int startIndex, int length) const;
+
+       /**
+        * Converts the unicode characters to lowercase from the calling %ImmutableString instance and
+        * returns a new %ImmutableString instance. Unicode characters other than the English alphabets are also supported.
+        *
+        * @since 3.0
+        *
+        * @return      The new %ImmutableString instance
+        */
+       ImmutableString ToLowerCase(void) const;
+
+       /**
+        * Converts the unicode characters to uppercase from the calling %ImmutableString instance and
+        * returns a new %ImmutableString instance. Unicode characters other than the English alphabets are also supported.
+        *
+        * @since 3.0
+        *
+        * @return      The new %ImmutableString instance
+        */
+       ImmutableString ToUpperCase(void) const;
+
+       /**
+        * Trims the leading and trailing whitespace characters in the calling %ImmutableString instance and
+        * returns a new %ImmutableString instance.
+        *
+        * @since 3.0
+        *
+        * @return      The new %ImmutableString instance
+        */
+       ImmutableString Trim(void) const;
+
+private:
+       //
+       // This constructor is intentionally declared as private so that only the platform can create an instance.
+       //
+       ImmutableString(void);
+
+       //
+       // The implementation of this copy constructor is intentionally blank and declared as private to prohibit copying of objects.
+       //
+       ImmutableString& operator =(const ImmutableString& rhs);
+
+       //
+       // Overloaded constructor
+       //
+       ImmutableString(const wchar_t* pStr1, const wchar_t* pStr2);
+
+       //
+       // Overloaded constructor
+       //
+       ImmutableString(_StringBuffer* pBuf);
+
+private:
+
+       _StringBuffer* __pImpl;
+       friend class _StringBuffer;
+};
+
+/**
+ * Checks two %ImmutableString instances for equality.
+ *
+ * @since 3.0
+ *
+ * @return             @c true if %lhs string is equal to %rhs string, @n
+ *                             else @c false
+ * @param[in]  lhs     An instance for the left-hand side of the operator
+ * @param[in]  rhs     An instance for the right-hand side of the operator
+ * @remarks
+ *                             - The operator performs an ordinal comparison of each Unicode character.
+ *                             - This operator is not locale-dependent.
+ */
+inline bool operator ==(const ImmutableString& lhs, const ImmutableString& rhs)
+{
+       return (lhs.CompareTo(rhs) == 0);
+}
+
+/**
+ * Checks two %ImmutableString instances for inequality.
+ *
+ * @since 3.0
+ *
+ * @return             @c true if %lhs string is not equal to %rhs string, @n
+ *                             else @c false
+ * @param[in]  lhs     An instance for the left-hand side of the operator
+ * @param[in]  rhs     An instance for the right-hand side of the operator
+ * @remarks
+ *                             - The operator performs an ordinal comparison of each Unicode character.
+ *                             - This operator is not locale-dependent.
+ */
+inline bool operator !=(const ImmutableString& lhs, const ImmutableString& rhs)
+{
+       return (lhs.CompareTo(rhs) != 0);
+}
+
+/**
+ * Checks the right-hand side %ImmutalbeString instance is greater than the left-hand side one.
+ *
+ * @since 3.0
+ *
+ * @return             @c true if the string of the right-hand side %ImmutableString instance is greater than the left-hand side one, @n
+ *                             else @c false
+ * @param[in]  lhs     An instance for the left-hand side of the operator
+ * @param[in]  rhs     An instance for the right-hand side of the operator
+ * @remarks
+ *                             - The operator compares texts by ordinal comparison.
+ *                             - This operator is not locale-dependent.
+ */
+inline bool operator <(const ImmutableString& lhs, const ImmutableString& rhs)
+{
+       return (lhs.CompareTo(rhs) < 0);
+}
+
+/**
+ * Checks the right-hand side %ImmutalbeString instance is less than the left-hand side one.
+ *
+ * @since 3.0
+ *
+ * @return             @c true if the string of the right-hand side %ImmutableString instance is less than the left-hand side one, @n
+ *                             else @c false
+ * @param[in]  lhs     An instance for the left-hand side of the operator
+ * @param[in]  rhs     An instance for the right-hand side of the operator
+ * @remarks
+ *                             - The operator compares texts by ordinal comparison.
+ *                             - This operator is not locale-dependent.
+ */
+inline bool operator >(const ImmutableString& lhs, const ImmutableString& rhs)
+{
+       return (lhs.CompareTo(rhs) > 0);
+}
+
+/**
+ * Checks the right-hand side %ImmutalbeString instance is greater than or equal to the left-hand side one.
+ *
+ * @since 3.0
+ *
+ * @return             @c true if the string of the right-hand side %ImmutableString instance is greater than or equal to the left-hand side one, @n
+ *                             else @c false
+ * @param[in]  lhs     An instance for the left-hand side of the operator
+ * @param[in]  rhs     An instance for the right-hand side of the operator
+ * @remarks
+ *                             - The operator compares texts by ordinal comparison.
+ *                             - This operator is not locale-dependent.
+ */
+inline bool operator <=(const ImmutableString& lhs, const ImmutableString& rhs)
+{
+       return (lhs.CompareTo(rhs) <= 0);
+}
+
+/**
+ * Checks the right-hand side %ImmutalbeString instance is less than or equal to the left-hand side one.
+ *
+ * @since 3.0
+ *
+ * @return             @c true if the string of the right-hand side %ImmutableString instance is less than or equal to the left-hand side one, @n
+ *                             else @c false
+ * @param[in]  lhs     An instance for the left-hand side of the operator
+ * @param[in]  rhs     An instance for the right-hand side of the operator
+ * @remarks
+ *                             - The operator compares texts by ordinal comparison.
+ *                             - This operator is not locale-dependent.
+ */
+inline bool operator >=(const ImmutableString& lhs, const ImmutableString& rhs)
+{
+       return (lhs.CompareTo(rhs) >= 0);
+}
+
+/**
+ * Concatenates two strings.
+ *
+ * @since 3.0
+ *
+ * @return             The concatenated %ImmutableString instance
+ * @param[in]  lhs     An instance for the left-hand side of the operator
+ * @param[in]  rhs     An instance for the right-hand side of the operator
+ */
+inline ImmutableString operator +(const ImmutableString& lhs, const ImmutableString& rhs)
+{
+       return lhs.Append(rhs);
+}
+
+}} // Tizen::Base
+#endif // _FBASE_IMMUTABLE_STRING_H_
index c6fd40a..5984b97 100644 (file)
@@ -18,9 +18,9 @@
  * @file               FBaseInt8.h
  * @brief              This is the header file for the %Int8 class.
  *
- * This header file contains the declarations of the %Int8 class.
- *
  * @see                        Tizen::Base::Number
+ *
+ * This header file contains the declarations of the %Int8 class.
  */
 #ifndef _FBASE_INT8_H_
 #define _FBASE_INT8_H_
@@ -31,6 +31,9 @@ namespace Tizen { namespace Base
 {
 /**
  * @class      Int8
+ * @brief      <i> [Deprecated] </i>
+ * @deprecated This class is deprecated because char is treated as unsigned char in ARM architecture. Use Integer8 class.
+ *
  * @brief      This class is the wrapper class for the @c signed @c char built-in type.
  *
  * @since 2.0
@@ -78,8 +81,11 @@ public:
         * Initializes this instance of %Int8 with the specified value.
         *
         * @since 2.0
+        * @brief       <i> [Deprecated] </i>
+        * @deprecated  This class is deprecated because char is treated as unsigned char in ARM architecture. Use Integer8 class.
+        *
         *
-        * @param[in]   value   The @c char value
+        * @param[in]   value   A @c char value
         */
        Int8(char value = 0);
 
@@ -87,8 +93,11 @@ public:
         * Copying of objects using this copy constructor is allowed.
         *
         * @since 2.0
+        * @brief       <i> [Deprecated] </i>
+        * @deprecated  This class is deprecated because char is treated as unsigned char in ARM architecture. Use Integer8 class.
         *
-        * @param[in]   value   An instance of %Int8 to copy
+        *
+        * @param[in]   value   An instance of %Int8
         */
        Int8(const Int8& value);
 
@@ -96,6 +105,9 @@ public:
         * This destructor overrides Tizen::Base::Object::~Object().
         *
         * @since 2.0
+        * @brief       <i> [Deprecated] </i>
+        * @deprecated  This class is deprecated because char is treated as unsigned char in ARM architecture. Use Integer8 class.
+        *
         */
        virtual ~Int8(void);
 
@@ -103,8 +115,10 @@ public:
         * Copying of objects using this copy assignment operator is allowed.
         *
         * @since 2.0
+        * @brief       <i> [Deprecated] </i>
+        * @deprecated  This class is deprecated because char is treated as unsigned char in ARM architecture. Use Integer8 class.
         *
-        * @param[in]   rhs     An instance of %Int8 to copy
+        * @param[in]   rhs     An instance of %Int8
         */
        Int8& operator =(const Int8& rhs);
 
@@ -112,8 +126,10 @@ public:
         * Compares two @c char values.
         *
         * @since 2.0
+        * @brief       <i> [Deprecated] </i>
+        * @deprecated  This class is deprecated because char is treated as unsigned char in ARM architecture. Use Integer8 class.
         *
-        * @return              The 32-bit @c signed integer value
+        * @return              A 32-bit @c signed integer value
         * @code
         * <  0  if the value of ch1 is less than the value of ch2
         * == 0  if the value of ch1 is equal to the value of ch2
@@ -125,17 +141,19 @@ public:
        static int Compare(char ch1, char ch2);
 
        /**
-        * Compares the value of the current instance with the value of the specified instance of %Int8.
+        * Compares the value of the current instance with the value of the specified instance of the %Int8 class.
         *
         * @since 2.0
+        * @brief       <i> [Deprecated] </i>
+        * @deprecated  This class is deprecated because char is treated as unsigned char in ARM architecture. Use Integer8 class.
         *
-        * @return              The 32-bit @c signed integer value
+        * @return              A 32-bit @c signed integer value
         * @code
         * <  0  if the value of the current instance is less than the value of the specified instance
         * == 0  if the value of the current instance is equal to the value of the specified instance
         * >  0  if the value of the current instance is greater than the value of the specified instance
         * @endcode
-        * @param[in]   value   An instance of %Int8 to compare
+        * @param[in]   value   An instance of the %Int8 class to compare
         */
        int CompareTo(const Int8& value) const;
 
@@ -143,47 +161,55 @@ public:
         * Checks whether the value of the specified instance of %Int8 is equal to the value of the current instance.
         *
         * @since 2.0
+        * @brief       <i> [Deprecated] </i>
+        * @deprecated  This class is deprecated because char is treated as unsigned char in ARM architecture. Use Integer8 class.
         *
         * @return              @c true if the value of the specified instance is equal to the value of the current instance, @n
         *                              else @c false
-        * @param[in]   obj An instance of Tizen::Base::Object to compare
+        * @param[in]   obj An instance of Object to compare
         * @see                 Tizen::Base::Object::Equals()
         */
        virtual bool Equals(const Object& obj) const;
 
        /**
-        *      Gets the hash value of the current instance of %Int8.
+        * Gets the hash value of the current instance of %Int8.
         *
-        *      @since 2.0
+        * @since 2.0
+        * @brief       <i> [Deprecated] </i>
+        * @deprecated  This class is deprecated because char is treated as unsigned char in ARM architecture. Use Integer8 class.
         *
-        *      @return         The integer value that indicates the hash value of the current instance of %Int8
-        *      @remarks        
-        *                              - Two equal instances must return the same hash value. @n
-        *                              For better performance, the used hash function must generate a random distribution for all the inputs. @n
-        *                              - The default implementation of this method returns the value of the current instance.
+        *      @return         An integer value indicating the hash value of the current instance of %Int8
+        *      @remarks        Two equal instances must return the same hash value. For better performance,
+        *                              the used hash function must generate a random distribution for all inputs. @n
+        *                              The default implementation of this method returns the value of the current instance.
         */
        virtual int GetHashCode(void) const;
 
        /**
-       *   Gets the hash value of the specified @c char value.
-       *
-       *   @since 2.0
-       *
-       *   @return             The integer value that indicates the hash value of the specified @c char value
-       *   @param[in]  val   The @c char value to get the hash value
-       */
+        * Gets the hash value of the specified @c char value.
+        *
+        * @since 2.0
+        * @brief       <i> [Deprecated] </i>
+        * @deprecated  This class is deprecated because char is treated as unsigned char in ARM architecture. Use Integer8 class.
+        *
+        *   @return            An integer value indicating the hash value of the specified @c char value
+        *   @param[in] val   A @c char value to get the hash value
+        */
        static int GetHashCode(char val);
 
        /**
         * Decodes a string into a @c signed @c char.
         *
         * @since 2.0
+        * @brief       <i> [Deprecated] </i>
+        * @deprecated  This class is deprecated because char is treated as unsigned char in ARM architecture. Use Integer8 class.
         *
         * @return              An error code
-        * @param[in]   s                        The string that represents the numeric value
-        * @param[out]  ret                      The result of the operation
-        * @exception   E_SUCCESS        The method is successful.
-        * @exception   E_NUM_FORMAT The specified string does not contain a number that can be parsed.
+        * @param[in]   s       A string representing a numeric value
+        * @param[out]  ret     The result of the operation
+        * @exception   E_SUCCESS       The method is successful.
+        * @exception   E_NUM_FORMAT    The specified string does not contain a number that can be parsed.
+        *
         * @remarks             This method accepts decimal, hexadecimal, and octal numbers given by the
         *                              following grammar:
         * @code
@@ -196,8 +222,8 @@ public:
         *      - Sign:
         *              '-'
         * @endcode
-        * @remarks     This method has portability issues. @n
-        *                              When the specified string is a negative number in the ARM architecture, type casting is needed like the following code.
+        * @remarks             This method has portability issue. @n
+        *                              When the specified string is nagative number in the ARM architecture, type casting is needed like following code.
         * @code
         *      char ret;
         *      Int8::Decode(L"-0X20", ret);
@@ -207,52 +233,75 @@ public:
        static result Decode(const String& s, char& ret);
 
        /**
-        * Parses the @c signed @c char equivalent of the specified string that represents a numeric value.
+        * Parses the @c signed @c char equivalent of the specified string representing a numeric value.
         *
         * @since 2.0
+        * @brief       <i> [Deprecated] </i>
+        * @deprecated  This class is deprecated because char is treated as unsigned char in ARM architecture. Use Integer8 class.
         *
         * @return              An error code
-        * @param[in]   s                        The string that represents a numeric value
-        * @param[out]  ret                      The result of the operation
-        * @exception   E_SUCCESS        The method is successful.
-        * @exception   E_NUM_FORMAT The specified string does not contain a byte that can be parsed.
+        * @param[in]   s       A string representing a numeric value
+        * @param[out]  ret     The result of the operation
+        * @exception   E_SUCCESS       The method is successful.
+        * @exception   E_NUM_FORMAT    The specified string does not contain a byte that can be parsed.
+        *
         * @remarks
-        *                              - This method assumes that the string representing the numeric value uses a radix @c 10.
-        *                              - This method guarantees that the original value of the out-parameter is not changed when the method returns an error.
+        *                              - This method assumes that the string representing the numeric value uses a radix 10.
+        *                              - This method guarantees that the original value of out-parameter is not changed when the method returns error.
         */
        static result Parse(const String& s, char& ret);
 
        /**
-        * Parses the specified string that represents a numeric value and
+        * Parses the specified string representing a numeric value and
         * returns the value as @c signed @c char (as out parameter).
         *
         * @since 2.0
-        *
-        * @return              The @c signed @c char equivalent of the specified string that represents the numeric value using the specified index
-        * @param[in]   s                               The string that represents the numeric value
-        * @param[in]   radix                   The radix of the string that represents the numeric value @n
-        *                                                              It must either be 2, 8, 10, or 16.
-        * @param[out]  ret                             The result of the operation
-        * @exception   E_SUCCESS               The method is successful.
-        * @exception   E_NUM_FORMAT    The specified string does not contain a number that can be parsed.
-        * @exception   E_OUT_OF_RANGE  The specified @c radix is invalid.
-        * @remarks             This method guarantees that the original value of the out-parameter is not changed when the method returns an error.
+        * @brief       <i> [Deprecated] </i>
+        * @deprecated  This class is deprecated because char is treated as unsigned char in ARM architecture. Use Integer8 class.
+        *
+        * @return              The @c signed @c char equivalent of the specified string representing the numeric value using the specified index
+        * @param[in]   s       A string representing a numeric value
+        * @param[in]   radix   The radix of the string representing a numeric value @n
+        *                      Radix value range is from 2 to 36.
+        * @param[out]  ret             The result of the operation
+        * @exception   E_SUCCESS       The method is successful.
+        * @exception   E_NUM_FORMAT    The specified string does not contain a number that can be parsed.
+        *
+        * @remarks             This method guarantees that the original value of out-parameter is not changed when the method returns error.
         */
        static result Parse(const String& s, int radix, char& ret);
 
        /**
-        * Gets the @c signed @c char equivalent of the current instance of %Int8.
+        * Gets the @c char equivalent of the current instance of %Int8.
         *
         * @since 2.0
+        * @brief       <i> [Deprecated] </i>
+        *
+        * @deprecated  This class is deprecated because char is treated as unsigned char in ARM architecture. Use Integer8 class.
+        *              This method has portability issue.
+        *              Return value may not be @c signed @c char since char is treated as unsigned char in ARM architecture. @n
+        *              Use ToInt8() method to get @c int8_t
+        * @return      The @c char equivalent of the current instance
         *
-        * @return      The @c signed @c char equivalent of the current instance
         */
        virtual char ToChar(void) const;
 
        /**
+        * Gets the @c int8_t equivalent of the current instance of %Int8.
+        *
+        * @since 3.0
+        *
+        * @return      The @c int8_t equivalent of the current instance
+        * @remarks     This method always returns 0. Use Integer8::ToInt8() to get the @int8_t
+        */
+       virtual int8_t ToInt8(void) const;
+
+       /**
         * Gets the @c signed @c short equivalent of the current instance of %Int8.
         *
         * @since 2.0
+        * @brief       <i> [Deprecated] </i>
+        * @deprecated  This class is deprecated because char is treated as unsigned char in ARM architecture. Use Integer8 class.
         *
         * @return      The @c signed @c short equivalent of the current instance
         */
@@ -262,6 +311,8 @@ public:
         * Gets the @c signed @c int equivalent of the current instance of %Int8.
         *
         * @since 2.0
+        * @brief       <i> [Deprecated] </i>
+        * @deprecated  This class is deprecated because char is treated as unsigned char in ARM architecture. Use Integer8 class.
         *
         * @return      The @c signed @c int equivalent of the current instance
         */
@@ -271,24 +322,30 @@ public:
         * Gets the @c signed @c long equivalent of the current instance of %Int8.
         *
         * @since 2.0
+        * @brief       <i> [Deprecated] </i>
+        * @deprecated  This class is deprecated because char is treated as unsigned char in ARM architecture. Use Integer8 class.
         *
         * @return      The @c signed @c long equivalent of the current instance
         */
        virtual long ToLong(void) const;
 
        /**
-       * Gets the @c signed @c long @c long equivalent of the current instance of %Int8.
-       *
-       * @since 2.0
-       *
-       * @return       The @c signed @c long @c long equivalent of the current instance
-       */
+        * Gets the @c signed @c long @c long equivalent of the current instance of %Int8.
+        *
+        * @since 2.0
+        * @brief       <i> [Deprecated] </i>
+        * @deprecated  This class is deprecated because char is treated as unsigned char in ARM architecture. Use Integer8 class.
+        *
+        * @return      The @c signed @c long @c long equivalent of the current instance
+        */
        virtual long long ToLongLong(void) const;
 
        /**
         * Gets the @c signed @c float equivalent of the current instance of %Int8.
         *
         * @since 2.0
+        * @brief       <i> [Deprecated] </i>
+        * @deprecated  This class is deprecated because char is treated as unsigned char in ARM architecture. Use Integer8 class.
         *
         * @return      The @c signed @c float equivalent of the current instance
         */
@@ -298,50 +355,65 @@ public:
         * Gets the @c signed @c double equivalent of the current instance of %Int8.
         *
         * @since 2.0
+        * @brief       <i> [Deprecated] </i>
+        * @deprecated  This class is deprecated because char is treated as unsigned char in ARM architecture. Use Integer8 class.
         *
         * @return      The @c signed @c double equivalent of the current instance
         */
        virtual double ToDouble(void) const;
 
        /**
-        * Gets the string that represents the value of the current instance of %Int8.
+        * Gets the string representing the value of the current instance of %Int8.
         *
         * @since 2.0
+        * @brief       <i> [Deprecated] </i>
+        * @deprecated  This class is deprecated because char is treated as unsigned char in ARM architecture. Use Integer8 class.
         *
-        * @return              The string that represents the value of the current instance
+        * @return              A string representing the value of the current instance
         */
        virtual String ToString(void) const;
 
        /**
-        * Gets the string that represents the specified @c signed @c char value using radix @c 10.
+        * Gets the string representing the specified @c signed @c char value using radix @c 10.
         *
         * @since 2.0
+        * @brief       <i> [Deprecated] </i>
+        * @deprecated  This class is deprecated because char is treated as unsigned char in ARM architecture. Use Integer8 class.
         *
-        * @return              The string that contains the Unicode representation of the specified @c char value using radix @c 10
-        * @param[in]   value   The @c char value
+        * @return              A string containing a Unicode representation of the specified @c char value using radix 10
+        * @param[in]   value   A @c char value
         */
        static String ToString(char value);
 
        /**
-        * The constant holding the maximum value of type @c char. @n
+        * A constant holding the maximum value of type @c char. @n
         * A @c short character can hold a value of upto 2^7-1.
         *
         * @since 2.0
+        * @brief       <i> [Deprecated] </i>
+        * @deprecated  This class is deprecated because char is treated as unsigned char in ARM architecture. Use Integer8 class.
+        *
         */
-       static const char VALUE_MAX = (signed char) 0x7F;
+       static const char VALUE_MAX = static_cast< signed char >(0x7F);
 
        /**
-        * The constant holding the minimum value of type @c char. @n
+        * A constant holding the minimum value of type @c char. @n
         * A @c short character can hold a value of upto -2^7.
         *
         * @since 2.0
+        * @brief       <i> [Deprecated] </i>
+        * @deprecated  This class is deprecated because char is treated as unsigned char in ARM architecture. Use Integer8 class.
+        *
         */
-       static const char VALUE_MIN = (signed char) 0x80;
+       static const char VALUE_MIN = static_cast< signed char >(0x80);
 
        /**
-        * The @c signed @c char value of this instance.
+        * A @c signed @c char value of this instance.
         *
         * @since 2.0
+        * @brief       <i> [Deprecated] </i>
+        * @deprecated  This class is deprecated because char is treated as unsigned char in ARM architecture. Use Integer8 class.
+        *
         */
        signed char value;
 
index 842d8a2..df257e2 100644 (file)
 /**
  * @file               FBaseInt8Comparer.h
  * @brief              This is the header file for the %Int8Comparer class.
+ * @brief      <i> [Deprecated] </i>
+ * @deprecated This class is deprecated because char is treated as unsigned char in ARM architecture. Use Integer8Comparer class.
  *
- * This header file contains the declarations of the %Int8Comparer class.
+ * @see                        Int8 and Tizen::Base::Collection::IComparer
  *
- * @see                        Int8
- * @see                        Tizen::Base::Collection::IComparer
+ * This header file contains the declarations of the %Int8Comparer class.
  */
 #ifndef _FBASE_INT8_COMPARER_H_
 #define _FBASE_INT8_COMPARER_H_
@@ -34,11 +35,11 @@ namespace Tizen { namespace Base
 {
 /**
  *     @class  Int8Comparer
- *     @brief  This class checks for equivalence between two instances of the %Int8 type.
+ *     @brief  This class checks for equivalence between 2 instances of the %Int8 type.
  *
  *     @since 2.0
  *
- *     The %Int8Comparer class checks for equivalence between two instances of the Int8 type.
+ *     The %Int8Comparer class checks for equivalence between 2 instances of the Int8 type.
  *
  * For more information on the class features, see <a href="../org.tizen.native.appprogramming/html/guide/base/collection_comparison.htm">Collection Comparisons</a>.
  *
@@ -75,6 +76,8 @@ public:
         *      This is the default constructor for this class.
         *
         *      @since 2.0
+        * @brief       <i> [Deprecated] </i>
+        * @deprecated  This class is deprecated because char is treated as unsigned char in ARM architecture. Use Integer8Comparer class.
         */
        Int8Comparer(void);
 
@@ -83,6 +86,8 @@ public:
         *      This destructor overrides Tizen::Base::Object::~Object().
         *
         *      @since 2.0
+        * @brief       <i> [Deprecated] </i>
+        * @deprecated  This class is deprecated because char is treated as unsigned char in ARM architecture. Use Integer8Comparer class.
         */
        virtual ~Int8Comparer(void);
 
@@ -90,19 +95,21 @@ public:
         *      Compares two given instances of type Int8.
         *
         *      @since 2.0
+        * @brief       <i> [Deprecated] </i>
+        * @deprecated  This class is deprecated because char is treated as unsigned char in ARM architecture. Use Integer8Comparer class.
         *
         *  @return             An error code
-        *  @param[in]  obj1                    The first instance of type Int8
-        *  @param[in]  obj2                    The second instance of type Int8
-        *  @param[out] cmp                             The result of the comparison
+        *  @param[in]  obj1    The first instance of type Int8
+        *  @param[in]  obj2    The second instance of type Int8
+        *  @param[out] cmp             The result of comparison
         *  @exception  E_SUCCESS               The method is successful.
         *  @exception  E_INVALID_ARG   The specified object instances are not of the expected type.
         *  @remarks    The value of @c cmp can be:
         *
         *      @code
-        *      <  0  if the value of obj1 is less than the value of obj2
-        *      == 0  if the value of obj1 is equal to the value of obj2
-        *      >  0  if the value of obj1 is greater than the value of obj2
+        *      <  0  if the value of @c obj1 is less than the value of @c obj2
+        *      == 0  if the value of @c obj1 is equal to the value of @c obj2
+        *      >  0  if the value of @c obj1 is greater than the value of @c obj2
         *      @endcode
         */
        virtual result Compare(const Tizen::Base::Object& obj1, const Tizen::Base::Object& obj2, int& cmp) const;
index 3383ce9..fde7ef0 100644 (file)
@@ -37,7 +37,7 @@ namespace Tizen { namespace Base
  *
  * @since 2.0
  *
- * The %IntMatrix class provides a @c int precision, two-dimensional matrix.
+ * The %IntMatrix class provides a int precision, two-dimensional matrix class.
  *
  */
 class _OSP_EXPORT_ IntMatrix
@@ -49,12 +49,12 @@ public:
         *
         * @since 2.0
         *
-        * @param[in]   rhs     An instance of %IntMatrix to copy
+        * @param[in]   rhs     An instance of %IntMatrix
         */
        IntMatrix(const IntMatrix& rhs);
 
        /*
-        * Constructs a row by column null matrix in which all the elements are zero.
+        * Constructs a row by column null matrix in which all elements are zero.
         *
         * @since 2.0
         *
@@ -70,8 +70,7 @@ public:
         *
         * @param[in]   rowCount        The number of rows in the current instance
         * @param[in]   columnCount     The number of columns in the current instance
-        * @param[in]   pArray          The one-dimensional array @n 
-        *                                                      The array must be at least row * column in length.
+        * @param[in]   pArray          A one-dimensional array @n The array must be at least row * column in length.
         * @param[in]   rowMajor        Set to @c true to copy the array in row-major order, @n
         *                                                      else @c copy in column-major order
         */
@@ -84,8 +83,7 @@ public:
         *
         * @param[in]   rowCount        The number of rows in the current instance
         * @param[in]   columnCount     The number of columns in the current instance
-        * @param[in]   pArray[]        The two-dimensional array @n 
-        *                                                      The array must be at least row * column in length.
+        * @param[in]   pArray[]        A two-dimensional array @n The array must be at least row * column in length.
         */
        IntMatrix(int rowCount, int columnCount, const int* pArray[]);
 
@@ -101,7 +99,7 @@ public:
         *
         * @since 2.0
         *
-        * @return      @c true if all the matrix members of the current instance are equal to the corresponding matrix members in the specified instance, @n
+        * @return      @c true if all matrix members of the current instance are equal to the corresponding matrix members in the specified instance, @n
         *                      else @c false
         * @param[in]   rhs     An instance of %IntMatrix
         */
@@ -112,7 +110,7 @@ public:
         *
         * @since 2.0
         *
-        * @return      @c true if all the matrix members of the current instance are not equal to the corresponding matrix members in the specified instance, @n
+        * @return      @c true if all matrix members of the current instance are not equal to the corresponding matrix members in the specified instance, @n
         *                      else @c false
         * @param[in]   rhs     An instance of %IntMatrix
         */
@@ -123,11 +121,11 @@ public:
         *
         * @since 2.0
         *
-        * @return      A reference to this instance
+        * @return      The reference to this instance
         * @param[in]   rhs     An instance of %IntMatrix
-        * @exception   E_INVALID_ARG   Either the row or the column count of the current instance is not same as that of the specified instance.
-        * @remarks             If either the row or the column count of the current instance is not same as that of the specified instance,
-        *                              this method returns the reference to this instance without assigning.
+        * @exception   E_INVALID_ARG   Either row or column count of the current instance is not same with that of the specified instance.
+        * @remarks     If either row or column count of the current instance is not same with that of the specified instance,
+        *                      return the reference to this instance without assigning.
         */
        IntMatrix& operator =(const IntMatrix& rhs);
 
@@ -139,9 +137,7 @@ public:
         * @return      @c true if the values of the current instance are equal to the value of the specified instance, @n
         *                      else @c false
         * @param[in]   obj     An instance of %IntMatrix
-        * @remarks
-        *                              - This method overrides Tizen::Base::Object::Equals(). 
-        *                              - This method uses the values of the Matrix components to compare the two instances.
+        * @remarks     This method overrides Tizen::Base::Object::Equals(). This method uses the values of the Matrix components to compare the two instances.
         */
        virtual bool Equals(const Tizen::Base::Object& obj) const;
 
@@ -151,8 +147,8 @@ public:
         * @since 2.0
         *
         * @return      The hash value of the current instance
-        * @remarks     Two equal instances must return the same hash value. @n
-        *                      For better performance, the used hash function must generate a random distribution for all the inputs.
+        * @remarks     Two equal instances must return the same hash value. For better performance,
+        *                      the used hash function must generate a random distribution for all inputs.
         */
        virtual int GetHashCode(void) const;
 
@@ -164,25 +160,25 @@ public:
         * @return              An error code
         * @param[in]   matrix                  An instance of %IntMatrix
         * @exception   E_SUCCESS               The method is successful.
-        * @exception   E_INVALID_ARG   Either the row or the column count of the current instance is not same as that of the specified instance.
+        * @exception   E_INVALID_ARG   Either row or column count of the current instance is not same with that of the specified instance.
         */
        result Add(const IntMatrix& matrix);
 
        /*
-        * Adds the value to each matrix member of the current instance of %IntMatrix.
+        * Adds the value to each matrix members of current instance of %IntMatrix.
         *
         * @since 2.0
         *
-        * @param[in]   value   The @c int value to add
+        * @param[in]   value   A @c int value to add
         */
        void AddToEachElement(int value);
 
        /*
-        * Gets the number of columns in the current instance of %IntMatrix.
+        * Gets the number of column in the current instance of %IntMatrix.
         *
         * @since 2.0
         *
-        * @return      The number of columns in the current instance
+        * @return      The number of column in the current instance
         */
        int GetColumnCount(void) const;
 
@@ -191,9 +187,9 @@ public:
         *
         * @since 2.0
         *
-        * @return              A pointer to the @c int array
+        * @return      A pointer to @c int array
         * @param[in]   columnIndex             The target column number in the current instance
-        * @exception   E_INVALID_ARG   The specified @c columnIndex is larger than the column count of the current instance.
+        * @exception   E_INVALID_ARG   The @c columnIndex is larger than the column count of the current instance.
         */
        int* GetColumnN(int columnIndex) const;
 
@@ -202,9 +198,9 @@ public:
         *
         * @since 2.0
         *
-        * @return              The determinant value of the current instance
+        * @return      The determinant value of the current instance
         * @exception   E_INVALID_OPERATION             The current instance is not a square matrix.
-        * @remarks             If the current instance is not a square matrix, it returns zero.
+        * @remarks     If the current instance is not a square matrix, return zero.
         */
        int GetDeterminant(void) const;
 
@@ -213,10 +209,10 @@ public:
         *
         * @since 2.0
         *
-        * @return              The value at the specified row and column of the current instance
-        * @param[in]   rowIndex                The target row number in the current instance
-        * @param[in]   columnIndex             The target column number in the current instance
-        * @exception   E_INVALID_ARG   The specified @c columnIndex or the specified @c rowIndex is larger than that of the current instance.
+        * @return      The value at the specified row and column of the current instance
+        * @param[in]   rowIndex        The target row number in the current instance
+        * @param[in]   columnIndex     The target column number in the current instance
+        * @exception   E_INVALID_ARG   The @c columnIndex or @c rowIndex is larger than that of the current instance.
         */
        int GetElement(int rowIndex, int columnIndex) const;
 
@@ -231,11 +227,11 @@ public:
        IntMatrix* GetInverseN(void) const;
 
        /*
-        * Gets the number of rows in the current instance of %IntMatrix.
+        * Gets the number of row in the current instance of %IntMatrix.
         *
         * @since 2.0
         *
-        * @return      The number of rows in the current instance
+        * @return      The number of row in the current instance
         */
        int GetRowCount(void) const;
 
@@ -244,9 +240,9 @@ public:
         *
         * @since 2.0
         *
-        * @return              A pointer to the @c int array
+        * @return      A pointer to @c int array
         * @param[in]   rowIndex                The target row number in the current instance
-        * @exception   E_INVALID_ARG   The specified @c rowIndex is larger than the row count of the current instance.
+        * @exception   E_INVALID_ARG   The @c rowIndex is larger than the row count of the current instance.
         */
        int* GetRowN(int rowIndex) const;
 
@@ -256,7 +252,7 @@ public:
         * @since 2.0
         *
         * @return              An error code
-        * @param[out]  value                           The @c int value
+        * @param[out]  value   A @c int value
         * @exception   E_SUCCESS                       The method is successful.
         * @exception   E_INVALID_OPERATION     The current instance is not a square matrix.
         */
@@ -267,7 +263,7 @@ public:
         *
         * @since 2.0
         *
-        * @return              A pointer to the %IntMatrix instance that contains the resulting value of the operation
+        * @return              A pointer to the instance of %IntMatrix containing the resulting value of the operation
         * @exception   E_INVALID_OPERATION             The current instance is not a square matrix.
         */
        IntMatrix* GetTransposeN(void) const;
@@ -300,21 +296,21 @@ public:
         * @return              An error code
         * @param[in]   matrix                  An instance of %IntMatrix
         * @exception   E_SUCCESS               The method is successful.
-        * @exception   E_INVALID_ARG   The column count of the current instance is not same as the row count of the specified instance.
+        * @exception   E_INVALID_ARG   The column count of the current instance is not same with the row count of the specified instance.
         */
        result Multiply(const IntMatrix& matrix);
 
        /*
-        * Multiplies the value to each matrix member of the current instance of %IntMatrix.
+        * Multiplies the value to each matrix members of current instance of %IntMatrix.
         *
         * @since 2.0
         *
-        * @param[in]   value   The @c int value to multiply
+        * @param[in]   value   A @c int value to multiply
         */
        void Multiply(int value);
 
        /*
-        * Negates the matrix members of the current instance of %IntMatrix.
+        * Negates the matrix members of current instance of %IntMatrix.
         *
         * @since 2.0
         */
@@ -360,12 +356,9 @@ public:
         *
         * @return              An error code
         * @param[in]   columnIndex             The target column number in the current instance
-        * @param[in]   pArray                  The array which includes the values @n 
-        *                                                              The array must be at least row in length.
+        * @param[in]   pArray                  An array which includes the values @n The array must be at least row in length.
         * @exception   E_SUCCESS               The method is successful.
-        * @exception   E_INVALID_ARG   Either of the following conditions has occurred:
-        *                                                              - The specified @c pArray is @c null.
-        *                                                              - The specified @c columnIndex is larger than the column count of the current instance.
+        * @exception   E_INVALID_ARG   The @c pArray is @c null, or the @c columnIndex is larger than the column count of the current instance.
         */
        result SetColumn(int columnIndex, const int* pArray);
 
@@ -376,12 +369,9 @@ public:
         *
         * @return              An error code
         * @param[in]   rowIndex                The target row number in the current instance
-        * @param[in]   pArray                  The array which includes the values @n 
-        *                                                              The array must be at least column in length.
+        * @param[in]   pArray                  An array which includes the values @n The array must be at least column in length.
         * @exception   E_SUCCESS               The method is successful.
-        * @exception   E_INVALID_ARG   Either of the following conditions has occurred:
-        *                                                              - The specified @c pArray is @c null.
-        *                                                              - The specified @c rowIndex is larger than the row count of the current instance.
+        * @exception   E_INVALID_ARG   The @c pArray is @c null, or the @c rowIndex is larger than the row count of the current instance.
         */
        result SetRow(int rowIndex, const int* pArray);
 
@@ -391,14 +381,12 @@ public:
         * @since 2.0
         *
         * @return              An error code
-        * @param[in]   rowIndex                The target row number in the current instance
-        * @param[in]   columnIndex             The target column number in the current instance
-        * @param[in]   value                   The @c int value
+        * @param[in]   rowIndex        The target row number in the current instance
+        * @param[in]   columnIndex     The target column number in the current instance
+        * @param[in]   value                   A @c int value
         * @exception   E_SUCCESS               The method is successful.
-        * @exception   E_INVALID_ARG   Either of the following conditions has occurred:
-        *                                                              - The specified @c pArray is @c null.
-        *                                                              - The specified @c rowIndex is larger than the row count of the current instance.
-        *                                                              - The specified @c columnIndex is larger than the column count of the current instance.
+        * @exception   E_INVALID_ARG   The pArray is @c null, or the @c rowIndex is larger than the row count of the current instance,
+        *                              or the @c columnIndex is larger than the column count of the current instance.
         */
        result SetElement(int rowIndex, int columnIndex, int value);
 
@@ -408,17 +396,16 @@ public:
         * @since 2.0
         *
         * @return              An error code
-        * @param[in]   pArray                  The one-dimensional array @n 
-        *                                                              The array must be at least row * column in length.
-        * @param[in]   rowMajor                Set to @c true to copy the array in row-major order, @n
-        *                                                              else @c false to copy in column-major order
+        * @param[in]   pArray  A one-dimensional array @n The array must be at least row * column in length.
+        * @param[in]   rowMajor        Set to @c true to copy the array in row-major order, @n
+        *                                                      else @c false to copy in column-major order
         * @exception   E_SUCCESS               The method is successful.
-        * @exception   E_INVALID_ARG   The specified @c pArray is @c null.
+        * @exception   E_INVALID_ARG   The pArray is @c null.
         */
        result SetValue(const int* pArray, bool rowMajor = true);
 
        /*
-        * Sets the matrix members of the current instance of %IntMatrix to zero.
+        * Sets the matrix members of current instance of %IntMatrix to zero.
         *
         * @since 2.0
         */
@@ -430,18 +417,18 @@ public:
         * @since 2.0
         *
         * @return              An error code
-        * @param[in]   matrix                  An instance of %IntMatrix
+        * @param[in]   matrix  An instance of %IntMatrix
         * @exception   E_SUCCESS               The method is successful.
-        * @exception   E_INVALID_ARG   Either the row or the column count of the current instance is not same as that of the specified instance.
+        * @exception   E_INVALID_ARG   Either row or column count of the current instance is not same with that of the specified instance.
         */
        result Subtract(const IntMatrix& matrix);
 
        /*
-        * Subtracts the value from each matrix member of the current instance of %IntMatrix.
+        * Subtracts the value from each matrix members of current instance of %IntMatrix.
         *
         * @since 2.0
         *
-        * @param[in]   value   The @c int value to subtract
+        * @param[in]   value   A @c int value to subtract
         */
        void SubtractToEachElement(int value);
 
index 464a140..d84f13b 100644 (file)
@@ -18,9 +18,9 @@
  * @file               FBaseInteger.h
  * @brief              This is the header file for the %Integer class.
  *
- * This header file contains the declarations of the %Integer class.
+ * @see                        Number() class()
  *
- * @see   Tizen::Base::Number
+ * This header file contains the declarations of the %Integer class.
  */
 #ifndef _FBASE_INTEGER_H_
 #define _FBASE_INTEGER_H_
@@ -82,7 +82,7 @@ public:
         *
         *      @since 2.0
         *
-        *  @param[in]  value   The integer value
+        *  @param[in]  value   An integer value
         */
        Integer(int value = 0);
 
@@ -91,7 +91,7 @@ public:
         *
         *      @since 2.0
         *
-        *      @param[in]      value   An instance of %Integer to copy
+        *      @param[in]      value   An instance of %Integer
         */
        Integer(const Integer& value);
 
@@ -107,7 +107,7 @@ public:
         *
         *      @since 2.0
         *
-        *  @param[in]  rhs     An instance of %Integer to copy
+        *  @param[in]  rhs     An instance of %Integer
         */
        Integer& operator =(const Integer& rhs);
 
@@ -116,11 +116,11 @@ public:
         *
         *      @since 2.0
         *
-        *      @return         The 32-bit @c signed integer value
+        *      @return         A 32-bit @c signed integer value
         *      @code
-        *      <  0  if the value of i1 is less than the value of i2
-        *      == 0  if the value of i1 is equal to the value of i2
-        *      >  0  if the value of i1 is greater than the value of i2
+        *      <  0  if the value of @c i1 is less than the value of @c i2
+        *      == 0  if the value of @c i1 is equal to the value of @c i2
+        *      >  0  if the value of @c i1 is greater than the value of @c i2
         *      @endcode
         *      @param[in]      i1      The first @c int value to compare
         *      @param[in]      i2      The second @c int value to compare
@@ -128,18 +128,18 @@ public:
        static int Compare(int i1, int i2);
 
        /**
-        *      Compares the value of the current instance with the value of the specified instance of %Integer.
+        *      Compares the value of the current instance with the value of the specified instance of the %Integer class.
         *
         *      @since 2.0
         *
-        *      @return The 32-bit @c signed integer value
+        *      @return A 32-bit @c signed integer value
         *
         *      @code
         *      <  0  if the value of the current instance is less than the value of the specified instance
         *      == 0  if the value of the current instance is equal to the value of the specified instance
         *      >  0  if the value of the current instance is greater than the value of the specified instance
         *      @endcode
-        *      @param[in]      value   An instance of %Integer to compare
+        *      @param[in]      value   An instance of the %Integer class to compare
         */
        int CompareTo(const Integer& value) const;
 
@@ -161,11 +161,15 @@ public:
         *      @since 2.0
         *
         *      @return         An error code
-        *      @param[in]      s                               The string that represents the numeric value
-        *      @param[out]     ret                             The result of the operation
+        *      @param[in]      s               A string representing the numeric value
+        *      @param[out]     ret             The result of the operation
         *      @exception      E_SUCCESS       The method is successful.
         *      @exception      E_NUM_FORMAT    The specified string does not contain a number that can be parsed.
-        *      @remarks        This method accepts decimal, hexadecimal, and octal numbers given by the
+        *      @exception      E_OUT_OF_RANGE  The decoded value is not between VALUE_MIN and VALUE_MAX range.
+        *
+        *      @remarks        
+        *                      - This method guarantees that the original value of out-parameter is not changed when the method returns error.
+        *                      - This method accepts decimal, hexadecimal, and octal numbers given by the
         *                              following grammar:
         *      @code
         *      - DecodableString:
@@ -185,157 +189,176 @@ public:
         *
         *      @since 2.0
         *
-        *      @return         The integer value that indicates the hash value of the current instance of %Integer
-        *      @remarks
-        *                              - Two equal instances must return the same hash value. @n
-        *                              For better performance, the used hash function must generate a random distribution for all the inputs. @n
-        *                              - The default implementation of this method returns the value of the current instance.
+        *      @return         An integer value indicating the hash value of the current instance of %Integer
+        *      @remarks        Two equal instances must return the same hash value. For better performance,
+        *                              the used hash function must generate a random distribution for all inputs. @n
+        *                              The default implementation of this method returns the value of the current instance.
         */
        virtual int GetHashCode(void) const;
 
        /**
-        *  Gets the hash value of the specified @c int value.
-        *
-        *  @since 2.0
-        *
-        *  @return      The integer value that indicates the hash value of the specified @c int value
-        *  @param[in]   val   The @c int value used to get the hash value
-        */
+       *        Gets the hash value of the specified @c int value.
+       *
+       *        @since 2.0
+       *
+       *        @return        An integer value indicating the hash value of the specified @c int value
+       *        @param[in]   val   A @c int value to get the hash value
+       */
        static int GetHashCode(int val);
 
        /**
-        *      Parses the @c signed @c int equivalent of the specified string that represents a numeric value.
+        *      Parses the @c signed @c int equivalent of the specified string representing a numeric value.
         *
         *      @since 2.0
         *
         *      @return         An error code
-        *      @param[in]      s                               The string that represents the numeric value
+        *      @param[in]      s                               A string representing a numeric value
         *      @param[out]     ret                             The result of the operation
-        *      @exception      E_SUCCESS               The method is successful.
+        *      @exception      E_SUCCESS       The method is successful.
         *      @exception      E_NUM_FORMAT    The specified string does not contain a number that can be parsed.
+        *      @exception      E_OUT_OF_RANGE  The parsed value is not between VALUE_MIN and VALUE_MAX range.
+        *
         *      @remarks
-        *                              - This method assumes that the string that represents the numeric value that uses the radix @c 10.
-        *                              - This method guarantees that the original value of the out-parameter is not changed when the method returns an error.
+        *                              - This method assumes that the string representing the numeric value uses a radix 10.
+        *                              - This method guarantees that the original value of out-parameter is not changed when the method returns error.
         */
        static result Parse(const String& s, int& ret);
 
        /**
-        *      Parses the @c signed @c int equivalent of the specified string that represents a numeric value using the specified radix.
+        *      Parses the @c signed @c int equivalent of the specified string representing a numeric value using the specified radix.
         *
         *      @since 2.0
         *
         *      @return         An error code
-        *      @param[in]      s                               The string that represents the numeric value
-        *      @param[in]      radix                   The radix of the string that represents the numeric value @n
-        *                                                              It must either be 2, 8, 10, or 16.
+        *      @param[in]      s                               A string representing a numeric value
+        *      @param[in]      radix                   The radix of the string representing the numeric value @n
+        *                                              Radix value range is from 2 to 36.
         *      @param[out]     ret                             The result of the operation
-        *      @exception      E_SUCCESS               The method is successful.
+        *      @exception      E_SUCCESS       The method is successful.
         *      @exception      E_NUM_FORMAT    The specified string does not contain a number that can be parsed.
-        *      @exception      E_OUT_OF_RANGE  The specified @c radix is invalid.
-        *      @remarks        This method guarantees that the original value of the out-parameter is not changed when the method returns an error.
+        *      @exception      E_OUT_OF_RANGE  The specified @c radix is invalid or
+        *                                      The parsed value is not between VALUE_MIN and VALUE_MAX range.
+        *
+        *      @remarks        This method guarantees that the original value of out-parameter is not changed when the method returns error.
         */
        static result Parse(const String& s, int radix, int& ret);
 
        /**
-        *      Gets the @c signed @c char equivalent of the current instance of %Integer.
+        *      Gets the @c char equivalent of the current instance of the %Integer class.
         *
         *      @since 2.0
+        *      @brief  <i> [Deprecated] </i>
+        *
+        *      @deprecated     This method has portability issue.
+        *                      Return value may not be @c signed @c char since char is treated as unsigned char in ARM architecture. @n
+        *                      Use ToInt8() method to get @c int8_t
+        *
+        *      @return         A @c char equivalent of the current instance
         *
-        *      @return         The @c signed @c char equivalent of the current instance
         */
        virtual char ToChar(void) const;
 
        /**
-        *      Gets the @c signed @c short equivalent of the current instance of %Integer.
+        *      Gets the @c int8_t equivalent of the current instance of %Integer.
+        *
+        *      @since 3.0
+        *
+        *      @return The @c int8_t equivalent of the current instance
+        *
+        */
+       virtual int8_t ToInt8(void) const;
+
+       /**
+        *      Gets the @c signed @c short equivalent of the current instance of the %Integer class.
         *
         *      @since 2.0
         *
-        *      @return         The @c signed @c short equivalent of the current instance
+        *      @return         A @c signed @c short equivalent of the current instance
         */
        virtual short ToShort(void) const;
 
        /**
-        *      Gets the @c signed @c int equivalent of the current instance of %Integer.
+        *      Gets the @c signed @c int equivalent of the current instance of the %Integer class.
         *
         *      @since 2.0
         *
-        *      @return         The @c signed @c int equivalent of the current instance
+        *      @return         A @c signed @c int equivalent of the current instance
         */
        virtual int ToInt(void) const;
 
        /**
-        *      Gets the @c signed @c long equivalent of the current instance of %Integer.
+        *      Gets the @c signed @c long equivalent of the current instance of the %Integer class.
         *
         *      @since 2.0
         *
-        *      @return         The @c signed @c long equivalent of the current instance
+        *      @return         A @c signed @c long equivalent of the current instance
         */
        virtual long ToLong(void) const;
 
        /**
-        *      Gets the @c signed @c long @c long equivalent of the current instance of %Integer.
+        *      Gets the @c signed @c long @c long equivalent of the current instance of the %Integer class.
         *
         *      @since 2.0
         *
-        *      @return         The @c signed @c long @c long equivalent of the current instance
+        *      @return         A @c signed @c long @c long equivalent of the current instance
         */
        virtual long long ToLongLong(void) const;
 
        /**
-        *      Gets the @c signed @c float equivalent of the current instance of %Integer.
+        *      Gets the @c signed @c float equivalent of the current instance of the %Integer class.
         *
         *      @since 2.0
         *
-        *      @return         The @c signed @c float equivalent of the current instance
+        *      @return         A @c signed @c float equivalent of the current instance
         */
        virtual float ToFloat(void) const;
 
        /**
-        *      Gets the @c signed @c double equivalent of the current instance of %Integer.
+        *      Gets the @c signed @c double equivalent of the current instance of the %Integer class.
         *
         *      @since 2.0
         *
-        *      @return         The @c signed @c double equivalent of the current instance
+        *      @return         A @c signed @c double equivalent of the current instance
         */
        virtual double ToDouble(void) const;
 
        /**
-        *      Gets the string that represents the value of the current instance of %Integer.
+        *      Gets the string representing the value of the current instance of the %Integer class.
         *
         *      @since 2.0
         *
-        *      @return         The string that represents the value of the current instance
+        *      @return         A string representing the value of the current instance
         */
        virtual String ToString(void) const;
 
        /**
-        *      Gets the string that represents the specified @c signed @c int value.
+        *      Gets the string representing the specified @c signed @c int value.
         *
         *      @since 2.0
         *
-        *      @return         The string that contains the Unicode representation of the specified @c signed @c int value
-        *      @param[in]      value   The @c signed @c int value to convert
+        *      @return         A string containing a Unicode representation of the specified @c signed @c int value
+        *      @param[in]      value   A @c signed @c int value to convert
         */
        static String ToString(int value);
 
        /**
-        *      The constant holding the maximum value of type @c int. @n
+        *      A constant holding the maximum value of type @c int. @n
         *  A @c short integer can hold a value of upto 2^31-1.
         *
         *      @since 2.0
         */
-       static const int VALUE_MAX = (int) 0x7FFFFFFF;
+       static const int VALUE_MAX = static_cast< int >(0x7FFFFFFF);
 
        /**
-        *      The constant holding the minimum value of type @c int. @n
+        *      A constant holding the minimum value of type @c int. @n
         *  A @c short integer can hold a value of upto -2^31.
         *
         *      @since 2.0
         */
-       static const int VALUE_MIN = (int) 0x80000000;
+       static const int VALUE_MIN = static_cast< int >(0x80000000);
 
        /**
-        * The integer value of this instance.
+        * An integer value of this instance.
         *
         * @since 2.0
         */
diff --git a/inc/FBaseInteger8.h b/inc/FBaseInteger8.h
new file mode 100644 (file)
index 0000000..e5cce38
--- /dev/null
@@ -0,0 +1,374 @@
+//
+// Copyright (c) 2013 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.
+// You may obtain a copy of the License at
+//
+//     http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+/**
+ * @file               FBaseInteger8.h
+ * @brief              This is the header file for the %Integer8 class.
+ *
+ * @see                        Tizen::Base::Number
+ *
+ * This header file contains the declarations of the %Integer8 class.
+ */
+#ifndef _FBASE_INTEGER8_H_
+#define _FBASE_INTEGER8_H_
+
+#include <stdint.h>
+#include <FBaseNumber.h>
+
+namespace Tizen { namespace Base
+{
+/**
+ * @class      Integer8
+ * @brief      This class is the wrapper class for the  @c 8-bits integral built-in type @c int8_t.
+ *
+ * @since 3.0
+ *
+ * The %Integer8 class represents an integer value ranging from -128 to 127. The class is useful when passing an 8-bit
+ * signed integral value to a method that accepts only an instance of Object. Furthermore, this class provides
+ * methods for converting %Integer8 (and @c char) to String, and %String to %Integer8 (and @c char).
+ *
+ * The following example demonstrates how to use the %Integer8 class.
+ * @code
+ *
+ *     #include <FBase.h>
+ *
+ *     using namespace Tizen::Base;
+ *
+ *     // This method checks whether the given string object contains a string
+ *     // representation of the pre-defined minimum 8-bit integral value.
+ *     result
+ *     MyClass::Verify(String& string, bool& out)
+ *     {
+ *             static const Integer8 i1(123);
+ *
+ *             int8_t int8Val;
+ *             result r = Integer8::Parse(string, int8Val);
+ *             static const Integer8 i2(int8Val);
+ *             if (!IsFailed(r))
+ *             {
+ *                     out = (i1.CompareTo(i2) == 0) ? true: false;
+ *             }
+ *
+ *             return r;
+ *     }
+ * @endcode
+ */
+class _OSP_EXPORT_ Integer8
+       : public Number
+{
+public:
+       /**
+        * This is the default constructor for this class. Initializes the value to 0.
+        *
+        * @since 3.0
+        *
+        */
+       Integer8();
+
+       /**
+        * Initializes this instance of %Integer8 with the specified value.
+        *
+        * @since 3.0
+        *
+        * @param[in]   value   A @c signed 8-bits integral @c int8_t value
+        */
+       explicit Integer8(int8_t value);
+
+
+       /**
+        * Copying of objects using this copy constructor is allowed.
+        *
+        * @since 3.0
+        *
+        * @param[in]   value   An instance of %Integer8
+        */
+       Integer8(const Integer8& value);
+
+       /**
+        * This destructor overrides Tizen::Base::Object::~Object().
+        *
+        * @since 3.0
+        */
+       virtual ~Integer8(void);
+
+       /**
+        * Copying of objects using this copy assignment operator is allowed.
+        *
+        * @since 3.0
+        *
+        * @param[in]   rhs     An instance of %Integer8
+        */
+       Integer8& operator =(const Integer8& rhs);
+
+       /**
+        * Compares two @c signed 8-bits integral @c int8_t values.
+        *
+        * @since 3.0
+        *
+        * @return              A 32-bit @c signed integr value
+        * @code
+        * <  0  if the value of i81 is less than the value of i82
+        * == 0  if the value of i81 is equal to the value of i82
+        * >  0  if the value of i81 is greater than the value of i82
+        * @endcode
+        * @param[in]   i81     The first @c signed 8-bits integral @c int8_t value to compare
+        * @param[in]   i82     The second @c signed 8-bits integral @c int8_t value to compare
+        */
+       static int Compare(int8_t i81, int8_t i82);
+
+       /**
+        * Compares the value of the current instance with the value of the specified instance of the %Integer8 class.
+        *
+        * @since 3.0
+        *
+        * @return              A 32-bit @c signed integer value
+        * @code
+        * <  0  if the value of the current instance is less than the value of the specified instance
+        * == 0  if the value of the current instance is equal to the value of the specified instance
+        * >  0  if the value of the current instance is greater than the value of the specified instance
+        * @endcode
+        * @param[in]   value   An instance of the %Integer8 class to compare
+        */
+       int CompareTo(const Integer8& value) const;
+
+       /**
+        * Checks whether the value of the specified instance of %Integer8 is equal to the value of the current instance.
+        *
+        * @since 3.0
+        *
+        * @return              @c true if the value of the specified instance is equal to the value of the current instance, @n
+        *                              else @c false
+        * @param[in]   obj An instance of Object to compare
+        * @see                 Tizen::Base::Object::Equals()
+        */
+       virtual bool Equals(const Object& obj) const;
+
+       /**
+        *      Gets the hash value of the current instance of %Integer8.
+        *
+        *      @since 3.0
+        *
+        *      @return         An integer value indicating the hash value of the current instance of %Integer8
+        *      @remarks        Two equal instances must return the same hash value. For better performance,
+        *                              the used hash function must generate a random distribution for all inputs. @n
+        *                              The default implementation of this method returns the value of the current instance.
+        */
+       virtual int GetHashCode(void) const;
+
+       /**
+       *   Gets the hash value of the specified @c signed 8-bits integral @c int8_t value.
+       *
+       *   @since 3.0
+       *
+       *   @return     An integer value indicating the hash value of the specified @c signed 8-bits integral @c int8_t value
+       *   @param[in]   val   A @c signed 8-bits integral @c int8_t value to get the hash value
+       */
+       static int GetHashCode(int8_t val);
+
+       /**
+        * Decodes a string into a @c signed 8-bits integral @c int8_t value.
+        *
+        * @since 3.0
+        *
+        * @return              An error code
+        * @param[in]   s       A string representing a numeric value
+        * @param[out]  ret     The result of the operation
+        * @exception   E_SUCCESS       The method is successful.
+        * @exception   E_NUM_FORMAT    The specified string does not contain a number that can be parsed.
+        * @exception   E_OUT_OF_RANGE  The decoded value is not between VALUE_MIN and VALUE_MAX range.
+        * @remarks     
+        *              - This method guarantees that the original value of out-parameter is not changed when the method returns error.
+        *              - This method accepts decimal, hexadecimal, and octal numbers given by the
+        *                              following grammar:
+        * @code
+        *      - DecodableString:
+        *              Sign[opt] DecimalNumeral
+        *              Sign[opt] 0x HexDigits
+        *              Sign[opt] 0X HexDigits
+        *              Sign[opt] # HexDigits
+        *              Sign[opt] 0 OctalDigits
+        *      - Sign:
+        *              '-'
+        * @endcode
+        */
+       static result Decode(const String& s, int8_t& ret);
+
+       /**
+        * Parses the specified string representing a @c signed 8-bits integral @c int8_t value and
+        * returns the value as @c signed 8-bits integral @c int8_t (as out parameter).
+        * @since 3.0
+        *
+        * @return              An error code
+        * @param[in]   s       A string representing a numeric value
+        * @param[out]  ret     The @c signed 8-bits integral @c int8_t equivalent of the specified string representing the numeric value using the decimal radix.
+        * @exception   E_SUCCESS        The method is successful.
+        * @exception   E_NUM_FORMAT The specified string does not contain a byte that can be parsed.
+        * @exception   E_OUT_OF_RANGE  The parsed value is not between VALUE_MIN and VALUE_MAX range.
+        * @remarks
+        *                              - This method assumes that the string representing the @c signed 8-bits integral value uses a radix 10.
+        *                              - This method guarantees that the original value of out-parameter is not changed when the method returns error.
+        */
+       static result Parse(const String& s, int8_t& ret);
+
+       /**
+        * Parses the specified string representing a @c signed 8-bits integral @c int8_t value and
+        * returns the value as @c signed 8-bits integral @c int8_t (as out parameter).
+        *
+        * @since 3.0
+        *
+        * @return              An error code
+        * @param[in]   s       A string representing a @c signed 8-bits integral value
+        * @param[in]   radix   The radix of the string representing a numeric value. Radix value range is from 2 to 36.
+        * @param[out]  ret     The @c signed 8-bits integral @c int8_t equivalent of the specified string representing the numeric value using the specified radix
+        * @exception   E_SUCCESS        The method is successful.
+        * @exception   E_NUM_FORMAT    The specified string does not contain a number that can be parsed.
+        * @exception   E_OUT_OF_RANGE  The specified @c radix is invalid, or
+        *                              The parsed value is not between VALUE_MIN and VALUE_MAX range.
+        * @remarks             This method guarantees that the original value of out-parameter is not changed when the method returns error.
+        */
+       static result Parse(const String& s, int radix, int8_t& ret);
+
+       /**
+        * Gets the @c char equivalent of the current instance of %Integer8.
+        *
+        * @since 3.0
+        * @brief       <i> [Deprecated] </i>
+        *
+        * @deprecated  This method has portability issue.
+        *              Return value may not be @c signed @c char since char is treated as unsigned char in ARM architecture. @n
+        *              Use ToInt8() method to get @c int8_t
+        *
+        * @return      The @c char equivalent of the current instance
+        *
+        */
+       virtual char ToChar(void) const;
+
+       /**
+        * Gets the @c int8_t equivalent of the current instance of %Integer8.
+        *
+        * @since 3.0
+        *
+        * @return      The @c int8_t equivalent of the current instance
+        *
+        */
+       virtual int8_t ToInt8(void) const;
+
+       /**
+        * Gets the @c signed @c short equivalent of the current instance of %Integer8.
+        *
+        * @since 3.0
+        *
+        * @return      The @c signed @c short equivalent of the current instance
+        */
+       virtual short ToShort(void) const;
+
+       /**
+        * Gets the @c signed @c int equivalent of the current instance of %Integer8.
+        *
+        * @since 3.0
+        *
+        * @return      The @c signed @c int equivalent of the current instance
+        */
+       virtual int ToInt(void) const;
+
+       /**
+        * Gets the @c signed @c long equivalent of the current instance of %Integer8.
+        *
+        * @since 3.0
+        *
+        * @return      The @c signed @c long equivalent of the current instance
+        */
+       virtual long ToLong(void) const;
+
+       /**
+       * Gets the @c signed @c long @c long equivalent of the current instance of %Integer8.
+       *
+       * @since 3.0
+       *
+       * @return       The @c signed @c long @c long equivalent of the current instance
+       */
+       virtual long long ToLongLong(void) const;
+
+       /**
+        * Gets the @c signed @c float equivalent of the current instance of %Integer8.
+        *
+        * @since 3.0
+        *
+        * @return      The @c signed @c float equivalent of the current instance
+        */
+       virtual float ToFloat(void) const;
+
+       /**
+        * Gets the @c signed @c double equivalent of the current instance of %Integer8.
+        *
+        * @since 3.0
+        *
+        * @return      The @c signed @c double equivalent of the current instance
+        */
+       virtual double ToDouble(void) const;
+
+       /**
+        * Gets the string representing the value of the current instance of %Integer8 using radix @c 10.
+        *
+        * @since 3.0
+        *
+        * @return              A string representing the value of the current instance using radix 10
+        */
+       virtual String ToString(void) const;
+
+       /**
+        * Gets the string representing the specified @c signed 8-bits integral @c int8_t value using radix @c 10.
+        *
+        * @since 3.0
+        *
+        * @return              A string containing a Unicode representation of the specified @c signed 8-bits integral @c int8_t value using radix 10
+        * @param[in]   value   A @c signed 8-bits integral @c int8_t value
+        */
+       static String ToString(int8_t value);
+
+       /**
+        * A constant holding the maximum value of type @c signed 8-bits integral value. @n
+        * A @c signed 8-bits integral can hold a maximum value of upto 2^7-1.
+        *
+        * @since 3.0
+        */
+       static const int8_t VALUE_MAX = static_cast<int8_t> (0x7F);
+
+       /**
+        * A constant holding the minimum value of type @c signed 8-bits integral value. @n
+        * A @c signed 8-bits integral can hold a minimum value of upto -2^7.
+        *
+        * @since 3.0
+        */
+       static const int8_t VALUE_MIN = static_cast<int8_t> (0x80);
+
+       /**
+        * A @c signed @c signed 8-bits integral value of this instance.
+        *
+        * @since 3.0
+        */
+       int8_t value;
+
+
+private:
+       friend class _Integer8Impl;
+       class _Integer8Impl* __pInteger8Impl;
+
+}; // Integer8
+
+}} // Tizen::Base
+
+#endif //_FBASE_INTEGER8_H_
diff --git a/inc/FBaseInteger8Comparer.h b/inc/FBaseInteger8Comparer.h
new file mode 100644 (file)
index 0000000..a1b3198
--- /dev/null
@@ -0,0 +1,128 @@
+//
+// Copyright (c) 2013 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.
+// You may obtain a copy of the License at
+//
+//     http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+/**
+ * @file               FBaseInteger8Comparer.h
+ * @brief              This is the header file for the %Integer8Comparer class.
+ *
+ * @see                        Integer8 and Tizen::Base::Collection::IComparer
+ *
+ * This header file contains the declarations of the %Integer8Comparer class.
+ */
+#ifndef  _FBASE_INTEGER8_COMPARER_H_
+#define  _FBASE_INTEGER8_COMPARER_H_
+
+#include <FBaseTypes.h>
+#include <FBaseObject.h>
+#include <FBaseColIComparer.h>
+
+namespace Tizen { namespace Base
+{
+/**
+ *     @class  Integer8Comparer
+ *     @brief  This class checks for equivalence between 2 instances of the %Integer8 type.
+ *
+ *     @since 3.0
+ *
+ *     The %Integer8Comparer class checks for equivalence between 2 instances of the Integer8 type.
+ *
+ * For more information on the class features, see <a href="../org.tizen.native.appprogramming/html/guide/base/collection_comparison.htm">Collection Comparisons</a>.
+ *
+ * The following example demonstrates how to use the %Integer8Comparer class.
+ *
+ *     @code
+ *
+ *     #include <FBase.h>
+ *
+ *     using namespace Tizen::Base;
+ *
+ *     void
+ *     MyClass::Integer8ComparerSample(void)
+ *     {
+ *             Integer8 i1(123);
+ *             Integer8 i2(124);
+ *             Integer8Comparer comparer;
+ *
+ *             int cmp;
+ *             comparer.Compare(i1, i2, cmp);
+ *             if (cmp < 0)
+ *             {
+ *                     // ...
+ *             }
+ *     }
+ *     @endcode
+ */
+class _OSP_EXPORT_ Integer8Comparer
+       : public Object
+       , public virtual Tizen::Base::Collection::IComparer
+{
+public:
+       /**
+        *      This is the default constructor for this class.
+        *
+        *      @since 3.0
+        */
+       Integer8Comparer(void);
+
+
+       /**
+        *      This destructor overrides Tizen::Base::Object::~Object().
+        *
+        *      @since 3.0
+        */
+       virtual ~Integer8Comparer(void);
+
+       /**
+        *      Compares two given instances of type Integer8.
+        *
+        *      @since 3.0
+        *
+        *  @return             An error code
+        *  @param[in]  obj1    The first instance of type Integer8
+        *  @param[in]  obj2    The second instance of type Integer8
+        *  @param[out] cmp             The result of comparison
+        *  @exception  E_SUCCESS               The method is successful.
+        *  @exception  E_INVALID_ARG   The specified object instances are not of the expected type.
+        *  @remarks    The value of @c cmp can be:
+        *
+        *      @code
+        *      <  0  if the value of @c obj1 is less than the value of @c obj2
+        *      == 0  if the value of @c obj1 is equal to the value of @c obj2
+        *      >  0  if the value of @c obj1 is greater than the value of @c obj2
+        *      @endcode
+        */
+       virtual result Compare(const Tizen::Base::Object& obj1, const Tizen::Base::Object& obj2, int& cmp) const;
+
+
+private:
+       //
+       // The implementation of this copy constructor is intentionally blank and declared as private to prohibit copying of objects.
+       //
+       Integer8Comparer(const Integer8Comparer& obj);
+
+       //
+       // The implementation of this copy assignment operator is intentionally blank and declared as private to prohibit copying of objects.
+       //
+       Integer8Comparer& operator =(const Integer8Comparer& rhs);
+
+       friend class _Integer8ComparerImpl;
+       class _Integer8ComparerImpl* __pInteger8ComparerImpl;
+
+}; // Integer8Comparer
+
+}} // Tizen::Base
+
+#endif //  _FBASE_INTEGER8_COMPARER_H_
index 4e34c8c..5a1c86b 100644 (file)
  * @file               FBaseIntegerComparer.h
  * @brief              This is the header file for the %IntegerComparer class.
  *
- * This header file contains the declarations of the %IntegerComparer class.
+ * @see                        Integer and Tizen::Base::Collection::IComparer
  *
- * @see                        Tizen::Base::Integer
- * @see                Tizen::Base::Collection::IComparer
+ * This header file contains the declarations of the %IntegerComparer class.
  */
 #ifndef _FBASE_INTEGER_COMPARER_H_
 #define _FBASE_INTEGER_COMPARER_H_
@@ -34,11 +33,11 @@ namespace Tizen { namespace Base
 {
 /**
  *     @class  IntegerComparer
- *     @brief  This class checks for equivalence between two instances of the %Integer type.
+ *     @brief  This class checks for equivalence between 2 instances of the Integer type.
  *
  *     @since 2.0
  *
- *     The %IntegerComparer class checks for equivalence between two instances of the Integer type.
+ *     The %IntegerComparer class checks for equivalence between 2 instances of the Integer type.
  *
  * For more information on the class features, see <a href="../org.tizen.native.appprogramming/html/guide/base/collection_comparison.htm">Collection Comparisons</a>.
  *
@@ -91,17 +90,17 @@ public:
         * @since 2.0
         *
         * @return              An error code
-        * @param[in]   obj1                    The first instance of type Integer
-        * @param[in]   obj2                    The second instance of type Integer
-        * @param[out]  cmp                             The result of the comparison
+        * @param[in]   obj1    The first instance of type %Integer
+        * @param[in]   obj2    The second instance of type %Integer
+        * @param[out]  cmp             The result of comparison
         * @exception   E_SUCCESS               The method is successful.
         * @exception   E_INVALID_ARG   The specified object instances are not of the expected type.
         * @remarks     The value of @c cmp can be:
         *
         * @code
-        * <  0  if the value of obj1 is less than the value of obj2
-        * == 0  if the value of obj1 is equal to the value of obj2
-        * >  0  if the value of obj1 is greater than the value of obj2
+        * <  0  if the value of @c obj1 is less than the value of @c obj2
+        * == 0  if the value of @c obj1 is equal to the value of @c obj2
+        * >  0  if the value of @c obj1 is greater than the value of @c obj2
         * @endcode
         */
        virtual result Compare(const Tizen::Base::Object& obj1, const Tizen::Base::Object& obj2, int& cmp) const;
index af05dee..ee3f6a4 100644 (file)
@@ -18,9 +18,9 @@
  * @file               FBaseLong.h
  * @brief              This is the header file for the %Long class.
  *
- * This header file contains the declarations of the %Long class.
+ * @see                        Number()
  *
- * @see                        Tizen::Base::Number
+ * This header file contains the declarations of the %Long class.
  */
 #ifndef _FBASE_LONG_H_
 #define _FBASE_LONG_H_
@@ -35,8 +35,8 @@ namespace Tizen { namespace Base
  *
  *     @since 2.0
  *
- *     The %Long class represents an integer value ranging from @c -2147483648 to @c 2147483647,
- *     that is, -(2^31) to +((2^31)-1). The class is useful when passing a 32-bit @c signed
+ *     The %Long class represents an integer value ranging from -2147483648 to 2147483647
+ *     that is, -(2^31) to +((2^31)-1). The class is useful when passing a 32-bit @c signed
  *     integral value to a method that accepts only an instance of Object. Furthermore,
  *     this class provides methods for converting %Long (and @c long) to String, and %String
  *     to %Long (and @c long).
@@ -81,7 +81,7 @@ public:
         *
         *      @since 2.0
         *
-        *      @param[in]      value   The @c long value
+        *      @param[in]      value   A @c long value
         */
        Long(long value = 0);
 
@@ -90,7 +90,7 @@ public:
         *
         *      @since 2.0
         *
-        *      @param[in]      value   An instance of %Long to copy
+        *      @param[in]      value   An instance of %Long
         */
        Long(const Long& value);
 
@@ -106,7 +106,7 @@ public:
         *
         * @since 2.0
         *
-        * @param[in]   rhs     An instance of %Long to copy
+        * @param[in]   rhs     An instance of %Long
         */
        Long& operator =(const Long& rhs);
 
@@ -115,7 +115,7 @@ public:
         *
         *      @since 2.0
         *
-        *      @return         The 32-bit @c signed integer value
+        *      @return         A 32-bit @c signed integer value
         *      @code
         *      <  0  if the value of @c l1 is less than the value of @c l2
         *      == 0  if the value of @c l1 is equal to the value of @c l2
@@ -131,25 +131,25 @@ public:
         *
         *      @since 2.0
         *
-        *      @return         The 32-bit @c signed integer value
+        *      @return         A 32-bit @c signed integer value
         *
         *      @code
         *      <  0  if the value of the current instance is less than the value of the specified instance
         *      == 0  if the value of the current instance is equal to the value of the specified instance
         *      >  0  if the value of the current instance is greater than the value of the specified instance
         *      @endcode
-        *      @param[in]      value   An instance of %Long to compare
+        *      @param[in]      value   An instance of the %Long class to compare
         */
        int CompareTo(const Long& value) const;
 
        /**
-        *      Checks whether the value of the specified instance of Object is equal to the value of the current instance of %Long.
+        *      Checks whether the value of the specified instance of %Object is equal to the value of the current instance of %Long.
         *
         *      @since 2.0
         *
-        *      @return         @c true if the value of the specified instance of Object is equal to the value of the current instance of %Long, @n
+        *      @return         @c true if the value of the specified instance of %Object is equal to the value of the current instance of %Long, @n
         *                              else @c false
-        *      @param[in]      obj     An instance of Object to compare
+        *      @param[in]      obj     An instance of %Object to compare
         *      @see            Object::Equals()
         */
        virtual bool Equals(const Object& obj) const;
@@ -159,35 +159,38 @@ public:
         *
         *      @since 2.0
         *
-        *      @return         The integer value that indicates the hash value of the current instance of %Long
-        *      @remarks
-        *                              - Two equal instances must return the same hash value. @n
-        *                              For better performance, the used hash function must generate a random distribution for all the inputs. @n
-        *                              - The default implementation of this method returns the value of the current instance.
+        *      @return         An integer value indicating the hash value of the current instance of %Long
+        *      @remarks        Two equal instances must return the same hash value. For better performance,
+        *                              the used hash function must generate a random distribution for all inputs. @n
+        *                              The default implementation of this method returns the value of the current instance.
         */
        virtual int GetHashCode(void) const;
 
        /**
-        *  Gets the hash value of the specified @c long value.
-        *
-        *  @since 2.0
-        *
-        *  @return       The integer value that indicates the hash value of the specified @c long value
-        *  @param[in]   val   The @c long value used to get the hash value
-        */
+       *        Gets the hash value of the specified @c long value.
+       *
+       *        @since 2.0
+       *
+       *        @return        An integer value indicating the hash value of the specified @c long value
+       *        @param[in]   val   A @c long value to get the hash value
+       */
        static int GetHashCode(long val);
 
        /**
-        *      Decodes a string into a @c signed @c long value.
+        *      Decodes a string into a @c signed @c long.
         *
         *      @since 2.0
         *
         *      @return         An error code
-        *      @param[in]      s                               The string that represents the numeric value
+        *      @param[in]      s                               A string representing a numeric value
         *      @param[out]     ret                             The result of the operation
-        *      @exception      E_SUCCESS               The method is successful.
+        *      @exception      E_SUCCESS       The method is successful.
         *      @exception      E_NUM_FORMAT    The specified string does not contain a number that can be parsed.
-        *      @remarks        This method accepts decimal, hexadecimal, and octal numbers given by the
+        *      @exception      E_OUT_OF_RANGE  The decoded value is not between VALUE_MIN and VALUE_MAX range.
+        *
+        *      @remarks        
+        *                      - This method guarantees that the original value of out-parameter is not changed when the method returns error.
+        *                      - This method accepts decimal, hexadecimal, and octal numbers given by the
         *                              following grammar:
         *      @code
         *      - DecodableString:
@@ -203,49 +206,69 @@ public:
        static result Decode(const String& s, long& ret);
 
        /**
-        *      Parses the @c signed @c long equivalent of the specified string that represents a numeric value.
+        *      Parses the @c signed @c long equivalent of the specified string representing a numeric value.
         *
         *      @since 2.0
         *
         *      @return         An error code
-        *      @param[in]      s                               The string that represents the numeric value
+        *      @param[in]      s                               A string representing a numeric value
         *      @param[out]     ret                             The result of the operation
-        *      @exception      E_SUCCESS               The method is successful.
+        *      @exception      E_SUCCESS       The method is successful.
         *      @exception      E_NUM_FORMAT    The specified string does not contain a number that can be parsed.
+        *      @exception      E_OUT_OF_RANGE  The parsed value is not between VALUE_MIN and VALUE_MAX range.
+        *
         *      @remarks
-        *                              - This method assumes that the string that represents the numeric value uses a radix @c 10.
-        *                              - This method guarantees that the original value of the out-parameter is not changed when the method returns an error.
+        *                              - This method assumes that the string representing the numeric value uses a radix 10.
+        *                              - This method guarantees that the original value of out-parameter is not changed when the method returns error.
         */
        static result Parse(const String& s, long& ret);
 
        /**
-        *      Parses the @c signed @c long equivalent of the specified string that represents a numeric value using the specified radix.
+        *      Parses the @c signed @c long equivalent of the specified string representing a numeric value using the specified radix.
         *
         *      @since 2.0
         *
         *      @return         An error code
-        *      @param[in]      s                               The string that represents the numeric value
-        *      @param[in]      radix                   The radix of the string that represents the numeric value @n
-        *                                                              It must be either 2, 8, 10, or 16.
+        *      @param[in]      s                       A string representing a numeric value
+        *      @param[in]      radix           The radix of the string representing a numeric value @n
+        *                                      Radix value range is from 2 to 36.
         *      @param[out]     ret                             The result of the operation
         *      @exception      E_SUCCESS               The method is successful.
         *      @exception      E_NUM_FORMAT    The specified string does not contain a number that can be parsed.
-        *      @exception      E_OUT_OF_RANGE  The specified @c radix is invalid.
-        *      @remarks        This method guarantees that the original value of the out-parameter is not changed when the method returns an error.
+        *      @exception      E_OUT_OF_RANGE  The specified @c radix is invalid or
+        *                                      The parsed value is not between VALUE_MIN and VALUE_MAX range.
+        *
+        *      @remarks        This method guarantees that the original value of out-parameter is not changed when the method returns error.
         */
        static result Parse(const String& s, int radix, long& ret);
 
        /**
-        *      Gets the @c signed @c char equivalent of the current instance of %Long.
+        *      Gets the @c char equivalent of the current instance of the %Long class.
         *
         *      @since 2.0
         *
-        *      @return         The @c signed @c char equivalent of the current instance
+        *      @brief  <i> [Deprecated] </i>
+        *
+        *      @deprecated     This method has portability issue.
+        *                      Return value may not be @c signed @c char since char is treated as unsigned char in ARM architecture. @n
+        *                      Use ToInt8() method to get @c int8_t
+        *
+        *      @return         The @c char equivalent of the current instance
         */
        virtual char ToChar(void) const;
 
        /**
-        *      Gets the @c signed @c short equivalent of the current instance of %Long.
+        *      Gets the @c int8_t equivalent of the current instance of %Long.
+        *
+        *      @since 3.0
+        *
+        *      @return The @c int8_t equivalent of the current instance
+        *
+        */
+       virtual int8_t ToInt8(void) const;
+
+       /**
+        *      Gets the @c signed @c short equivalent of the current instance of the %Long class.
         *
         *      @since 2.0
         *
@@ -254,7 +277,7 @@ public:
        virtual short ToShort(void) const;
 
        /**
-        *      Gets the @c signed @c int equivalent of the current instance of %Long.
+        *      Gets the @c signed @c int equivalent of the current instance of the %Long class.
         *
         *      @since 2.0
         *
@@ -263,7 +286,7 @@ public:
        virtual int ToInt(void) const;
 
        /**
-        *      Gets the @c signed @c long equivalent of the current instance of %Long.
+        *      Gets the @c signed @c long equivalent of the current instance of the %Long class.
         *
         *      @since 2.0
         *
@@ -272,7 +295,7 @@ public:
        virtual long ToLong(void) const;
 
        /**
-       *       Gets the @c signed @c long @c long equivalent of the current instance of %Long.
+       *       Gets the @c signed @c long @c long equivalent of the current instance of the %Long class.
        *
        *       @since 2.0
        *
@@ -281,7 +304,7 @@ public:
        virtual long long ToLongLong(void) const;
 
        /**
-        *      Gets the @c signed @c float equivalent of the current instance of %Long.
+        *      Gets the @c signed @c float equivalent of the current instance of the %Long class.
         *
         *      @since 2.0
         *
@@ -290,7 +313,7 @@ public:
        virtual float ToFloat(void) const;
 
        /**
-        *      Gets the @c signed @c double equivalent of the current instance of %Long.
+        *      Gets the @c signed @c double equivalent of the current instance of the %Long class.
         *
         *      @since 2.0
         *
@@ -299,40 +322,40 @@ public:
        virtual double ToDouble(void) const;
 
        /**
-        *      Gets the string that represents the value of the current instance of %Long.
+        *      Gets the string representing the value of the current instance of the %Long class.
         *
         *      @since 2.0
         *
-        *      @return         The string that represents the value of the current instance
+        *      @return         The string representing the value of the current instance
         */
        virtual String ToString(void) const;
 
        /**
-        *      Gets the string that represents the specified @c signed @c long value.
+        *      Gets the string representing the specified @c signed @c long value.
         *
         *      @since 2.0
         *
-        *      @return         The string that contains the Unicode representation of the specified @c signed @c long value
-        *      @param[in]      value   The @c signed @c long value to convert
+        *      @return         The string containing a Unicode representation of the specified @c signed @c long value
+        *      @param[in]      value   A @c signed @c long value to convert
         */
        static String ToString(long value);
 
        /**
-        *      The constant holding the maximum value a @c short value can have; 2^31-1.
+        *      A constant holding the maximum value a @c short can have; 2^31-1.
         *
         *      @since 2.0
         */
-       static const long VALUE_MAX = (long) 0x7FFFFFFF;
+       static const long VALUE_MAX = static_cast< long >(0x7FFFFFFF);
 
        /**
-        *      The constant holding the minimum value a @c short value can have; -2^31.
+        *      A constant holding the minimum value a @c short can have; -2^31.
         *
         *      @since 2.0
         */
-       static const long VALUE_MIN = (long) 0x80000000;
+       static const long VALUE_MIN = static_cast< long >(0x80000000);
 
        /**
-        * The @c long value of this instance.
+        * A @c long value of this instance.
         *
         * @since 2.0
         */
index 91d3bfe..687ae3e 100644 (file)
  * @file               FBaseLongComparer.h
  * @brief              This is the header file for the %LongComparer class.
  *
+ * @see                        Long and Tizen::Base::Collection::IComparer
  *
  * This header file contains the declarations of the %LongComparer class.
- *
- * @see                        Tizen::Base::Long
- * @see         Tizen::Base::Collection::IComparer
  */
 #ifndef _FBASE_LONG_COMPARER_H_
 #define _FBASE_LONG_COMPARER_H_
@@ -35,11 +33,11 @@ namespace Tizen { namespace Base
 {
 /**
  * @class      LongComparer
- * @brief      This class checks for equivalence between two instances of the %Long type.
+ * @brief      This class checks for equivalence between 2 instances of the %Long type.
  *
  * @since 2.0
  *
- * The %LongComparer class checks for equivalence between two instances of the Long type.
+ * The %LongComparer class checks for equivalence between 2 instances of the Long type.
  *
  * For more information on the class features, see <a href="../org.tizen.native.appprogramming/html/guide/base/collection_comparison.htm">Collection Comparisons</a>.
  *
@@ -92,17 +90,17 @@ public:
         *      @since 2.0
         *
         *  @return             An error code
-        *  @param[in]  obj1                    The first instance of type Long
-        *  @param[in]  obj2                    The second instance of type Long
-        *  @param[out] cmp                             The result of the comparison
+        *  @param[in]  obj1    The first instance of type %Long
+        *  @param[in]  obj2    The second instance of type %Long
+        *  @param[out] cmp             The result of comparison
         *  @exception  E_SUCCESS               The method is successful.
         *  @exception  E_INVALID_ARG   The specified object instances are not of the expected type.
         *  @remarks    The value of @c cmp can be:
         *
         *      @code
-        *      <  0  if the value of obj1 is less than the value of obj2
-        *      == 0  if the value of obj1 is equal to the value of obj2
-        *      >  0  if the value of obj1 is greater than the value of obj2
+        *      <  0  if the value of @c obj1 is less than the value of @c obj2
+        *      == 0  if the value of @c obj1 is equal to the value of @c obj2
+        *      >  0  if the value of @c obj1 is greater than the value of @c obj2
         *      @endcode
         */
        virtual result Compare(const Tizen::Base::Object& obj1, const Tizen::Base::Object& obj2, int& cmp) const;
index 4ec1223..3207efd 100644 (file)
@@ -18,9 +18,9 @@
  * @file               FBaseLongLong.h
  * @brief              This is the header file for the %LongLong class.
  *
- * This header file contains the declarations of the %LongLong class.
- *
  * @see                        Tizen::Base::Number
+ *
+ * This header file contains the declarations of the %LongLong class.
  */
 #ifndef _FBASE_LONG_LONG_H_
 #define _FBASE_LONG_LONG_H_
@@ -35,8 +35,8 @@ namespace Tizen { namespace Base
  *
  *     @since  2.0
  *
- *     The %LongLong class represents an integer value ranging from @c -9223372036854775808 to @c 9223372036854775807,
- *     that is, @c -(2^63) to @c +((2^63)-1). The class is useful when passing a 64-bit @c signed
+ *     The %LongLong class represents an integer value ranging from -9223372036854775808 to 9223372036854775807
+ *     , that is, -(2^63) to +((2^63)-1). The class is useful when passing a 64-bit @c signed
  *     integral value to a method that accepts only an instance of Object. Furthermore,
  *     this class provides methods for converting %LongLong (and @c long @c long) to String, and %String
  *     to %LongLong (and @c long @c long).
@@ -81,7 +81,7 @@ public:
         *
         *      @since                  2.0
         *
-        *      @param[in]      value   The @c long @c long value
+        *      @param[in]      value   A @c long @c long value
         */
        LongLong(long long value = 0);
 
@@ -90,7 +90,7 @@ public:
         *
         *      @since                  2.0
         *
-        *      @param[in]      value   An instance of %LongLong to copy
+        *      @param[in]      value   An instance of %LongLong
         */
        LongLong(const LongLong& value);
 
@@ -106,7 +106,7 @@ public:
         *
         *      @since                  2.0
         *
-        *      @param[in]      rhs     An instance of %LongLong to copy
+        *      @param[in]      rhs     An instance of %LongLong
         */
        LongLong& operator =(const LongLong& rhs);
 
@@ -115,11 +115,11 @@ public:
         *
         *      @since          2.0
         *
-        *      @return         The 32-bit @c signed integer value
+        *      @return         A 32-bit @c signed integer value
         *      @code
-        *      <  0  if the value of l1 is less than the value of l2
-        *      == 0  if the value of l1 is equal to the value of l2
-        *      >  0  if the value of l1 is greater than the value of l2
+        *      <  0  if the value of @c l1 is less than the value of @c l2
+        *      == 0  if the value of @c l1 is equal to the value of @c l2
+        *      >  0  if the value of @c l1 is greater than the value of @c l2
         *      @endcode
         *      @param[in]      l1      The first @c long @c long value to compare
         *      @param[in]      l2      The second @c long @c long value to compare
@@ -127,17 +127,17 @@ public:
        static int Compare(long long l1, long long l2);
 
        /**
-        *      Compares the value of the current instance with the value of the specified instance of %LongLong.
+        *      Compares the value of the current instance with the value of the specified instance of the %LongLong class.
         *
         *      @since          2.0
         *
-        *      @return         The 32-bit @c signed integer value
+        *      @return         A 32-bit @c signed integer value
         *      @code
         *      <  0  if the value of the current instance is less than the value of the specified instance
         *      == 0  if the value of the current instance is equal to the value of the specified instance
         *      >  0  if the value of the current instance is greater than the value of the specified instance
         *      @endcode
-        *      @param[in]      value   An instance of %LongLong to compare
+        *      @param[in]      value   An instance of the %LongLong class to compare
         */
        int CompareTo(const LongLong& value) const;
 
@@ -158,35 +158,50 @@ public:
         *
         *      @since          2.0
         *
-        *      @return         The integer value that indicates the hash value of the current instance of %LongLong
-        *      @remarks        
-        *                              - Two equal instances must return the same hash value. @n
-        *                              For better performance, the used hash function must generate a random distribution for all the inputs. @n
-        *                              - The default implementation of this method returns the value of the current instance.
+        *      @return         An integer value indicating the hash value of the current instance of %LongLong
+        *      @remarks        Two equal instances must return the same hash value. For better performance,
+        *                              the used hash function must generate a random distribution for all inputs. @n
+        *                              The default implementation of this method returns the value of the current instance.
         */
        virtual int GetHashCode(void) const;
 
        /**
-        *  Gets the hash value of the specified @c long @c long value.
-        *
-        *  @since         2.0
-        *
-        *  @return      The integer value that indicates the hash value of the specified @c long @c long value
-        *  @param[in]   val   The @c long @c long value used to get the hash value
+       *        Gets the hash value of the specified @c long @c long value.
+       *
+       *        @since         2.0
+       *
+       *        @return                An integer value indicating the hash value of the specified @c long @c long value
+       *        @param[in]   val   A @c long @c long value to get the hash value
        */
        static int GetHashCode(long long val);
 
        /**
-        *      Gets the @c signed @c char equivalent of the current instance of %LongLong.
+        *      Gets the @c char equivalent of the current instance of the %LongLong class.
         *
         *      @since          2.0
         *
-        *      @return         The @c signed @c char equivalent of the current instance
+        *      @brief  <i> [Deprecated] </i>
+        *
+        *      @deprecated     This method has portability issue.
+        *                      Return value may not be @c signed @c char since char is treated as unsigned char in ARM architecture. @n
+        *                      Use ToInt8() method to get @c int8_t
+        *
+        *      @return         The @c char equivalent of the current instance
         */
        virtual char ToChar(void) const;
 
        /**
-        *      Gets the @c signed @c short equivalent of the current instance of %LongLong.
+        *      Gets the @c int8_t equivalent of the current instance of %LongLong.
+        *
+        *      @since 3.0
+        *
+        *      @return The @c int8_t equivalent of the current instance
+        *
+        */
+       virtual int8_t ToInt8(void) const;
+
+       /**
+        *      Gets the @c signed @c short equivalent of the current instance of the %LongLong class.
         *
         *      @since          2.0
         *
@@ -195,7 +210,7 @@ public:
        virtual short ToShort(void) const;
 
        /**
-        *      Gets the @c signed @c int equivalent of the current instance of %LongLong.
+        *      Gets the @c signed @c int equivalent of the current instance of the %LongLong class.
         *
         *      @since          2.0
         *
@@ -204,7 +219,7 @@ public:
        virtual int ToInt(void) const;
 
        /**
-        *      Gets the @c signed @c long equivalent of the current instance of %LongLong.
+        *      Gets the @c signed @c long equivalent of the current instance of the %LongLong class.
         *
         *      @since          2.0
         *
@@ -213,7 +228,7 @@ public:
        virtual long ToLong(void) const;
 
        /**
-        *      Gets the @c signed @c float equivalent of the current instance of %LongLong.
+        *      Gets the @c signed @c float equivalent of the current instance of the %LongLong class.
         *
         *      @since          2.0
         *
@@ -222,7 +237,7 @@ public:
        virtual float ToFloat(void) const;
 
        /**
-        *      Gets the @c signed @c double equivalent of the current instance of %LongLong.
+        *      Gets the @c signed @c double equivalent of the current instance of the %LongLong class.
         *
         *      @since          2.0
         *
@@ -231,7 +246,7 @@ public:
        virtual double ToDouble(void) const;
 
        /**
-        *      Gets the @c signed @c long @c long equivalent of the current instance of %LongLong.
+        *      Gets the @c signed @c long @c long equivalent of the current instance of the %LongLong class.
         *
         *      @since          2.0
         *
@@ -240,75 +255,107 @@ public:
        virtual long long ToLongLong(void) const;
 
        /**
-        *      Gets the string that represents the value of the current instance of %LongLong.
+        *      Gets the string representing the value of the current instance of the %LongLong class.
         *
         *      @since          2.0
         *
-        *      @return         The string that represents the value of the current instance
+        *      @return         The string representing the value of the current instance
         */
        virtual String ToString(void) const;
 
        /**
-        *      Gets the string that represents the specified @c signed @c long @c long value.
+        *      Gets the string representing the specified @c signed @c long @c long value.
         *
         *      @since                  2.0
         *
-        *      @return         The string that contains the Unicode representation of the specified @c signed @c long @c long value
-        *      @param[in]      value   The @c signed @c long @c long value to convert
+        *      @return                         The string containing a Unicode representation of the specified @c signed @c long @c long value
+        *      @param[in]      value   A @c signed @c long @c long value to convert
         */
        static String ToString(long long value);
 
        /**
-        *      Parses the specified string that represents a numeric value and
+        * Decodes a string into a @c signed @c long @c long value.
+        *
+        * @since 3.0
+        *
+        * @return                      An error code
+        * @param[in]   inputStr        A string representing a numeric value
+        * @param[out]  ret             The result of the operation
+        * @exception   E_SUCCESS       The method is successful.
+        * @exception   E_NUM_FORMAT    The specified string does not contain a number that can be parsed.
+        * @exception   E_OUT_OF_RANGE  The decoded value is not between VALUE_MIN and VALUE_MAX range.
+        * @remarks
+        *              - This method guarantees that the original value of out-parameter is not changed when the method returns error.
+        *              - This method accepts decimal, hexadecimal, and octal numbers given by the
+        *                              following grammar:
+        * @code
+        *      - DecodableString:
+        *              Sign[opt] DecimalNumeral
+        *              Sign[opt] 0x HexDigits
+        *              Sign[opt] 0X HexDigits
+        *              Sign[opt] # HexDigits
+        *              Sign[opt] 0 OctalDigits
+        *      - Sign:
+        *              '-'
+        * @endcode
+        */
+       static result Decode(const String& inputStr, long long& ret);
+
+       /**
+        *      Parses the specified string representing a numeric value and
         *      returns the value as a @c signed @c long @c long (as out parameter).
         *
         *      @since                  2.0
         *
         *      @return                 An error code
-        *      @param[in]      s                               The string that represents the numeric value
+        *      @param[in]      s                               A string representing a numeric value
         *      @param[out]     ret                             The result of the operation
-        *      @exception      E_SUCCESS               The method is successful.
+        *      @exception      E_SUCCESS       The method is successful.
         *      @exception      E_NUM_FORMAT    The specified string does not contain a number that can be parsed.
+        *      @exception      E_OUT_OF_RANGE  The parsed value is not between VALUE_MIN and VALUE_MAX range.
+        *
         *      @remarks
-        *                              - This method assumes that the string that represents the numeric value uses a radix @c 10.
-        *                              - This method guarantees that the original value of the out-parameter is not changed when the method returns an error.
+        *                              - This method assumes that the string representing the numeric value uses a radix 10.
+        *                              - This method guarantees that the original value of out-parameter is not changed when the method returns error.
         */
        static result Parse(const String& s, long long& ret);
 
        /**
-        *      Parses the specified string that represents a numeric value using the specified radix and
+        *      Parses the specified string representing a numeric value using the specified radix and
         *      returns the value as a @c signed @c long @c long (as out parameter).
         *
         *      @since                  2.1
         *
         *      @return                 An error code
-        *      @param[in]      s                               The string that represents the numeric value
-        *      @param[in]      radix                   The radix of the string that represents a numeric value @n
-        *                                                              It must be either 2, 8, 10 or 16.
+        *      @param[in]      s                               A string representing a numeric value
+        *      @param[in]      radix                   The radix of the string representing a numeric value @n
+        *                                              Radix value range is from 2 to 36.
         *      @param[out]     ret                             The result of the operation
         *      @exception      E_SUCCESS               The method is successful.
         *      @exception      E_NUM_FORMAT    The specified string does not contain a number that can be parsed.
-        *      @exception      E_OUT_OF_RANGE  The specified @c radix is invalid.
-        *      @remarks        This method guarantees that the original value of the out-parameter is not changed when the method returns an error.
+        *      @exception      E_OUT_OF_RANGE  The specified @c radix is invalid or
+        *                                      The parsed value is not between VALUE_MIN and VALUE_MAX range.
+        *
+        *      @remarks        This method guarantees that the original value of out-parameter is not changed when the method returns error.
         */
        static result Parse(const String& s, int radix, long long& ret);
 
        /**
-        *      The constant holding the maximum value a @c long @c long can have; @c 2^63-1.
+        *      A constant holding the maximum value a @c long @c long can have; 2^63-1.
         *
         *      @since  2.0
         */
-       static const long long VALUE_MAX = (long long) 0x7FFFFFFFFFFFFFFFLL;
+       static const long long VALUE_MAX = static_cast< long long >(0x7FFFFFFFFFFFFFFFLL);
 
        /**
-        *      The constant holding the minimum value a @c long @c long can have; @c -2^63.
+        *      A constant holding the minimum value a @c long @c long can have; -2^63.
         *
         *      @since  2.0
         */
-       static const long long VALUE_MIN = (long long) 0x8000000000000000LL;
+       static const long long VALUE_MIN = static_cast< long long >(0x8000000000000000LL);
 
        /**
-        * The @c long @c long value of this instance.
+        * A @c long @c long value of this instance.
         *
         * @since       2.0
         */
index bf42322..722464e 100644 (file)
  * @file               FBaseLongLongComparer.h
  * @brief              This is the header file for the %LongLongComparer class.
  *
+ * @see                        Long and Tizen::Base::Collection::IComparer
  *
  * This header file contains the declarations of the %LongLongComparer class.
- *
- * @see                        Tizen::Base::Long
- * @see                Tizen::Base::Collection::IComparer
  */
 #ifndef _FBASE_LONG_LONG_COMPARER_H_
 #define _FBASE_LONG_LONG_COMPARER_H_
@@ -35,11 +33,11 @@ namespace Tizen { namespace Base
 {
 /**
  * @class      LongLongComparer
- * @brief      This class checks for equivalence between two instances of the %LongLong type.
+ * @brief      This class checks for equivalence between 2 instances of the %LongLong type.
  *
  * @since 2.0
  *
- * The %LongLongComparer class checks for equivalence between two instances of the LongLong type.
+ * The %LongLongComparer class checks for equivalence between 2 instances of the %LongLong type.
  *
  * For more information on the class features, see <a href="../org.tizen.native.appprogramming/html/guide/base/collection_comparison.htm">Collection Comparisons</a>.
  *
@@ -93,15 +91,15 @@ public:
         * @return              An error code
         * @param[in]   obj1                    The first instance of type LongLong
         * @param[in]   obj2                    The second instance of type LongLong
-        * @param[out] cmp                              The result of the comparison
+        * @param[out] cmp                              The result of comparison
         * @exception   E_SUCCESS               The method is successful.
         * @exception   E_INVALID_ARG   The specified object instances are not of the expected type.
         * @remarks     The value of @c cmp can be:
         *
         * @code
-        *      <  0  if the value of obj1 is less than the value of obj2
-        *      == 0  if the value of obj1 is equal to the value of obj2
-        *      >  0  if the value of obj1 is greater than the value of obj2
+        *      <  0  if the value of @c obj1 is less than the value of @c obj2
+        *      == 0  if the value of @c obj1 is equal to the value of @c obj2
+        *      >  0  if the value of @c obj1 is greater than the value of @c obj2
         * @endcode
         */
        virtual result Compare(const Tizen::Base::Object& obj1, const Tizen::Base::Object& obj2, int& cmp) const;
index 61489b1..0e16193 100644 (file)
@@ -18,8 +18,8 @@
  * @file               FBaseNumber.h
  * @brief              This is the header file for the %Number class.
  *
- * This header file contains the declarations and definitions of the %Number class.
- *
+ * This header file contains the declarations and definitions of the %Number class. @n
+ * This class is the abstract base class of all wrapped numeric types.
  */
 #ifndef _FBASE_NUMBER_H_
 #define _FBASE_NUMBER_H_
@@ -75,16 +75,21 @@ public:
        virtual ~Number(void) { };
 
        /**
-        *      Gets the @c signed @c char equivalent of the current instance of %Number.
+        *      Gets the @c char equivalent of the current instance of the %Number class.
         *
         *      @since 2.0
+        *      @brief  <i> [Deprecated] </i>
+        *
+        *      @deprecated     This method has portability issue.
+        *                      Return value may not be @c signed @c char since char is treated as unsigned char in ARM architecture. @n
+        *                      Use ToInt8() method to get @c int8_t
         *
-        *      @return         The @c signed @c char equivalent of the current instance
+        *      @return         The @c char equivalent of the current instance
         */
        virtual char ToChar(void) const = 0;
 
        /**
-        *      Gets the @c signed @c short equivalent of the current instance of %Number.
+        *      Gets the @c signed @c short equivalent of the current instance of the %Number class.
         *
         *      @since 2.0
         *
@@ -93,7 +98,7 @@ public:
        virtual short ToShort(void) const = 0;
 
        /**
-        *      Gets the @c signed @c int equivalent of the current instance of %Number.
+        *      Gets the @c signed @c int equivalent of the current instance of the %Number class.
         *
         *      @since 2.0
         *
@@ -102,7 +107,7 @@ public:
        virtual int ToInt(void) const = 0;
 
        /**
-        *      Gets the @c signed @c long equivalent of the current instance of %Number.
+        *      Gets the @c signed @c long equivalent of the current instance of the %Number class.
         *
         *      @since 2.0
         *
@@ -111,7 +116,7 @@ public:
        virtual long ToLong(void) const = 0;
 
        /**
-       *       Gets the @c signed @c long @c long equivalent of the current instance of %Number.
+       *       Gets the @c signed @c long @c long equivalent of the current instance of the %Number class.
        *
        *       @since 2.0
        *
@@ -120,7 +125,7 @@ public:
        virtual long long ToLongLong(void) const = 0;
 
        /**
-        *      Gets the @c signed @c float equivalent of the current instance of %Number.
+        *      Gets the @c signed @c float equivalent of the current instance of the %Number class.
         *
         *      @since 2.0
         *
@@ -129,7 +134,7 @@ public:
        virtual float ToFloat(void) const = 0;
 
        /**
-        *      Gets the @c signed @c double equivalent of the current instance of %Number.
+        *      Gets the @c signed @c double equivalent of the current instance of the %Number class.
         *
         *      @since 2.0
         *
@@ -138,14 +143,26 @@ public:
        virtual double ToDouble(void) const = 0;
 
        /**
-        *      Gets the string that represents the value of the current instance of %Number.
+        *      Gets the string representing the value of the current instance of the %Number class.
         *
         *      @since 2.0
         *
-        *      @return         The string that represents the value of the current instance
+        *      @return         The string representing the value of the current instance
         */
        virtual String ToString(void) const = 0;
 
+       /**
+        *      Gets the @c int8_t equivalent of the current instance of the %Number class.
+        *
+        *      @since 3.0
+        *
+        *      @return         The @c int8_t equivalent of the current instance
+        */
+       virtual int8_t ToInt8(void) const
+       {
+               return 0;
+       }
+
 protected:
        //
        // This method is for internal use only. Using this method can cause behavioral, security-related,
@@ -156,15 +173,6 @@ protected:
        //
        virtual void Number_Reserved1(void) { }
 
-       //
-       // This method is for internal use only. Using this method can cause behavioral, security-related,
-       // and consistency-related issues in the application.
-       // This method is reserved and may change its name at any time without prior notice.
-       //
-       // @since 2.0
-       //
-       virtual void Number_Reserved2(void) { }
-
 }; // Number
 
 }}   // Tizen::Base
index 61d97a2..f75eb44 100644 (file)
@@ -110,6 +110,12 @@ protected:
        //
        virtual void Object_Reserved1(void) { }
 
+public:
+       // This pointer is initalized null. It is used to return null pointer.
+       //
+       // @since 3.0
+       //
+       static Object* pNullObj;
 }; // Object
 
 }} // Tizen::Base
index 34155b7..7086f89 100644 (file)
@@ -36,9 +36,8 @@ class IEventListener;
 * @brief This class provides methods for notifying events with arguments to its listeners.
 * @since 2.0
 *
-* The %Event class provides methods for notifying events with arguments to its listeners.
-* Because it is bounded to either a default thread or an event-driven thread, it cannot be created on a worker thread.
-* It supports two types of listeners; one is called on the thread where the event is fired, and another is called on the thread where the listener is registered.
+* The %Event class provides methods for notifying events with argument to its listeners.
+* It supports two types of listeners; one is called on the thread where the event is fired, and another is called on the thread where the listener was registered.
 *
 * @code
 *
index 1f05c3e..d97191a 100644 (file)
@@ -18,9 +18,9 @@
  * @file               FBaseShort.h
  * @brief              This is the header file for the %Short class.
  *
- * This header file contains the declarations of the %Short class.
+ * @see                        Number()
  *
- * @see                        Tizen::Base::Number
+ * This header file contains the declarations of the %Short class.
  */
 #ifndef _FBASE_SHORT_H_
 #define _FBASE_SHORT_H_
@@ -82,7 +82,7 @@ public:
         *
         *      @since 2.0
         *
-        *      @param[in]      value   The @c short value
+        *      @param[in]      value   A @c short value
         */
        Short(short value = 0);
 
@@ -91,7 +91,7 @@ public:
         *
         *      @since 2.0
         *
-        *      @param[in]      value   An instance of %Short to copy
+        *      @param[in]      value   An instance of %Short
         */
        Short(const Short& value);
 
@@ -116,31 +116,31 @@ public:
         *
         *      @since 2.0
         *
-        *      @return The 32-bit @c signed @c integer value
+        *      @return A 32-bit @c signed @c integer value
         *      @param[in]      s1      The first @c short value to compare
         *      @param[in]      s2      The second @c short value to compare
         *
         *      @code
-        *      <  0  if s1 is less than s2
-        *      == 0  if s1 is equal to s2
-        *      >  0  if s1 is greater than s2
+        *      <  0  if @c s1 is less than @c s2
+        *      == 0  if @c s1 is equal to @c s2
+        *      >  0  if @c s1 is greater than @c s2
         *      @endcode
         */
        static int Compare(short s1, short s2);
 
        /**
-        *      Compares the value of the current instance of %Short
-        *      with the value of the specified instance of %Short.
+        *      Compares the value of the current instance of the %Short class
+        *      with the value of the specified instance of the %Short class.
         *
         *      @since 2.0
         *
-        *      @return         The @c signed 32-bit @c integer value
-        *      @param[in]      value An instance of %Short to compare
+        *      @return A @c signed 32-bit @c integer value
+        *      @param[in]      value An instance of the %Short class to compare
         *
         *      @code
-        *      <  0  if the value of the current instance is less than the specified instance
-        *      == 0  if the value of the current instance is equal to the specified instance
-        *      >  0  if the value of the current instance is greater than the specified instance
+        *      <  0  if the value of the current instance is less than that of the specified instance
+        *      == 0  if the value of the current instance is equal to that of the specified instance
+        *      >  0  if the value of the current instance is greater than that of the specified instance
         *      @endcode
         */
        int CompareTo(const Short& value) const;
@@ -152,7 +152,7 @@ public:
         *
         *      @return         @c true if the value of the specified instance of Object is equal to the value of the current instance of %Short, @n
         *                              else @c false
-        *      @param[in]      obj     An instance of Object to compare
+        *      @param[in]      obj An instance of Object to compare
         *      @remarks        The method returns @c false if the specified object is not of the
         *                              type @c short.
         *      @see            Tizen::Base::Object::Equals()
@@ -167,7 +167,7 @@ public:
         *
         *      @return         @c true if the value of the current instance is equal to the specified @c short value, @n
         *                              else @c false
-        *      @param[in]      value   The @c short value to compare
+        *      @param[in]      value   A @c short value to compare
         */
        bool Equals(short value) const;
 
@@ -176,21 +176,20 @@ public:
         *
         *      @since 2.0
         *
-        *      @return         The integer value that indicates the hash value of the current instance of %Short
-        *      @remarks        
-        *                              - Two equal instances must return the same hash value. @n
-        *                              For better performance, the used hash function must generate a random distribution for all the inputs. @n
-        *                              - The default implementation of this method returns the value of the current instance.
+        *      @return         An integer value indicating the hash value of the current instance of %Short
+        *      @remarks        Two equal instances must return the same hash value. For better performance,
+        *                              the used hash function must generate a random distribution for all inputs. @n
+        *                              The default implementation of this method returns the value of the current instance.
         */
        virtual int GetHashCode(void) const;
 
        /**
-       *  Gets the hash value of the specified @c short value.
+       *        Gets the hash value of the specified @c short value.
        *
-       *  @since 2.0
+       *        @since 2.0
        *
-       *  @return      The integer value that indicates the hash value of the specified @c short value
-       *  @param[in]   val   The @c short value used to get the hash value
+       *        @return        An integer value indicating the hash value of the specified @c short value
+       *        @param[in]   val   A @c short value to get the hash value
        */
        static int GetHashCode(short val);
 
@@ -199,12 +198,16 @@ public:
         *
         *      @since 2.0
         *
-        *      @return         An error code
-        *      @param[in]      s                               The numeric value
-        *      @param[out]     ret                             The result of the operation
+        *      @return                 An error code
+        *      @param[in]      s        A numeric value
+        *      @param[out]     ret     The result of the operation
         *      @exception      E_SUCCESS               The method is successful.
         *      @exception      E_NUM_FORMAT    The specified string does not contain a number that can be parsed.
-        *      @remarks        This method accepts decimal, hexadecimal, and octal numbers given by the
+        *      @exception      E_OUT_OF_RANGE  The decoded value is not between VALUE_MIN and VALUE_MAX range.
+        *
+        *      @remarks        
+        *                      - This method guarantees that the original value of out-parameter is not changed when the method returns error.
+        *                      - This method accepts decimal, hexadecimal, and octal numbers given by the
         *                              following grammar:
         *
         *      @code
@@ -221,138 +224,157 @@ public:
        static result Decode(const String& s, short& ret);
 
        /**
-        *      Parses the specified string that represents a numeric value and
+        *      Parses the specified string representing a numeric value and
         *      returns the value as @c signed @c short.
         *
         *      @since 2.0
         *
-        *      @return         An error code
-        *      @param[in]      s                               The string that represents the numeric value
+        *      @return                 An error code
+        *      @param[in]      s                               A string representing a numeric value
         *      @param[out]     ret                             The result of the operation
         *      @exception      E_SUCCESS               The method is successful.
         *      @exception      E_NUM_FORMAT    The specified string does not contain a number that can be parsed.
+        *      @exception      E_OUT_OF_RANGE  The parsed value is not between VALUE_MIN and VALUE_MAX range.
+        *
         *      @remarks
-        *                              - This method assumes that the string that represents the numeric value that uses a radix @c 10.
-        *                              - This method guarantees that the original value of the out-parameter is not changed when the method returns an error.
+        *                              - This method assumes that the string representing the numeric value uses a radix 10.
+        *                              - This method guarantees that the original value of out-parameter is not changed when the method returns error.
         */
        static result Parse(const String& s, short& ret);
 
        /**
-        *      Parses the specified string that represents a numeric value
+        *      Parses the specified string representing a numeric value
         *      using the specified radix and returns the value as @c signed @c short.
         *
         *      @since 2.0
         *
         *      @return         An error code
-        *      @param[in]      s                               The string that represents the numeric value
-        *      @param[in]      radix                   The radix of the string that represents the numeric value @n
-        *                                                              It must either be 2, 8, 10, or 16.
+        *      @param[in]      s               A string representing a numeric value
+        *      @param[in]      radix           The radix of the string representing a numeric value @n
+        *                                      Radix value range is from 2 to 36.
         *      @param[out]     ret                             The result of the operation
         *      @exception      E_SUCCESS               The method is successful.
         *      @exception      E_NUM_FORMAT    The specified string does not contain a number that can be parsed.
-        *      @exception      E_OUT_OF_RANGE The specified @c radix is invalid.
-        *      @remarks        This method guarantees that the original value of the out-parameter is not changed when the method returns an error.
+        *      @exception      E_OUT_OF_RANGE  The specified @c radix is invalid or
+        *                                      The parsed value is not between VALUE_MIN and VALUE_MAX range.
+        *
+        *      @remarks        This method guarantees that the original value of out-parameter is not changed when the method returns error.
         */
        static result Parse(const String& s, int radix, short& ret);
 
        /**
-        *      Gets the @c signed @c char equivalent of the current instance of %Short.
+        *      Gets the @c char equivalent of the current instance of the %Short class.
         *
         *      @since 2.0
+        *      @brief  <i> [Deprecated] </i>
+        *
+        *      @deprecated     This method has portability issue.
+        *                      Return value may not be @c signed @c char since char is treated as unsigned char in ARM architecture. @n
+        *                      Use ToInt8() method to get @c int8_t
         *
-        *      @return The @c signed @c char equivalent of the current instance
+        *      @return A @c char equivalent of the current instance
         */
        virtual char ToChar(void) const;
 
        /**
-        *      Gets the @c signed @c short equivalent of the current instance of %Short.
+        *      Gets the @c int8_t equivalent of the current instance of %Short.
         *
-        *      @since 2.0
+        *      @since 3.0
+        *
+        *      @return The @c int8_t equivalent of the current instance
         *
-        *      @return The @c signed @c short equivalent of the current instance
         */
-       virtual short ToShort(void) const;
+       virtual int8_t ToInt8(void) const;
 
        /**
-        *      Gets the @c signed @c int equivalent of the current instance of %Short.
+        *      Gets the @c signed @c short equivalent of the current instance of the %Short class.
         *
         *      @since 2.0
         *
-        *      @return The @c signed @c int equivalent of the current instance
+        *      @return A @c signed @c short equivalent of the current instance
         */
-       virtual int ToInt(void) const;
+       virtual short ToShort(void) const;
 
        /**
-        *      Gets the @c signed @c long equivalent of the current instance of %Short.
+        *      Gets the @c signed @c int equivalent of the current instance of the %Short class.
         *
         *      @since 2.0
         *
-        *      @return The @c signed @c long equivalent of the current instance
+        *      @return A @c signed @c int equivalent of the current instance
         */
-       virtual long ToLong(void) const;
+       virtual int ToInt(void) const;
 
        /**
-        *      Gets the @c signed @c long @c long equivalent of the current instance of %Short.
+        *      Gets the @c signed @c long equivalent of the current instance of the %Short class.
         *
         *      @since 2.0
         *
-        *      @return The @c signed @c long @c long equivalent of the current instance
+        *      @return A @c signed @c long equivalent of the current instance
         */
+       virtual long ToLong(void) const;
+
+       /**
+       *       Gets the @c signed @c long @c long equivalent of the current instance of the %Short class.
+       *
+       *       @since 2.0
+       *
+       *       @return A @c signed @c long @c long equivalent of the current instance
+       */
        virtual long long ToLongLong(void) const;
 
        /**
-        *      Gets the @c signed @c float equivalent of the current instance of %Short.
+        *      Gets the @c signed @c float equivalent of the current instance of the %Short class.
         *
         *      @since 2.0
         *
-        *      @return The @c signed @c float equivalent of the current instance
+        *      @return A @c signed @c float equivalent of the current instance
         */
        virtual float ToFloat(void) const;
 
        /**
-        *      Gets the @c signed @c double equivalent of the current instance of %Short.
+        *      Gets the @c signed @c double equivalent of the current instance of the %Short class.
         *
         *      @since 2.0
         *
-        *      @return The @c signed @c double equivalent of the current instance
+        *      @return A @c signed @c double equivalent of the current instance
         */
        virtual double ToDouble(void) const;
 
        /**
-        * Gets the string that represents the value of the current instance of %Short.
+        * Gets the string representing the value of the current instance of the %Short class.
         *
         *      @since 2.0
         *
-        *  @return             The string that represents the value of the current instance
+        *  @return             A string representing the value of the current instance
         */
        virtual String ToString(void) const;
 
        /**
-        *      Gets the string that represents the specified @c signed @c short value.
+        *      Gets the string representing the specified @c signed @c short value.
         *
         *      @since 2.0
         *
-        *      @return                 The string that contains the Unicode representation of the specified @c signed @c short value
-        *      @param[in]      value   The @c signed @c short value to convert
+        *      @return                 A string containing a Unicode representation of the specified @c signed @c short value
+        *      @param[in]      value   A @c signed @c short value to convert
         */
        static String ToString(short value);
 
        /**
-        *      The constant holding the maximum value a @c short can be equal to 2^15-1.
+        *      A constant holding the maximum value a @c short will be equal to 2^15-1.
         *
         *      @since 2.0
         */
-       static const short VALUE_MAX = (short) 0x7FFF;
+       static const short VALUE_MAX = static_cast< short >(0x7FFF);
 
        /**
-        *      The constant holding the minimum value a @c short can be equal to -2^15.
+        *      A constant holding the minimum value a @c short will be equal to -2^15.
         *
         *      @since 2.0
         */
-       static const short VALUE_MIN = (short) 0x8000;
+       static const short VALUE_MIN = static_cast< short >(0x8000);
 
        /**
-        * The @c short value of this instance.
+        * A @c short value of this instance.
         *
         * @since 2.0
         */
index 186bff5..6231517 100644 (file)
@@ -39,28 +39,28 @@ namespace Tizen { namespace Base { namespace Utility
  */
 enum RegularExpressionOptions
 {
-       REGEX_CASELESS = 0x00000001,        /**< The case insensitive match option */
-       REGEX_MULTI_LINE = 0x00000002,      /**< The multiple lines match option @n
-                                                            Without this option, (^) matches only at the start of the string, while ($) matches only at
-                                                            the end of the string, or before a terminating newline */
-       REGEX_DOTALL = 0x00000004,          /**< The dot matches newlines option @n
-                                                                                        Without this option, a dot does not match when the current position is at a newline */
+       REGEX_CASELESS = 0x00000001,                /**< The case insensitive match option */
+       REGEX_MULTI_LINE = 0x00000002,              /**< The multiple lines match option @n
+                                                                   Without this option, (^) matches only at the start of the string, while ($) matches only at
+                                                                   the end of the string, or  before a terminating newline. */
+       REGEX_DOTALL = 0x00000004,                  /**< The dot matches newlines option @n
+                                                                                                       Without this option, a dot does not match when the current position is at a newline. */
        REGEX_EXTENDED = 0x00000008,            /**< The ignored whitespaces in a pattern */
-       REGEX_DOLLAR_ENDONLY = 0x00000020,      /**< The option to match the dollar symbol ($) only at the end @n
-                                                Without this option, a dollar symbol also matches immediately before a newline */
-       REGEX_UNGREEDY = 0x00000200,        /**< The option to reverse the (*) and (*?) symbols @n
-                                                            If this option is set, the quantifiers are not greedy by default, however they are, if followed by a question mark */
-       REGEX_UNICODE = 0x01000000,         /**< The option to support the unicode characters @n
-                                                            Without this option, only the ASCII characters are recognized */
+       REGEX_DOLLAR_ENDONLY = 0x00000020,              /**< The option to match the dollar symbol ($) only at the end @n
+                                                       Without this option, a dollar symbol also matches immediately before a newline. */
+       REGEX_UNGREEDY = 0x00000200,                /**< The option to reverse the (*) and (*?) symbols @n
+                                                                   If this option is set, the quantifiers are not greedy by default, however they are, if followed by a question mark. */
+       REGEX_UNICODE = 0x01000000,                 /**< The option to support the unicode characters @n
+                                                                   Without this option, only the ASCII characters are recognized. */
 };
 
 /**
  * @class      RegularExpression
- * @brief      This class provides the functionality for a regular expression.
+ * @brief              This class provides the functionality for a regular expression.
  *
  * @since 2.0
  *
- * The %RegularExpression class provides the operations of a regular expression based on PCRE and the syntax based on
+ * The %RegularExpression class provides operations of a regular expression based on PCRE and the syntax based on
  * the Perl regular expression.
  * The various supported operations are Match(), Replace(), and Consume().
  *
@@ -116,11 +116,11 @@ public:
         * @since 2.0
         *
         * @return                      An error code
-        * @param[in]           pattern                         The pattern to use
-        * @param[in]           options                         The option for the regular expression
-        * @exception           E_SUCCESS                       The method is successful.
+        * @param[in]           pattern The pattern to use
+        * @param[in]           options The option for the regular expression
+        * @exception           E_SUCCESS               The method is successful.
         * @exception           E_INVALID_STATE         This instance has already been constructed.
-        * @exception           E_INVALID_ARG           The length of the specified @c pattern is @c 0.
+        * @exception           E_INVALID_ARG           The length of the specified @c pattern parameter is @c 0.
         *
         * The following example demonstrates how to use the %Construct() method.
         * @code
@@ -144,25 +144,26 @@ public:
         *
         * @return                      @c true if the text matches successfully, @n
         *                                      else @c false
-        * @param[in]           text                            The text to match
-        * @param[in]           fullMatch                       Set to @c true to match exactly, @n
-        *                                                                              else @c false to match any substring of the text
-        * @param[out]          pMatchedString          The list of the matched string instances @n
-        *                                                              The count of the matched items is acquired from IList::GetCount() and
-        *                                                                              the maximum count of the items is @c 16.
+        * @param[in]           text  The text to match
+        * @param[in]           fullMatch               Set to @c true to match exactly, @n
+        *                                                                      else @c false to match any substring of the text
+        * @param[out]          pMatchedString  A list of the matched string instances @n
+        *                                                      The count of the matched items is acquired from IList::GetCount() and
+        *                                      the maximum count of the items is @c 16.
         * @exception           E_SUCCESS                       The method is successful.
         * @exception           E_INVALID_STATE         This instance has not been constructed as yet.
-        * @exception           E_INVALID_ARG           The length of the specified @c text is @c 0.
+        * @exception           E_INVALID_ARG           The length of the specified @c text parameter is @c 0.
         * @remarks
         *                                      - The specific error code can be accessed using the GetLastResult() method.
-        *                                      - If the grouping subpatterns are used in a pattern, the @c pMatchedString list contains the grouping data. @n
+        *                                      - If the grouping subpatterns are used in a pattern,
+        *                  the @c pMatchedString list will contain the grouping data. @n
         *                                      For example, if the pattern has two grouping subpatterns,
-        *                                      there are three data sets in the @c pMatchedString list.
-        *                                      The first data set contains full grouping data while the second
-        *                                      and third data set contains individual grouping data.
-        *                                      Because this method returns a new instance through an out-parameter @c pMatchedString,
+        *                  there will be three data sets in the @c pMatchedString list. @n
+        *                                      The first data set will be a full grouping data and the second
+        *                      and the third data sets will contain individual grouping data.
+        *                                      Because this method returns a new instance through an out-parameter @c pMatchedString,
         *                                      the caller needs to delete it after use. @n
-        *                                      Setting the element deleter of @c pMatchedString to SingleObjectDeleter is recommended.
+        *                                      Setting the element deleter of @c pMatchedString to SingleObjectDeleter is recommended.
         *
         * The following example demonstrates how to use the %Match() method.
         *
@@ -191,27 +192,26 @@ public:
 
        /**
         * Matches the pattern from the starting point of the text and removes the matched string. @n
-        * If the pattern does not match the text at the starting point, it returns @c false.
+        * If the pattern does not match the text at the starting point, it will return @c false.
         *
         * @since 2.0
         *
         * @return                      @c true if the text matches successfully, @n
         *                                      else @c false
-        * @param[in, out]  text                                The text to consume
-        * @param[out]      pMatchedString              The list of matched string instances  @n
-        *                                      The count of the matched items is acquired from IList::GetCount() and
-        *                                                                      the maximum count of the items is @c 16.
+        * @param[in, out]  text  The text to consume
+        * @param[out]      pMatchedString      A list of matched string instances  @n
+        *                                 The count of the matched items is acquired from IList::GetCount() and
+        *                                                                 the maximum count of the items is @c 16.
         * @exception           E_SUCCESS                       The method is successful.
         * @exception           E_INVALID_STATE         This instance has not been constructed as yet.
-        * @exception           E_INVALID_ARG           The length of the specified @c text is @c 0.
-        * @remarks
-        *                                      - The specific error code can be accessed using the GetLastResult() method.
-        *                                      - If the grouping subpatterns are used in a pattern, the @c pMatchedString list
-        *                                      contains grouping data. @n
+        * @exception           E_INVALID_ARG           The length of the specified @c text parameter is @c 0.
+        * @remarks                     The specific error code can be accessed using the GetLastResult() method.
+        * @remarks                     If the grouping subpatterns are used in a pattern, the @c pMatchedString list will
+        *                              contain the grouping data. @n
         *                                      For example, if the pattern has two grouping subpatterns,
-        *                                      there are three data sets in the @c pMatchedString list. @n
-        *                                      The first data set contains full grouping data while the second
-        *                                      and the third data set contains individual grouping data.
+        *                              there will be three data sets in the @c pMatchedString list. @n
+        *                                      The first data set will be a full grouping data and the second
+        *                              and the third data sets will contain individual grouping data.
         *
         * The following example demonstrates how to use the %Consume() method.
         * @code
@@ -243,21 +243,20 @@ public:
         *
         * @return                      @c true if the text matches successfully, @n
         *                                      else @c false
-        * @param[in, out]      text                            The text to find and consume
-        * @param[out]          pMatchedString          The list of matched string instances @n
-        *                                                      The count of the matched items is acquired from IList::GetCount() and
-        *                                                                              the maximum count of the items is @c 16.
+        * @param[in, out]      text  The text to find and consume
+        * @param[out]          pMatchedString  A list of matched string instances @n
+        *                  The count of the matched items is acquired from IList::GetCount() and
+        *                                              the maximum count of the items is @c 16.
         * @exception           E_SUCCESS                       The method is successful.
         * @exception           E_INVALID_STATE         This instance has not been constructed as yet.
-        * @exception           E_INVALID_ARG           The length of the specified @c text is @c 0.
-        * @remarks
-        *                                      - The specific error code can be accessed using the GetLastResult() method.
-        *                                      - If the grouping subpatterns are used in a pattern,
-        *                                      the @c pMatchedString list contains grouping data. @n
+        * @exception           E_INVALID_ARG           The length of the specified @c text parameter is @c 0.
+        * @remarks                     The specific error code can be accessed using the GetLastResult() method.
+        * @remarks                     If the grouping subpatterns are used in a pattern,
+        *                              the @c pMatchedString list will contain the grouping data. @n
         *                                      For example, if the pattern has two grouping subpatterns,
-        *                                      there are three data sets in the @c pMatchedString list. @n
-        *                                      The first data set contains full grouping data while the second
-        *                                      and the third data sets contains individual grouping data.
+        *                              there will be three data sets in the @c pMatchedString list. @n
+        *                                      The first data set will be a full grouping data and the second
+        *                              and the third data sets will contain individual grouping data.
         *
         * The following example demonstrates how to use the %FindAndConsume() method.
         *
@@ -290,16 +289,15 @@ public:
         *
         * @return                      @c true if the text is replaced successfully, @n
         *                                      else @c false
-        * @param[in, out]      text                            The text to replace when it is matched to a pattern
-        * @param[in]           rewrite                 The text with which to replace
-        * @param[in]           globalReplace           Set to @c true to replace globally, @n
-        *                                                                      else @c false to replace the first match of the pattern in the text
-        * @param[in]           startPos                The starting position of the text
+        * @param[in, out]      text  The text to replace when it is matched to a pattern
+        * @param[in]           rewrite         The text with which to replace
+        * @param[in]           globalReplace   Set to @c true to replace globally, @n
+        *                                                                  else @c false to replace the first match of the pattern in the text
+        * @param[in]           startPos       The starting position of the text
         * @exception           E_SUCCESS                       The method is successful.
         * @exception           E_INVALID_STATE         This instance has not been constructed as yet.
-        * @exception           E_INVALID_ARG           Either of the following conditions has occurred:
-        *                                                                              - The length of the specified @c pattern is @c 0.
-        *                                                                              - The size of @c pMatchedString exceeds the limitations.
+        * @exception           E_INVALID_ARG           The length of the specified @c pattern parameter is @c 0, or
+        *                                                                              the size of @c pMatchedString exceeds limitations.
         * @remarks                     The specific error code can be accessed using the GetLastResult() method.
         *
         * The following example demonstrates how to use the %Replace() method.
@@ -326,14 +324,13 @@ public:
         *
         * @return                      @c true if the text is extracted successfully, @n
         *                                      else @c false
-        * @param[in]           text                            The text to match
-        * @param[in]           rewrite                         The text to replace
-        * @param[out]          out                             The text to extract
+        * @param[in]           text     The text to match
+        * @param[in]           rewrite  The text to replace
+        * @param[out]          out      The text to extract
         * @exception           E_SUCCESS                       The method is successful.
         * @exception           E_INVALID_STATE         This instance has not been constructed as yet.
-        * @exception           E_INVALID_ARG           Either of the following conditions has occurred:
-        *                                                                              - The length of the specified @c pattern is @c 0.
-        *                                                                              - The size of @c pMatchedString exceeds the limitations.
+        * @exception           E_INVALID_ARG           The length of the specified @c pattern parameter is @c 0, or
+        *                                                                              the size of @c pMatchedString exceeds limitations.
         * @remarks                The specific error code can be accessed using the GetLastResult() method.
         *
         * The following example demonstrates how to use the %Extract() method.
@@ -380,8 +377,7 @@ public:
        *
        * @since 2.0
        *
-       * @return       The pattern used to compile the regular expression, @n
-       *                       else an empty string if this instance is not initialized
+       * @return       The pattern used to compile the regular expression @n An empty string if this instance is not initialized
        */
        Tizen::Base::String GetPattern(void) const;
 
@@ -390,9 +386,9 @@ public:
         *
         * @since 2.0
         *
-        * @param[in]           options                 The logical OR operator values of RegularExpressionOptions
+        * @param[in]           options          The logical OR operator values of RegularExpressionOptions
         * @exception           E_SUCCESS                       The method is successful.
-        * @exception           E_INVALID_ARG           The value of the specified @c options is invalid.
+        * @exception           E_INVALID_ARG           The value of @c options is invalid.
         */
        result SetOptions(unsigned long options);
 
index a1e5c06..6d649e4 100644 (file)
 #ifndef _BOOST_UNIQUE_PTR_HPP_
 #define _BOOST_UNIQUE_PTR_HPP_
 
-//#include <memory>
 #include <boost/utility/enable_if.hpp>
-#include <boost/type_traits.hpp>
 #include <boost/static_assert.hpp>
 #include <boost/mpl/if.hpp>
+#include <boost/type_traits/is_reference.hpp>
+#include <boost/type_traits/is_empty.hpp>
+#include <boost/type_traits/remove_reference.hpp>
+#include <boost/type_traits/is_array.hpp>
+#include <boost/type_traits/is_pointer.hpp>
 
 namespace boost
 {
index 6659498..244b604 100644 (file)
@@ -4,6 +4,7 @@
                <provide>
                        <label name="osp::system-service-conf" />
                        <label name="osp::system-service-list" />
+                       <label name="osp::system-server-res" />
                        <label name="osp::system-log" />
                        <label name="osp::user-certs" />
                        <label name="osp::root-certs" />
diff --git a/packaging/osp-appfw.changes b/packaging/osp-appfw.changes
new file mode 100644 (file)
index 0000000..7d05f89
--- /dev/null
@@ -0,0 +1,5 @@
+* Thu May 23 2013 Rusty Lynch <rusty.lynch@intel.com> accepted/tizen/20130522.164623@f27a7d5
+- Reenable debuginfo
+
+* Tue May 21 2013 Rusty Lynch <rusty.lynch@intel.com> accepted/tizen/20130520.101503@1cb15e4
+- Add build dep on libxml-1.0
diff --git a/packaging/osp-appfw.manifest b/packaging/osp-appfw.manifest
new file mode 100644 (file)
index 0000000..017d22d
--- /dev/null
@@ -0,0 +1,5 @@
+<manifest>
+ <request>
+    <domain name="_"/>
+ </request>
+</manifest>
old mode 100644 (file)
new mode 100755 (executable)
index 69254f4..b558e20
@@ -1,36 +1,39 @@
-%define debug_package %{nil}
-%define __strip /bin/true
-
-Name:       osp-appfw
-Summary:    The App Framework library of OSP
-Version:    1.2.2.1
-Release:    1
-Group:      TO_BE/FILLED_IN
-License:    Apache-2.0 or Flora
-Source0:    %{name}-%{version}.tar.gz
+Name:           osp-appfw
+Version:        1.2.2.1
+Release:        1
+License:        Apache-2.0 or Flora
+Summary:        The App Framework library of OSP
+Url:            https://review.tizen.org/git/?p=platform/framework/native/appfw.git;a=summary
+Group:          Application Framework/Libraries
+Source0:        %{name}-%{version}.tar.gz
+Source1001:     osp-appfw.manifest
+BuildRequires:  boost-devel
+BuildRequires:  capi-security-privilege-manager-devel
 BuildRequires:  cmake
+BuildRequires:  gettext-tools
+BuildRequires:  privacy-manager-client-devel
+BuildRequires:  pkgconfig(alarm-service)
+BuildRequires:  pkgconfig(appinfo) >= 0.1.0
+BuildRequires:  pkgconfig(appsvc)
+BuildRequires:  pkgconfig(aul)
+BuildRequires:  pkgconfig(bundle)
+BuildRequires:  pkgconfig(capi-appfw-app-manager)
 BuildRequires:  pkgconfig(capi-appfw-application)
+BuildRequires:  pkgconfig(capi-appfw-package-manager)
 BuildRequires:  pkgconfig(capi-content-mime-type)
+BuildRequires:  pkgconfig(capi-media-sound-manager)
+BuildRequires:  pkgconfig(capi-network-bluetooth)
 BuildRequires:  pkgconfig(capi-network-serial)
+BuildRequires:  pkgconfig(capi-network-tethering)
+BuildRequires:  pkgconfig(capi-network-wifi)
+BuildRequires:  pkgconfig(capi-network-wifi-direct)
 BuildRequires:  pkgconfig(capi-system-device)
 BuildRequires:  pkgconfig(capi-system-info)
+BuildRequires:  pkgconfig(capi-system-media-key)
 BuildRequires:  pkgconfig(capi-system-power)
 BuildRequires:  pkgconfig(capi-system-runtime-info)
 BuildRequires:  pkgconfig(capi-system-system-settings)
-BuildRequires:  pkgconfig(capi-network-bluetooth)
-BuildRequires: pkgconfig(capi-telephony-sim)
-BuildRequires: pkgconfig(capi-network-tethering)
-BuildRequires: pkgconfig(capi-network-wifi)
-BuildRequires: pkgconfig(capi-network-wifi-direct)
-BuildRequires: pkgconfig(wifi-direct)
-BuildRequires: pkgconfig(capi-media-sound-manager)
-BuildRequires:  pkgconfig(capi-system-media-key)
-BuildRequires: pkgconfig(sysman)
-BuildRequires:  pkgconfig(tapi)
-BuildRequires:  pkgconfig(alarm-service)
-BuildRequires:  pkgconfig(appsvc)
-BuildRequires:  pkgconfig(aul)
-BuildRequires:  pkgconfig(bundle)
+BuildRequires:  pkgconfig(capi-telephony-sim)
 BuildRequires:  pkgconfig(chromium)
 BuildRequires:  pkgconfig(dbus-1)
 BuildRequires:  pkgconfig(dbus-glib-1)
@@ -38,20 +41,22 @@ BuildRequires:  pkgconfig(devman)
 BuildRequires:  pkgconfig(dlog)
 BuildRequires:  pkgconfig(dukgenerator)
 BuildRequires:  pkgconfig(ecore)
+BuildRequires:  pkgconfig(edbus)
+BuildRequires:  pkgconfig(edje)
+BuildRequires:  pkgconfig(eet)
+BuildRequires:  pkgconfig(efreet)
+BuildRequires:  pkgconfig(eina)
+BuildRequires:  pkgconfig(elementary)
+BuildRequires:  pkgconfig(ethumb)
+BuildRequires:  pkgconfig(evas)
 BuildRequires:  pkgconfig(glib-2.0)
-BuildRequires: pkgconfig(elementary)
-BuildRequires: pkgconfig(eina)
-BuildRequires: pkgconfig(evas)
-BuildRequires: pkgconfig(edje)
-BuildRequires: pkgconfig(eet)
-BuildRequires: pkgconfig(edbus)
-BuildRequires: pkgconfig(efreet)
-BuildRequires: pkgconfig(ethumb)
+BuildRequires:  pkgconfig(haptic)
 BuildRequires:  pkgconfig(icu-i18n)
 BuildRequires:  pkgconfig(iniparser)
 BuildRequires:  pkgconfig(libpcre)
-BuildRequires:  pkgconfig(libssl)
+BuildRequires:  pkgconfig(libprivilege-control)
 BuildRequires:  pkgconfig(libsoup-2.4)
+BuildRequires:  pkgconfig(libssl)
 BuildRequires:  pkgconfig(libxml-2.0)
 BuildRequires:  pkgconfig(message-port)
 BuildRequires:  pkgconfig(minizip)
@@ -60,50 +65,45 @@ BuildRequires:  pkgconfig(openssl)
 BuildRequires:  pkgconfig(pkgmgr)
 BuildRequires:  pkgconfig(pkgmgr-info)
 BuildRequires:  pkgconfig(pmapi)
-BuildRequires:  pkgconfig(libprivilege-control)
+BuildRequires:  pkgconfig(security-server)
 BuildRequires:  pkgconfig(sqlite3)
+BuildRequires:  pkgconfig(sysman)
+BuildRequires:  pkgconfig(tapi)
 BuildRequires:  pkgconfig(uuid)
 BuildRequires:  pkgconfig(vconf)
-BuildRequires:  pkgconfig(zlib)
-BuildRequires:  pkgconfig(haptic)
+BuildRequires:  pkgconfig(wifi-direct)
 BuildRequires:  pkgconfig(x11)
-BuildRequires:  privacy-manager-client-devel
-BuildRequires:  capi-security-privilege-manager-devel
-BuildRequires:  boost-devel
-BuildRequires:  gettext-tools
-BuildRequires:  pkgconfig(security-server)
-BuildRequires:  pkgconfig(appinfo) >= 0.1.2
+BuildRequires:  pkgconfig(zlib)
 
 # runtime requires
-Requires: capi-appfw-application
-Requires: capi-appfw-package-manager
-Requires: capi-content-mime-type
-Requires: capi-network-serial
-Requires: capi-system-runtime-info
-Requires: capi-security-privilege-manager
-Requires: chromium
-Requires: message-port
-Requires: osp-env-config
-Requires: sqlite
-Requires: iniparser
-
-Provides:   libosp-appfw.so.1
-
-Requires(post): /sbin/ldconfig
-Requires(post): coreutils
-Requires(postun): /sbin/ldconfig
+Requires:       capi-appfw-app-manager
+Requires:       capi-appfw-application
+Requires:       capi-appfw-package-manager
+Requires:       capi-content-mime-type
+Requires:       capi-network-serial
+Requires:       capi-security-privilege-manager
+Requires:       capi-system-runtime-info
+Requires:       chromium
+Requires:       message-port
+Requires:       osp-env-config >= 1.2.2.1
+Requires:       sqlite
+
+Requires(post):                /sbin/ldconfig
+Requires(post):                coreutils
+Requires(postun):      /sbin/ldconfig
 
 %description
 The App Framework library of OSP
 
 %package devel
-Summary:    The App Framework library of OSP (Development)
-Requires:   %{name} = %{version}-%{release}
-Requires: boost-devel
-Requires: pkgconfig(pkgmgr-info)
+Summary:        The App Framework library of OSP (Development)
+Requires:       %{name} = %{version}
+Requires:       boost-devel
+Requires:       pkgconfig(capi-appfw-app-manager)
+Requires:       pkgconfig(pkgmgr-info)
 
 %description devel
-The  App Framework library of OSP (DEV)
+The    App Framework library of OSP (DEV)
 
 %package internal-devel
 Summary:    OSP app framework internal (Internal)
@@ -113,15 +113,9 @@ Requires:   %{name}-devel
 %description internal-devel
 The App Framework library of OSP (Internal-DEV)
 
-%package debug
-Summary:    The App Framework library of OSP (Development)
-Requires:   %{name} = %{version}-%{release}
-
-%description debug
-The App Framework library of OSP (DEV)
-
 %prep
 %setup -q
+cp %{SOURCE1001} .
 
 %build
 MAJORVER=`echo %{version} | awk 'BEGIN {FS="."}{print $1}'`
@@ -141,24 +135,15 @@ MAJORVER=`echo %{version} | awk 'BEGIN {FS="."}{print $1}'`
        CXXFLAGS="$CXXFLAGS -D_SECURE_LOG"
 %endif
 
-cmake . -DCMAKE_INSTALL_PREFIX=%{_prefix} -DOBS=1 -DFULLVER=%{version} -DMAJORVER=${MAJORVER} -DARCH=${ARCH}
+%cmake . -DOBS=1 -DFULLVER=%{version} -DMAJORVER=${MAJORVER} -DARCH=${ARCH}
 
-# Call make instruction with smp support
-#make %{?jobs:-j%jobs}
 make %{?_smp_mflags}
 
-%clean
-rm -rf %{buildroot}
-
 %install
-mkdir -p %{buildroot}/usr/share/license
-cp %{_builddir}/%{name}-%{version}/LICENSE.Flora  %{buildroot}/usr/share/license/%{name}
-cat %{_builddir}/%{name}-%{version}/LICENSE.APLv2 >> %{buildroot}/usr/share/license/%{name}
-
 %make_install
 
+%find_lang osp
 %post
-/bin/rm -f /etc/ld.so.cache
 /sbin/ldconfig
 
 mkdir -p /opt/usr/share/.osp-compat/share/AppControl
@@ -168,7 +153,7 @@ mkdir -p /opt/usr/media/Images
 mkdir -p /opt/usr/media/Others
 mkdir -p /opt/usr/media/Sounds
 mkdir -p /opt/usr/media/Videos
-mkdir -p /opt/usr/media/DCIM/Camera
+mkdir -p /opt/usr/media/Camera
 
 
 mkdir -p /tmp/osp
@@ -181,25 +166,28 @@ chown -R 5000:5000 /opt/usr/media
 locale -a > /opt/usr/etc/clocale.list
 chmod 444 /opt/usr/etc/clocale.list
 
+
 %postun -p /sbin/ldconfig
 
-%files
-%manifest osp-appfw.manifest
-/usr/share/license/%{name}
-%config /etc/*
+%files -f osp.lang
+
+%manifest %{name}.manifest
+%license LICENSE.APLv2 LICENSE.Flora
+%config %{_sysconfdir}/*
 %config /opt/usr/etc/*
 /usr/share/locale/*
-%config /usr/etc/*
-%attr(755,root,app_logging) /usr/bin/nativeinfologctrl
+%config %{_prefix}/etc/*
 %{_libdir}/osp/libosp-appfw.so*
 %{_libdir}/osp-server/libosp-appfw-server.so*
 %{_libdir}/osp-server/libosp-system-server.so*
 
 %files devel
+%manifest %{name}.manifest
 %{_includedir}/osp/*.h
 %{_includedir}/osp/*.hpp
 
 %files internal-devel
+%manifest %{name}.manifest
 %{_includedir}/osp/app/*
 %{_includedir}/osp/base/*
 %{_includedir}/osp/io/*
@@ -208,11 +196,7 @@ chmod 444 /opt/usr/etc/clocale.list
 %{_includedir}/osp/system/*
 %{_includedir}/osp/text/*
 %{_includedir}/osp/server/*
+%{_includedir}/osp/system-server/*
 %{_libdir}/pkgconfig/osp-appfw.pc
 %{_libdir}/pkgconfig/osp-appfw-server.pc
 %{_libdir}/pkgconfig/osp-system-server.pc
-
-%files debug
-%{_libdir}/osp/debug/libosp-appfw.so*
-%{_libdir}/osp-server/debug/libosp-appfw-server.so*
-%{_libdir}/osp-server/debug/libosp-system-server.so*
index 2013365..161d6a1 100644 (file)
@@ -47,7 +47,6 @@ FOREACH(flag ${pkgs_CFLAGS})
        SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag} -Wall -Wno-unused")
 ENDFOREACH(flag)
 
-
 ## Add SubModules
 ADD_SUBDIRECTORY(app)
 ADD_SUBDIRECTORY(io)
index cc12c86..371c47d 100644 (file)
@@ -118,6 +118,10 @@ _OSP_EXPORT_ extern const char IPC_SERVER_NAME[];
 _OSP_EXPORT_ extern const char CONDITION_MANAGER_IPC_NAME[];
 _OSP_EXPORT_ extern const char PACKAGE_MANAGER_IPC_NAME[];
 
+_OSP_EXPORT_ extern const char IPC_SERVER_NAME[];
+_OSP_EXPORT_ extern const char CONDITION_MANAGER_IPC_NAME[];
+_OSP_EXPORT_ extern const char PACKAGE_MANAGER_IPC_NAME[];
+
 } } // Tizen::App
 
 #endif // _FAPP_INTERNAL_TYPES_H_
index c550742..d9767b4 100644 (file)
@@ -48,6 +48,7 @@ TARGET_LINK_LIBRARIES( ${this_target} ${STATIC_LIBS})
 TARGET_LINK_LIBRARIES(${this_target} "-ldl" )
 TARGET_LINK_LIBRARIES(${this_target} "-lpthread" )
 TARGET_LINK_LIBRARIES(${this_target} "-lrt" )
+TARGET_LINK_LIBRARIES(${this_target} "-lappinfo" )
 #TARGET_LINK_LIBRARIES(${this_target} "-ldukgenerator" )
 #TARGET_LINK_LIBRARIES(${this_target} "-lcryptsvc" )
 TARGET_LINK_LIBRARIES(${this_target} "-lprivacy-manager-client" )
@@ -61,16 +62,9 @@ SET_TARGET_PROPERTIES(${this_target}
                SOVERSION ${MAJORVER}
                CLEAN_DIRECT_OUTPUT 1
 )
-ADD_CUSTOM_COMMAND(TARGET ${this_target}
-               POST_BUILD
-               COMMAND ${CMAKE_COMMAND} -E copy ${LIBRARY_OUTPUT_PATH}/${CMAKE_SHARED_LIBRARY_PREFIX}${this_target}${CMAKE_SHARED_LIBRARY_SUFFIX} ${LIBRARY_OUTPUT_PATH}/debug/${CMAKE_SHARED_LIBRARY_PREFIX}${this_target}${CMAKE_SHARED_LIBRARY_SUFFIX}.${FULLVER} 
-               COMMAND ${CMAKE_COMMAND} -E create_symlink ${CMAKE_SHARED_LIBRARY_PREFIX}${this_target}${CMAKE_SHARED_LIBRARY_SUFFIX}.${FULLVER} ${LIBRARY_OUTPUT_PATH}/debug/${CMAKE_SHARED_LIBRARY_PREFIX}${this_target}${CMAKE_SHARED_LIBRARY_SUFFIX}.${MAJORVER}
-               COMMAND ${CMAKE_STRIP} --strip-unneeded ${LIBRARY_OUTPUT_PATH}/${CMAKE_SHARED_LIBRARY_PREFIX}${this_target}${CMAKE_SHARED_LIBRARY_SUFFIX}
-               COMMENT "strip ${this_target}"
-)   
-
 
 SET(PC_NAME ${this_target})
+SET(pc_requires "appinfo")
 SET(PC_REQUIRED ${pc_requires})
 SET(PC_LDFLAGS -l${this_target})
 SET(VERSION ${FULLVER})
index e90d34a..2822816 100755 (executable)
@@ -22,10 +22,13 @@ SET (${this_target}_SOURCE_FILES
        FBaseErrors.cpp
        FBaseFloat.cpp
        FBaseFloatComparer.cpp
+       FBaseImmutableString.cpp
        FBaseInt8.cpp
        FBaseInt8Comparer.cpp
+       FBaseInteger8.cpp
        FBaseInteger.cpp
        FBaseIntegerComparer.cpp
+       FBaseInteger8Comparer.cpp
        FBaseLong.cpp
        FBaseLongComparer.cpp
        FBaseLongLong.cpp
@@ -38,6 +41,7 @@ SET (${this_target}_SOURCE_FILES
        FBaseString.cpp
        FBaseStringComparer.cpp
        FBaseStringHashCodeProvider.cpp
+       FBase_StringBuffer.cpp
        FBase_StringConverter.cpp
        FBaseSys.cpp
        FBaseTimeSpan.cpp
@@ -52,6 +56,7 @@ SET (${this_target}_SOURCE_FILES
        FBaseDoubleMatrix3.cpp
        FBaseDoubleMatrix4.cpp
        FBaseIntMatrix.cpp
+       FBase_NumberUtil.cpp
        collection/FBaseColMapEntry.cpp
        collection/FBaseColQueue.cpp
        collection/FBaseColLinkedList.cpp
index 8aebf82..2f7554b 100644 (file)
@@ -209,11 +209,24 @@ Double::ToString(void) const
 }
 
 String
+Double::ToString(int precision) const
+{
+       return Double::ToString(value, precision);
+}
+
+String
 Double::ToString(double value)
 {
        return _LocalizedNumParser::ToString(value, "");
 }
 
+String
+Double::ToString(double value, int precision)
+{
+       return _LocalizedNumParser::ToString(value, "", precision);
+}
+
+
 long long
 Double::ToBits(double value)
 {
index 800af2e..6ed2b0f 100644 (file)
@@ -203,11 +203,24 @@ Float::ToString(void) const
 }
 
 String
+Float::ToString(int precision) const
+{
+       return Float::ToString(value, precision);
+}
+
+String
 Float::ToString(float value)
 {
        return _LocalizedNumParser::ToString(value, "");
 }
 
+String
+Float::ToString(float value, int precision)
+{
+       return _LocalizedNumParser::ToString(value, "", precision);
+}
+
+
 int
 Float::ToBits(float value)
 {
diff --git a/src/base/FBaseImmutableString.cpp b/src/base/FBaseImmutableString.cpp
new file mode 100644 (file)
index 0000000..ff1736d
--- /dev/null
@@ -0,0 +1,554 @@
+//
+// Copyright (c) 2013 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.
+// You may obtain a copy of the License at
+//
+//     http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+/**
+ * @file       FBaseImmutableString.cpp
+ * @brief      This is the implementation for ImmutableString class.
+ */
+#include <wchar.h>
+#include <stdarg.h>
+#include <new>
+#include <FBaseImmutableString.h>
+#include <FBase_StringBuffer.h>
+#include <FBaseResult.h>
+#include <FBaseSysLog.h>
+#include <unique_ptr.h>
+#include "FBaseUtil_AtomicOperations.h"
+
+namespace Tizen { namespace Base
+{
+
+ImmutableString::ImmutableString(const wchar_t* pStr)
+       : __pImpl(new (std::nothrow) _StringBuffer(pStr))
+{
+       SysTryReturnVoidResult(NID_BASE, __pImpl != null, E_OUT_OF_MEMORY, "[%s] Memory allocation failed.", GetErrorMessage(E_OUT_OF_MEMORY));
+}
+
+ImmutableString::ImmutableString(const char* pStr)
+       : __pImpl(new (std::nothrow) _StringBuffer(pStr))
+{
+       SysTryReturnVoidResult(NID_BASE, __pImpl != null, E_OUT_OF_MEMORY, "[%s] Memory allocation failed.", GetErrorMessage(E_OUT_OF_MEMORY));
+}
+
+ImmutableString::ImmutableString(const String& value)
+       : __pImpl(new (std::nothrow) _StringBuffer(value))
+{
+       SysTryReturnVoidResult(NID_BASE, __pImpl != null, E_OUT_OF_MEMORY, "[%s] Memory allocation failed.", GetErrorMessage(E_OUT_OF_MEMORY));
+}
+
+ImmutableString::ImmutableString(const ImmutableString& value)
+       : __pImpl(null)
+{
+       Utility::_AtomicOperations::AtomicInc(&(value.__pImpl->__refCount));
+       __pImpl = value.__pImpl;
+}
+
+ImmutableString::~ImmutableString(void)
+{
+       if (__pImpl->__refCount > 1)
+       {
+               Utility::_AtomicOperations::AtomicDec(&(__pImpl->__refCount));
+               __pImpl = null;
+       }
+       else
+       {
+               delete __pImpl;
+       }
+}
+
+wchar_t
+ImmutableString::operator [](int index) const
+{
+       return __pImpl->__pValue[index];
+}
+
+ImmutableString
+ImmutableString::Append(const ImmutableString& str) const
+{
+       ClearLastResult();
+       return ImmutableString(__pImpl->__pValue, str.GetPointer());
+}
+
+int
+ImmutableString::CompareTo(const ImmutableString& str) const
+{
+       if (__pImpl->__pValue == str.__pImpl->__pValue)
+       {
+               return 0;
+       }
+
+       return wcscmp(__pImpl->__pValue, str.__pImpl->__pValue);
+}
+
+bool
+ImmutableString::Contains(const ImmutableString& str) const
+{
+       return (wcsstr(__pImpl->__pValue, str.__pImpl->__pValue) != null);
+}
+
+bool
+ImmutableString::EndsWith(const ImmutableString& str) const
+{
+       int strLen = str.__pImpl->__length;
+       SysTryReturn(NID_BASE, strLen > 0, false, E_INVALID_ARG,
+               "[%s] Invalid argument is used. The length of str(%d) MUST be greater than 0.", GetErrorMessage(E_INVALID_ARG), strLen);
+
+       SetLastResult(E_SUCCESS);
+
+       int curLen = __pImpl->__length;
+       if (strLen > curLen || curLen == 0)
+       {
+               return false;
+       }
+       else if (wcscmp(__pImpl->__pValue + (curLen - strLen), str.__pImpl->__pValue) == 0)
+       {
+               return true;
+       }
+
+       return false;
+}
+
+bool
+ImmutableString::Equals(const Object& obj) const
+{
+       const ImmutableString* pOther = dynamic_cast< const ImmutableString* >(&obj);
+
+       if (pOther == null)
+       {
+               return false;
+       }
+
+       if (__pImpl->__length != pOther->__pImpl->__length)
+       {
+               return false;
+       }
+
+       return (CompareTo(*pOther) == 0);
+}
+
+bool
+ImmutableString::EqualsCaseInsensitive(const ImmutableString& str) const
+{
+       if (__pImpl->__length != str.__pImpl->__length)
+       {
+               return false;
+       }
+
+       if (__pImpl->__pValue == str.__pImpl->__pValue)
+       {
+               return true;
+       }
+
+       if (wcscasecmp(__pImpl->__pValue, str.__pImpl->__pValue) == 0)
+       {
+               return true;
+       }
+
+       return false;
+}
+
+ImmutableString
+ImmutableString::Format(int length, const wchar_t* pFormat, ...)
+{
+       ClearLastResult();
+       SysTryReturn(NID_BASE, pFormat != null, ImmutableString(L""), E_INVALID_ARG, "[%s] The pFormat is null.", GetErrorMessage(E_INVALID_ARG));
+       SysTryReturn(NID_BASE, length >= 0, ImmutableString(L""), E_INVALID_ARG,
+               "[%s] The length(%d) MUST be greater than or equal to 0.", GetErrorMessage(E_INVALID_ARG), length);
+
+       if ((*pFormat == L'\0') || (length == 0))
+       {
+               return ImmutableString(L"");
+       }
+
+       // Check "%n" and "%hn"
+       SysTryReturn(NID_BASE, wcsstr(pFormat, L"%n") == null, ImmutableString(L""), E_INVALID_ARG,
+               "[%s] (%ls) is not supported format.", GetErrorMessage(E_INVALID_ARG), pFormat);
+       SysTryReturn(NID_BASE, wcsstr(pFormat, L"%hn") == null, ImmutableString(L""), E_INVALID_ARG,
+               "[%s] (%ls) is not supported format.", GetErrorMessage(E_INVALID_ARG), pFormat);
+
+       va_list args;
+       va_start(args, pFormat);
+
+       _StringBuffer* pBuf = _StringBuffer::Format(length, pFormat, args);
+
+       va_end(args);
+
+       SysTryReturn(NID_BASE, pBuf != null, ImmutableString(pBuf), E_OUT_OF_MEMORY, "[%s] Memory allocation failed.", GetErrorMessage(E_OUT_OF_MEMORY));
+
+       return ImmutableString(pBuf);
+}
+
+result
+ImmutableString::GetCharAt(int indexAt, wchar_t& ret) const
+{
+       SysTryReturnResult(NID_BASE, indexAt < __pImpl->__length, E_OUT_OF_RANGE,
+               "The indexAt(%d) MUST be less than the length of this ImmutableString(%d).", indexAt, __pImpl->__length);
+       SysTryReturnResult(NID_BASE, indexAt >= 0, E_OUT_OF_RANGE,
+               "The indexAt(%d) MUST be greater than or equal to 0.", indexAt);
+
+       ret = __pImpl->__pValue[indexAt];
+       return E_SUCCESS;
+}
+
+int
+ImmutableString::GetHashCode(void) const
+{
+       if (__pImpl->__length == 0)
+       {
+               return 0;
+       }
+
+       if (__pImpl->__hash == 0)
+       {
+               __pImpl->__hash = __pImpl->GetHashCode(__pImpl->__pValue);
+       }
+       return __pImpl->__hash;
+}
+
+int
+ImmutableString::GetLength(void) const
+{
+       return __pImpl->__length;
+}
+
+const wchar_t*
+ImmutableString::GetPointer(void) const
+{
+       return __pImpl->__pValue;
+}
+
+result
+ImmutableString::IndexOf(wchar_t ch, int startIndex, int& indexOf) const
+{
+       SysTryReturnResult(NID_BASE, startIndex < __pImpl->__length, E_OUT_OF_RANGE,
+               "The startIndex(%d) MUST be less than the length of this ImmutableString(%d).", startIndex, __pImpl->__length);
+       SysTryReturnResult(NID_BASE, startIndex >= 0, E_OUT_OF_RANGE,
+               "The startIndex(%d) MUST be greater than or equal to 0.", startIndex);
+
+       wchar_t* pBeg = __pImpl->__pValue + startIndex;
+       wchar_t* pFound = wcschr(pBeg, ch);
+
+
+       SysTryReturnResult(NID_BASE, pFound, E_OBJ_NOT_FOUND, "[%s] The expected wchar_t character is not found.",
+               GetErrorMessage(E_OBJ_NOT_FOUND), ch);
+
+
+       indexOf = static_cast< int >(pFound - __pImpl->__pValue);
+       return E_SUCCESS;
+}
+
+result
+ImmutableString::IndexOf(const ImmutableString& str, int startIndex, int& indexOf) const
+{
+       SysTryReturnResult(NID_BASE, startIndex < __pImpl->__length, E_OUT_OF_RANGE,
+               "The startIndex(%d) MUST be less than the length of this ImmutableString(%d).", startIndex, __pImpl->__length);
+       SysTryReturnResult(NID_BASE, startIndex >= 0, E_OUT_OF_RANGE,
+               "The startIndex(%d) MUST be greater than or equal to 0.", startIndex);
+
+       if (str.IsEmpty())
+       {
+               indexOf = startIndex;
+               return E_SUCCESS;
+       }
+
+       SysTryReturnResult(NID_BASE, __pImpl->__length >= str.__pImpl->__length, E_OBJ_NOT_FOUND, "[%s] The expected wchar_t string is not found.",
+               GetErrorMessage(E_OBJ_NOT_FOUND), str.GetPointer());
+
+       wchar_t* pStr = wcsstr(__pImpl->__pValue + startIndex, str.__pImpl->__pValue);
+
+       SysTryReturnResult(NID_BASE, pStr, E_OBJ_NOT_FOUND, "[%s] The expected wchar_t string is not found.",
+               GetErrorMessage(E_OBJ_NOT_FOUND), str.GetPointer());
+
+       indexOf = static_cast< int >(pStr - __pImpl->__pValue);
+       return E_SUCCESS;
+}
+
+ImmutableString
+ImmutableString::Insert(const ImmutableString& str, int indexAt) const
+{
+       ClearLastResult();
+       SysTryReturn(NID_BASE, (indexAt >= 0) && (indexAt <= __pImpl->__length), ImmutableString(L""), E_OUT_OF_RANGE,
+               "[%s] The index(%d) MUST be greater than or equal to 0, and less than the length of this ImmutableString(%d).",
+               GetErrorMessage(E_OUT_OF_RANGE), indexAt, __pImpl->__length);
+
+       _StringBuffer* pBuf = __pImpl->Insert(str.__pImpl, indexAt);
+
+       SysTryReturn(NID_BASE, pBuf != null, ImmutableString(pBuf), E_OUT_OF_MEMORY, "[%s] Memory allocation failed.", GetErrorMessage(E_OUT_OF_MEMORY));
+
+       return ImmutableString(pBuf);
+}
+
+bool
+ImmutableString::IsEmpty(void) const
+{
+       return (__pImpl->__length == 0);
+}
+
+result
+ImmutableString::LastIndexOf(wchar_t ch, int startIndex, int& indexOf) const
+{
+       SysTryReturnResult(NID_BASE, startIndex >= 0 && startIndex < __pImpl->__length, E_OUT_OF_RANGE,
+               "The startIndex(%d) MUST be greater than or equal to 0, and less than the length of this ImmutableString(%d).",
+               startIndex, __pImpl->__length);
+
+       wchar_t* pBeg = __pImpl->__pValue + startIndex;
+       wchar_t* pEnd = __pImpl->__pValue;
+       while (pEnd <= pBeg)
+       {
+               if (*pBeg == ch)
+               {
+                       indexOf = static_cast< int >(pBeg - __pImpl->__pValue);
+                       return E_SUCCESS;
+               }
+               --pBeg;
+       }
+
+       SysTryReturnResult(NID_BASE, false, E_OBJ_NOT_FOUND, "[%s] The expected wchar_t character is not found.",
+               GetErrorMessage(E_OBJ_NOT_FOUND), ch);
+}
+
+result
+ImmutableString::LastIndexOf(const ImmutableString& str, int startIndex, int& indexOf) const
+{
+       SysTryReturnResult(NID_BASE, startIndex >= 0 && startIndex < __pImpl->__length, E_OUT_OF_RANGE,
+               "The startIndex(%d) MUST be greater than or equal to 0, and less than the length of this ImmutableString(%d).",
+               startIndex, __pImpl->__length);
+
+       if (str.IsEmpty())
+       {
+               indexOf = startIndex;
+               return E_SUCCESS;
+       }
+
+       SysTryReturnResult(NID_BASE, __pImpl->__length >= str.__pImpl->__length, E_OBJ_NOT_FOUND, "[%s] The expected wchar_t string is not found.",
+               GetErrorMessage(E_OBJ_NOT_FOUND), str.GetPointer());
+
+       const wchar_t* pStr = str.__pImpl->__pValue;
+
+       int length = str.__pImpl->__length;
+
+       SysTryReturnResult(NID_BASE, length <= startIndex, E_OBJ_NOT_FOUND, "[%s] The expected wchar_t string is not found.",
+               GetErrorMessage(E_OBJ_NOT_FOUND), str.GetPointer());
+
+       wchar_t* pBeg = __pImpl->__pValue + startIndex;
+       wchar_t* pEnd = __pImpl->__pValue;
+
+       while (pBeg >= pEnd)
+       {
+               if (wcsncmp(pBeg, pStr, length) == 0)
+               {
+                       indexOf = (pBeg - __pImpl->__pValue);
+
+                       return E_SUCCESS;
+               }
+               --pBeg;
+       }
+
+       SysTryReturnResult(NID_BASE, false, E_OBJ_NOT_FOUND, "[%s] The expected wchar_t string is not found.",
+               GetErrorMessage(E_OBJ_NOT_FOUND), str.GetPointer());
+}
+
+ImmutableString
+ImmutableString::Remove(int startIndex, int length) const
+{
+       ClearLastResult();
+       SysTryReturn(NID_BASE, ((startIndex >= 0) && (startIndex < __pImpl->__length)), ImmutableString(L""), E_OUT_OF_RANGE,
+               "[%s] The startIndex(%d) MUST be greater than or equal to 0, and less than the length of this ImmutableString(%d).",
+               GetErrorMessage(E_OUT_OF_RANGE), startIndex, __pImpl->__length);
+
+       SysTryReturn(NID_BASE, length >= 0, ImmutableString(L""), E_OUT_OF_RANGE,
+               "[%s] The length(%d) MUST be geater than or equal to 0.", GetErrorMessage(E_OUT_OF_RANGE), length);
+
+       int moveIndex = startIndex + length;
+       SysTryReturn(NID_BASE, moveIndex <= __pImpl->__length, ImmutableString(L""), E_OUT_OF_RANGE,
+               "[%s] The startIndex(%d) + length(%d) MUST be less than or equal to the length of this ImmutableString(%d).",
+               GetErrorMessage(E_OUT_OF_RANGE), startIndex, length, __pImpl->__length);
+
+       _StringBuffer* pBuf = __pImpl->Remove(startIndex, length);
+
+       SysTryReturn(NID_BASE, pBuf != null, ImmutableString(pBuf), E_OUT_OF_MEMORY, "[%s] Memory allocation failed.", GetErrorMessage(E_OUT_OF_MEMORY));
+
+       return ImmutableString(pBuf);
+}
+
+ImmutableString
+ImmutableString::Replace(wchar_t original, wchar_t replace) const
+{
+       ClearLastResult();
+       _StringBuffer* pBuf = __pImpl->Replace(original, replace);
+
+       SysTryReturn(NID_BASE, pBuf != null, ImmutableString(pBuf), E_OUT_OF_MEMORY, "[%s] Memory allocation failed.", GetErrorMessage(E_OUT_OF_MEMORY));
+
+       return ImmutableString(pBuf);
+}
+
+ImmutableString
+ImmutableString::Replace(const ImmutableString& org, const ImmutableString& rep, int startIndex) const
+{
+       ClearLastResult();
+       const int orgLen = org.__pImpl->__length;
+       SysTryReturn(NID_BASE, orgLen > 0, ImmutableString(L""), E_INVALID_ARG, "[%s] The length of org(%d) MUST be greater than 0.",
+               GetErrorMessage(E_INVALID_ARG), orgLen);
+
+       SysTryReturn(NID_BASE, startIndex >= 0 && startIndex < __pImpl->__length, ImmutableString(L""), E_OUT_OF_RANGE,
+               "[%s] The startIndex(%d) MUST be greater than or equal to 0, and less than the length of this ImmutableString(%d).",
+               GetErrorMessage(E_OUT_OF_RANGE), startIndex, __pImpl->__length);
+
+       SysTryReturn(NID_BASE, orgLen + startIndex <= __pImpl->__length, ImmutableString(L""), E_OUT_OF_RANGE,
+               "[%s] The length of org(%d) + startIndex(%d) MUST be less than or equal to the length of this ImmutableString(%d).",
+               GetErrorMessage(E_OUT_OF_RANGE), org.__pImpl->__length, startIndex, __pImpl->__length);
+
+       _StringBuffer* pBuf = __pImpl->Replace(org.__pImpl, rep.__pImpl, startIndex);
+
+       SysTryReturn(NID_BASE, pBuf != null, ImmutableString(pBuf), E_OUT_OF_MEMORY, "[%s] Memory allocation failed.", GetErrorMessage(E_OUT_OF_MEMORY));
+
+       return ImmutableString(pBuf);
+}
+
+ImmutableString
+ImmutableString::Replace(const ImmutableString& org, const ImmutableString& rep) const
+{
+       return Replace(org, rep, 0);
+}
+
+ImmutableString
+ImmutableString::Reverse(void) const
+{
+       ClearLastResult();
+       _StringBuffer* pBuf = __pImpl->Reverse();
+
+       SysTryReturn(NID_BASE, pBuf != null, ImmutableString(pBuf), E_OUT_OF_MEMORY, "[%s] Memory allocation failed.", GetErrorMessage(E_OUT_OF_MEMORY));
+
+       return ImmutableString(pBuf);
+}
+
+ImmutableString
+ImmutableString::SetCharAt(wchar_t ch, int indexAt) const
+{
+       ClearLastResult();
+       SysTryReturn(NID_BASE, indexAt >= 0 && indexAt < __pImpl->__length, ImmutableString(L""), E_OUT_OF_RANGE,
+               "[%s] The indexAt(%d) MUST be greater than or equal to 0, and less then the length of this string(%d).",
+               GetErrorMessage(E_OUT_OF_RANGE), indexAt, __pImpl->__length);
+
+       _StringBuffer* pBuf = __pImpl->SetCharAt(ch, indexAt);
+
+       SysTryReturn(NID_BASE, pBuf != null, ImmutableString(pBuf), E_OUT_OF_MEMORY, "[%s] Memory allocation failed.", GetErrorMessage(E_OUT_OF_MEMORY));
+
+       return ImmutableString(pBuf);
+}
+
+bool
+ImmutableString::StartsWith(const ImmutableString& str, int startIndex) const
+{
+       ClearLastResult();
+       SysTryReturn(NID_BASE, startIndex >= 0 && startIndex < __pImpl->__length, false, E_OUT_OF_RANGE,
+               "[%s] The startIndex(%d) MUST be greater than or equal to 0, and less than the length of this string(%d).",
+               GetErrorMessage(E_OUT_OF_RANGE), startIndex, __pImpl->__length);
+
+       if (str.__pImpl->__length > __pImpl->__length)
+       {
+               return false;
+       }
+
+       if ((wcsncmp(__pImpl->__pValue + startIndex, str.__pImpl->__pValue, str.__pImpl->__length) == 0))
+       {
+               return true;
+       }
+       return false;
+}
+
+bool
+ImmutableString::StartsWith(const ImmutableString& str) const
+{
+       return StartsWith(str, 0);
+}
+
+ImmutableString
+ImmutableString::SubString(int startIndex) const
+{
+       ClearLastResult();
+       SysTryReturn(NID_BASE, startIndex >= 0 && startIndex < __pImpl->__length, ImmutableString(L""), E_OUT_OF_RANGE,
+               "[%s] The startIndex(%d) MUST be greater than or equal to 0, and less than the length of this ImmutableString(%d).",
+               GetErrorMessage(E_OUT_OF_RANGE), startIndex, __pImpl->__length);
+
+       return SubString(startIndex, __pImpl->__length - startIndex);
+}
+
+ImmutableString
+ImmutableString::SubString(int startIndex, int length) const
+{
+       ClearLastResult();
+       SysTryReturn(NID_BASE, startIndex >= 0 && startIndex < __pImpl->__length, ImmutableString(L""), E_OUT_OF_RANGE,
+               "[%s] The startIndex(%d) MUST be greater than or equal to 0, and less than the length of this ImmutableString(%d).",
+               GetErrorMessage(E_OUT_OF_RANGE), startIndex, __pImpl->__length);
+       SysTryReturn(NID_BASE, length >= 0, ImmutableString(L""), E_OUT_OF_RANGE,
+               "[%s] The length(%d) MUST be greater than 0.", GetErrorMessage(E_OUT_OF_RANGE), length);
+       SysTryReturn(NID_BASE, startIndex + length <= __pImpl->__length, ImmutableString(L""), E_OUT_OF_RANGE,
+               "[%s] The startIndex(%d) + length(%d) MUST be less than or equal to the length of this ImmutableString(%d).",
+               GetErrorMessage(E_OUT_OF_RANGE), startIndex, length, __pImpl->__length);
+
+       _StringBuffer* pBuf = __pImpl->SubString(startIndex, length);
+
+       SysTryReturn(NID_BASE, pBuf != null, ImmutableString(pBuf), E_OUT_OF_MEMORY, "[%s] Memory allocation failed.", GetErrorMessage(E_OUT_OF_MEMORY));
+
+       return ImmutableString(pBuf);
+}
+
+ImmutableString
+ImmutableString::ToUpperCase(void) const
+{
+       ClearLastResult();
+       _StringBuffer* pBuf = __pImpl->ToUpperCase();
+
+       SysTryReturn(NID_BASE, pBuf != null, ImmutableString(pBuf), E_OUT_OF_MEMORY, "[%s] Memory allocation failed.", GetErrorMessage(E_OUT_OF_MEMORY));
+
+       return ImmutableString(pBuf);
+}
+
+ImmutableString
+ImmutableString::ToLowerCase(void) const
+{
+       ClearLastResult();
+       _StringBuffer* pBuf = __pImpl->ToLowerCase();
+
+       SysTryReturn(NID_BASE, pBuf != null, ImmutableString(pBuf), E_OUT_OF_MEMORY, "[%s] Memory allocation failed.", GetErrorMessage(E_OUT_OF_MEMORY));
+
+       return ImmutableString(pBuf);
+}
+
+ImmutableString
+ImmutableString::Trim(void) const
+{
+       ClearLastResult();
+       _StringBuffer* pBuf = __pImpl->Trim();
+
+       SysTryReturn(NID_BASE, pBuf != null, ImmutableString(pBuf), E_OUT_OF_MEMORY, "[%s] Memory allocation failed.", GetErrorMessage(E_OUT_OF_MEMORY));
+
+       return ImmutableString(pBuf);
+}
+
+ImmutableString::ImmutableString(const wchar_t* pStr1, const wchar_t* pStr2)
+       : __pImpl(new (std::nothrow) _StringBuffer(pStr1, pStr2))
+{
+       SysTryReturnVoidResult(NID_BASE, __pImpl != null, E_OUT_OF_MEMORY, "[%s] Memory allocation failed.", GetErrorMessage(E_OUT_OF_MEMORY));
+}
+
+ImmutableString::ImmutableString(_StringBuffer* pBuf)
+       : __pImpl(pBuf)
+{
+}
+
+}} //Tizen::Base
index 8307d9a..e988535 100644 (file)
 #include <FBaseResult.h>
 #include <FBaseCharacter.h>
 #include <FBaseSysLog.h>
+#include "FBase_NumberUtil.h"
+#include "FApp_AppInfo.h"
 
 namespace Tizen { namespace Base
 {
 
 Int8::Int8(char value)
-       : value((signed char)value)
+       : value(static_cast< signed char >(value))
        , __pInt8Impl(null)
 {
 }
@@ -95,70 +97,12 @@ Int8::GetHashCode(char val)
 result
 Int8::Decode(const String& s, char& ret)
 {
-       SysTryReturn(NID_BASE, s.GetLength() >= 1, E_NUM_FORMAT, E_NUM_FORMAT,
-               "[%s] The length of input String MUST be greater than 0.", GetErrorMessage(E_NUM_FORMAT));
-
-       long value = 0;
-       int radix = 0;
-       int startIndex = 0;
-       int minLength = 2;
-       wchar_t* pEnd = null;
-       String str(s);
-
-       if (s[0] == L'-' || s[0] == L'+')
-       {
-               startIndex = 1;
-               minLength = 3;
-       }
-
-       // Find radix
-       if (s[startIndex] == L'#')
-       {
-               radix = Character::RADIX_HEXADECIMAL;
-
-               // Remove '#'
-               str.Remove(startIndex, 1);
-       }
-       else if (s[startIndex] == L'0' && (s.GetLength() >= minLength))
-       {
-               if (s[startIndex + 1] == L'x' || s[startIndex + 1] == L'X')
-               {
-                       radix = Character::RADIX_HEXADECIMAL;
-               }
-               else
-               {
-                       radix = Character::RADIX_OCTAL;
-               }
-       }
-       else
-       {
-               radix = Character::RADIX_DECIMAL;
-       }
-
-       result r = E_SUCCESS;
-
-       errno = 0;
-       value = wcstol(str.GetPointer(), &pEnd, radix);
-       SysTryCatch(NID_BASE, (pEnd[0] == 0), r = E_NUM_FORMAT, E_NUM_FORMAT,
-               "[%s] Int8 decode failed. Scan stopped at (%ls).", GetErrorMessage(E_NUM_FORMAT), pEnd);
-       SysTryCatch(NID_BASE, !((value == LONG_MAX || value == LONG_MIN) && (errno != 0)), r = E_NUM_FORMAT, E_NUM_FORMAT,
-               "[%s] Decoded value cannot fit into an Int8.", GetErrorMessage(E_NUM_FORMAT));
-
-CATCH:
-       if (value > Int8::VALUE_MAX)
-       {
-               ret = Int8::VALUE_MAX;
-       }
-       else if (value < (signed char) Int8::VALUE_MIN)
-       {
-               ret = (signed char) Int8::VALUE_MIN;
-       }
-       else
-       {
-               ret = (char) value;
-       }
-
-       return r;
+       long value;
+       result r = _NumberUtil::Decode(s, value);
+       SysTryReturnResult(NID_BASE, r == E_SUCCESS, r, "Propagating.");
+       SysTryReturnResult(NID_BASE, (value >= Int8::VALUE_MIN) && (value <= Int8::VALUE_MAX), E_OUT_OF_RANGE, "The value(%d) is out of range.", value);
+       ret = static_cast< char >(value);
+       return E_SUCCESS;
 }
 
 result
@@ -170,35 +114,11 @@ Int8::Parse(const String& s, char& ret)
 result
 Int8::Parse(const String& s, int radix, char& ret)
 {
-       SysTryReturn(NID_BASE, ((radix == Character::RADIX_BINARY) || (radix == Character::RADIX_OCTAL) ||
-               (radix == Character::RADIX_DECIMAL) || (radix == Character::RADIX_HEXADECIMAL)), E_OUT_OF_RANGE, E_OUT_OF_RANGE,
-               "[%s] The radix(%d) MUST be one of 2, 8, 10 and 16.", GetErrorMessage(E_OUT_OF_RANGE), radix);
-
-       int len = s.GetLength();
-       SysTryReturn(NID_BASE, len > 0, E_NUM_FORMAT, E_NUM_FORMAT, "[%s] The length of input String MUST be greater than 0.",
-               GetErrorMessage(E_NUM_FORMAT));
-
-       errno = 0;
-       wchar_t* pEnd = null;
-       long value = wcstol(s.GetPointer(), &pEnd, radix);
-       SysTryReturn(NID_BASE, pEnd[0] == 0, E_NUM_FORMAT, E_NUM_FORMAT, "[%s] Int8 parse failed. Scan stopped at (%ls).",
-               GetErrorMessage(E_NUM_FORMAT), pEnd);
-       SysTryReturn(NID_BASE, !((value == LONG_MAX || value == LONG_MIN) && (errno != 0)), E_NUM_FORMAT, E_NUM_FORMAT,
-               "[%s] Parsed value cannot fit into an Int8.", GetErrorMessage(E_NUM_FORMAT));
-
-       if (value > Int8::VALUE_MAX)
-       {
-               ret = Int8::VALUE_MAX;
-       }
-       else if (value < static_cast< signed char >(Int8::VALUE_MIN))
-       {
-               ret = static_cast< signed char >(Int8::VALUE_MIN);
-       }
-       else
-       {
-               ret = static_cast< char >(value);
-       }
-
+       long value;
+       result r = _NumberUtil::Parse(s, radix, value);
+       SysTryReturnResult(NID_BASE, r == E_SUCCESS, r, "Propagating.");
+       SysTryReturnResult(NID_BASE, (value >= Int8::VALUE_MIN) && (value <= Int8::VALUE_MAX), E_OUT_OF_RANGE, "The value(%d) is out of range.", value);
+       ret = static_cast< char >(value);
        return E_SUCCESS;
 }
 
@@ -208,6 +128,12 @@ Int8::ToChar(void) const
        return static_cast< char >(value);
 }
 
+int8_t
+Int8::ToInt8(void) const
+{
+       return 0;
+}
+
 short
 Int8::ToShort(void) const
 {
index 12b5fdc..49d0276 100644 (file)
@@ -26,6 +26,7 @@
 #include <FBaseResult.h>
 #include <FBaseCharacter.h>
 #include <FBaseSysLog.h>
+#include "FBase_NumberUtil.h"
 
 namespace Tizen { namespace Base
 {
@@ -84,53 +85,11 @@ Integer::Equals(const Object& obj) const
 result
 Integer::Decode(const String& s, int& ret)
 {
-       SysTryReturn(NID_BASE, s.GetLength() >= 1, E_NUM_FORMAT, E_NUM_FORMAT,
-               "[%s] The length of input String MUST be greater than 0.", GetErrorMessage(E_NUM_FORMAT));
-
-       int radix = 0;
-       int startIndex = 0;
-       int minLength = 2;
-       wchar_t* pEnd = null;
-       String str(s);
-
-       if (s[0] == L'-' || s[0] == L'+')
-       {
-               startIndex = 1;
-               minLength = 3;
-       }
-
-       // Find radix
-       if (s[startIndex] == L'#')
-       {
-               radix = Character::RADIX_HEXADECIMAL;
-
-               // Remove '#'
-               str.Remove(startIndex, 1);
-       }
-       else if (s[startIndex] == L'0' && (s.GetLength() >= minLength))
-       {
-               if (s[startIndex + 1] == L'x' || s[startIndex + 1] == L'X')
-               {
-                       radix = Character::RADIX_HEXADECIMAL;
-               }
-               else
-               {
-                       radix = Character::RADIX_OCTAL;
-               }
-       }
-       else
-       {
-               radix = Character::RADIX_DECIMAL;
-       }
-
-       errno = 0;
-       ret = wcstol(str.GetPointer(), &pEnd, radix);
-       SysTryReturn(NID_BASE, (pEnd[0] == 0), E_NUM_FORMAT, E_NUM_FORMAT,
-               "[%s] Integer decode failed. Scan stopped at (%ls).", GetErrorMessage(E_NUM_FORMAT), pEnd);
-       SysTryReturn(NID_BASE, !((ret == LONG_MAX || ret == LONG_MIN) && (errno != 0)), E_NUM_FORMAT, E_NUM_FORMAT,
-               "[%s] Decoded value cannot fit into an Integer.", GetErrorMessage(E_NUM_FORMAT));
-
-       return E_SUCCESS;
+       long value;
+       result r = _NumberUtil::Decode(s, value);
+       SysTryReturnResult(NID_BASE, r == E_SUCCESS, r, "Propagating.");
+       ret = static_cast< int >(value);
+       return r;
 }
 
 int
@@ -154,23 +113,10 @@ Integer::Parse(const String& s, int& ret)
 result
 Integer::Parse(const String& s, int radix, int& ret)
 {
-       SysTryReturn(NID_BASE, ((radix == Character::RADIX_BINARY) || (radix == Character::RADIX_OCTAL) ||
-               (radix == Character::RADIX_DECIMAL) || (radix == Character::RADIX_HEXADECIMAL)), E_OUT_OF_RANGE, E_OUT_OF_RANGE,
-               "[%s] The radix(%d) MUST be one of 2, 8, 10 and 16.", GetErrorMessage(E_OUT_OF_RANGE), radix);
-
-       int len = s.GetLength();
-       SysTryReturn(NID_BASE, len > 0, E_NUM_FORMAT, E_NUM_FORMAT, "[%s] The length of input String MUST be greater than 0.",
-               GetErrorMessage(E_NUM_FORMAT));
-
-       errno = 0;
-       wchar_t* pEnd = null;
-       int tmpRet = wcstol(s.GetPointer(), &pEnd, radix);
-       SysTryReturn(NID_BASE, pEnd[0] == 0, E_NUM_FORMAT, E_NUM_FORMAT,
-               "[%s] Integer parse failed. Scan stopped at (%ls).", GetErrorMessage(E_NUM_FORMAT), pEnd);
-       SysTryReturn(NID_BASE, !((tmpRet == LONG_MAX || tmpRet == LONG_MIN) && (errno != 0)), E_NUM_FORMAT, E_NUM_FORMAT,
-               "[%s] Parsed value cannot fit into an Integer.", GetErrorMessage(E_NUM_FORMAT));
-
-       ret = tmpRet;
+       long value;
+       result r = _NumberUtil::Parse(s, radix, value);
+       SysTryReturnResult(NID_BASE, r == E_SUCCESS, r, "Propagating.");
+       ret = static_cast< int >(value);
        return E_SUCCESS;
 }
 
@@ -180,6 +126,12 @@ Integer::ToChar(void) const
        return static_cast< char >(value);
 }
 
+int8_t
+Integer::ToInt8(void) const
+{
+       return static_cast< int8_t >(value);
+}
+
 short
 Integer::ToShort(void) const
 {
diff --git a/src/base/FBaseInteger8.cpp b/src/base/FBaseInteger8.cpp
new file mode 100755 (executable)
index 0000000..c3cbcd5
--- /dev/null
@@ -0,0 +1,196 @@
+//
+// Copyright (c) 2013 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.
+// You may obtain a copy of the License at
+//
+//     http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+/**
+ * @file               FBaseInteger8.cpp
+ * @brief              This is the implementation file for Integer8 class.
+ * @see                        Number class
+ */
+#include <wchar.h>
+#include <errno.h>
+#include <limits.h>
+#include <FBaseInteger8.h>
+#include <FBaseResult.h>
+#include <FBaseCharacter.h>
+#include <FBaseSysLog.h>
+#include "FBase_NumberUtil.h"
+#include "FApp_AppInfo.h"
+
+namespace Tizen { namespace Base
+{
+
+Integer8::Integer8(void)
+       : value(0)
+       , __pInteger8Impl(null)
+{
+}
+
+Integer8::Integer8(int8_t val)
+       : value(val)
+       , __pInteger8Impl(null)
+{
+}
+
+Integer8::Integer8(const Integer8& rhs)
+       : value(rhs.value)
+       , __pInteger8Impl(null)
+{
+}
+
+Integer8::~Integer8(void)
+{
+}
+
+Integer8&
+Integer8::operator =(const Integer8& rhs)
+{
+       if (&rhs != this)
+       {
+               value = rhs.value;
+       }
+       return *this;
+}
+
+int
+Integer8::Compare(int8_t i81, int8_t i82)
+{
+       return i81 - i82;
+}
+
+int
+Integer8::CompareTo(const Integer8& rhs) const
+{
+       return Integer8::Compare(this->value, rhs.value);
+}
+
+bool
+Integer8::Equals(const Object& obj) const
+{
+       const Integer8* pOther = dynamic_cast< const Integer8* >(&obj);
+       if (pOther == null)
+       {
+               return false;
+       }
+
+       return value == pOther->value;
+}
+
+int
+Integer8::GetHashCode(void) const
+{
+       return static_cast< int >(value);
+}
+
+int
+Integer8::GetHashCode(int8_t val)
+{
+       return static_cast< int >(val);
+}
+
+result
+Integer8::Decode(const String& inputStr, int8_t& ret)
+{
+       long value;
+       result r = _NumberUtil::Decode(inputStr, value);
+       SysTryReturnResult(NID_BASE, r == E_SUCCESS, r, "Propagating.");
+       SysTryReturnResult(NID_BASE, (value >= Integer8::VALUE_MIN) && (value <= Integer8::VALUE_MAX), E_OUT_OF_RANGE, "The value(%d) is out of range.", value);
+       ret = static_cast< int8_t >(value);
+       return E_SUCCESS;
+}
+
+result
+Integer8::Parse(const String& inputStr, int8_t& ret)
+{
+       return Parse(inputStr, Character::RADIX_DECIMAL, ret);
+}
+
+result
+Integer8::Parse(const String& inputStr, int radix, int8_t& ret)
+{
+       long value;
+       result r = _NumberUtil::Parse(inputStr, radix, value);
+       SysTryReturnResult(NID_BASE, r == E_SUCCESS, r, "Propagating.");
+       SysTryReturnResult(NID_BASE, (value >= Integer8::VALUE_MIN) && (value <= Integer8::VALUE_MAX), E_OUT_OF_RANGE, "The value(%d) is out of range.", value);
+       ret = static_cast< int8_t >(value);
+       return E_SUCCESS;
+}
+
+char
+Integer8::ToChar(void) const
+{
+       return static_cast< signed char >(value);
+}
+
+int8_t
+Integer8::ToInt8(void) const
+{
+       return static_cast< int8_t >(value);
+}
+
+short
+Integer8::ToShort(void) const
+{
+       return static_cast< short >(value);
+}
+
+int
+Integer8::ToInt(void) const
+{
+       return static_cast< int >(value);
+}
+
+long
+Integer8::ToLong(void) const
+{
+       return static_cast< long >(value);
+}
+
+long long
+Integer8::ToLongLong(void) const
+{
+       return static_cast< long long >(value);
+}
+
+float
+Integer8::ToFloat(void) const
+{
+       return static_cast< float >(value);
+}
+
+double
+Integer8::ToDouble(void) const
+{
+       return static_cast< double >(value);
+}
+
+String
+Integer8::ToString(void) const
+{
+       return (Integer8::ToString(value));
+}
+
+String
+Integer8::ToString(int8_t value)
+{
+       const static unsigned int INTEGER8_LENGTH_MAX = 4;
+
+       wchar_t sValue[INTEGER8_LENGTH_MAX + 1] = {0, };
+       swprintf(sValue, INTEGER8_LENGTH_MAX + 1, L"%d", value);
+
+       return String(sValue);
+}
+
+}} //Tizen::Base
diff --git a/src/base/FBaseInteger8Comparer.cpp b/src/base/FBaseInteger8Comparer.cpp
new file mode 100644 (file)
index 0000000..07a23ef
--- /dev/null
@@ -0,0 +1,53 @@
+//
+// Copyright (c) 2013 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.
+// You may obtain a copy of the License at
+//
+//     http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+/**
+ * @file               FBaseInteger8Comparer.cpp
+ * @brief              This is the implementation file for Integer8Comparer class.
+ * @see                        Integer and Tizen::Base::Collection::IComparer
+ */
+#include <FBaseInteger8Comparer.h>
+#include <FBaseInteger8.h>
+#include <FBaseResult.h>
+#include <FBaseSysLog.h>
+
+namespace Tizen { namespace Base
+{
+
+Integer8Comparer::Integer8Comparer(void)
+       : __pInteger8ComparerImpl(null)
+{
+}
+
+Integer8Comparer::~Integer8Comparer(void)
+{
+}
+
+result
+Integer8Comparer::Compare(const Tizen::Base::Object& obj1, const Tizen::Base::Object& obj2, int& cmp) const
+{
+       const Integer8* pInteger1 = dynamic_cast< const Integer8* >(&obj1);
+       const Integer8* pInteger2 = dynamic_cast< const Integer8* >(&obj2);
+
+       SysTryReturnResult(NID_BASE, (pInteger1 != null && pInteger2 != null), E_INVALID_ARG,
+               "Invalid argument is used. Both of the obj1 and obj2 MUST be Integer.");
+
+       cmp = Integer8::Compare(pInteger1->value, pInteger2->value);
+
+       return E_SUCCESS;
+}
+
+}} //Tizen::Base
index 54bee6e..80d7800 100644 (file)
@@ -26,6 +26,7 @@
 #include <FBaseResult.h>
 #include <FBaseCharacter.h>
 #include <FBaseSysLog.h>
+#include "FBase_NumberUtil.h"
 
 namespace Tizen { namespace Base
 {
@@ -95,53 +96,11 @@ Long::GetHashCode(long val)
 result
 Long::Decode(const String& s, long& ret)
 {
-       SysTryReturn(NID_BASE, s.GetLength() >= 1, E_NUM_FORMAT, E_NUM_FORMAT,
-               "[%s] The length of input String MUST be greater than 0.", GetErrorMessage(E_NUM_FORMAT));
-
-       int radix = 0;
-       int startIndex = 0;
-       int minLength = 2;
-       wchar_t* pEnd = null;
-       String str(s);
-
-       if (s[0] == L'-' || s[0] == L'+')
-       {
-               startIndex = 1;
-               minLength = 3;
-       }
-
-       // Find radix
-       if (s[startIndex] == L'#')
-       {
-               radix = Character::RADIX_HEXADECIMAL;
-
-               // Remove '#'
-               str.Remove(startIndex, 1);
-       }
-       else if (s[startIndex] == L'0' && (s.GetLength() >= minLength))
-       {
-               if (s[startIndex + 1] == L'x' || s[startIndex + 1] == L'X')
-               {
-                       radix = Character::RADIX_HEXADECIMAL;
-               }
-               else
-               {
-                       radix = Character::RADIX_OCTAL;
-               }
-       }
-       else
-       {
-               radix = Character::RADIX_DECIMAL;
-       }
-
-       errno = 0;
-       ret = wcstol(str.GetPointer(), &pEnd, radix);
-       SysTryReturn(NID_BASE, (pEnd[0] == 0), E_NUM_FORMAT, E_NUM_FORMAT,
-               "[%s] Long decode failed. Scan stopped at (%ls).", GetErrorMessage(E_NUM_FORMAT), pEnd);
-       SysTryReturn(NID_BASE, !((ret == LONG_MAX || ret == LONG_MIN) && (errno != 0)), E_NUM_FORMAT, E_NUM_FORMAT,
-               "[%s] Decoded value cannot fit into a Long.", GetErrorMessage(E_NUM_FORMAT));
-
-       return E_SUCCESS;
+       long value;
+       result r = _NumberUtil::Decode(s, value);
+       SysTryReturnResult(NID_BASE, r == E_SUCCESS, r, "Propagating.");
+       ret = value;
+       return r;
 }
 
 result
@@ -153,24 +112,11 @@ Long::Parse(const String& s, long& ret)
 result
 Long::Parse(const String& s, int radix, long& ret)
 {
-       SysTryReturn(NID_BASE, ((radix == Character::RADIX_BINARY) || (radix == Character::RADIX_OCTAL) ||
-               (radix == Character::RADIX_DECIMAL) || (radix == Character::RADIX_HEXADECIMAL)), E_OUT_OF_RANGE, E_OUT_OF_RANGE,
-               "[%s] The radix(%d) MUST be one of 2, 8, 10 and 16.", GetErrorMessage(E_OUT_OF_RANGE), radix);
-
-       int len = s.GetLength();
-       SysTryReturn(NID_BASE, len > 0, E_NUM_FORMAT, E_NUM_FORMAT, "[%s] The length of input String MUST be greater than 0.",
-               GetErrorMessage(E_NUM_FORMAT));
-
-       errno = 0;
-       wchar_t* pEnd = null;
-       long tmpRet = wcstol(s.GetPointer(), &pEnd, radix);
-       SysTryReturn(NID_BASE, pEnd[0] == 0, E_NUM_FORMAT, E_NUM_FORMAT, "[%s] Long parse failed. Scan stopped at (%ls).",
-               GetErrorMessage(E_NUM_FORMAT), pEnd);
-       SysTryReturn(NID_BASE, !((tmpRet == LONG_MAX || tmpRet == LONG_MIN) && (errno != 0)), E_NUM_FORMAT, E_NUM_FORMAT,
-               "[%s] Parsed value cannot fit into a Long.", GetErrorMessage(E_NUM_FORMAT));
-
-       ret = tmpRet;
-       return E_SUCCESS;
+       long value;
+       result r = _NumberUtil::Parse(s, radix, value);
+       SysTryReturnResult(NID_BASE, r == E_SUCCESS, r, "Propagating.");
+       ret = value;
+       return r;
 }
 
 char
@@ -179,6 +125,12 @@ Long::ToChar(void) const
        return static_cast< char >(value);
 }
 
+int8_t
+Long::ToInt8(void) const
+{
+       return static_cast< int8_t >(value);
+}
+
 short
 Long::ToShort(void) const
 {
index 98d1ff5..dfea06d 100644 (file)
@@ -26,6 +26,7 @@
 #include <FBaseResult.h>
 #include <FBaseCharacter.h>
 #include <FBaseSysLog.h>
+#include "FBase_NumberUtil.h"
 
 namespace Tizen { namespace Base
 {
@@ -98,6 +99,12 @@ LongLong::ToChar(void) const
        return static_cast< char >(value);
 }
 
+int8_t
+LongLong::ToInt8(void) const
+{
+       return static_cast< int8_t >(value);
+}
+
 short
 LongLong::ToShort(void) const
 {
@@ -154,6 +161,16 @@ LongLong::ToString(long long value)
 }
 
 result
+LongLong::Decode(const String& inputStr, long long& ret)
+{
+       long long value;
+       result r = _NumberUtil::Decode(inputStr, value);
+       SysTryReturnResult(NID_BASE, r == E_SUCCESS, r, "Propagating.");
+       ret = value;
+       return r;
+}
+
+result
 LongLong::Parse(const String& s, long long& ret)
 {
        return Parse(s, Character::RADIX_DECIMAL, ret);
@@ -162,24 +179,11 @@ LongLong::Parse(const String& s, long long& ret)
 result
 LongLong::Parse(const String& s, int radix, long long& ret)
 {
-       SysTryReturnResult(NID_BASE, radix == Character::RADIX_BINARY || radix == Character::RADIX_OCTAL ||
-               radix == Character::RADIX_DECIMAL || radix == Character::RADIX_HEXADECIMAL, E_OUT_OF_RANGE,
-               "[%s] The radix(%d) MUST be one of 2, 8, 10 and 16.", GetErrorMessage(E_OUT_OF_RANGE), radix);
-
-       int len = s.GetLength();
-       SysTryReturnResult(NID_BASE, len > 0, E_NUM_FORMAT, "[%s] The length of input String MUST be greater than 0.",
-               GetErrorMessage(E_NUM_FORMAT));
-
-       errno = 0;
-       wchar_t* pEnd = null;
-       long long tmpRet = wcstoll(s.GetPointer(), &pEnd, radix);
-       SysTryReturnResult(NID_BASE, pEnd[0] == 0, E_NUM_FORMAT, "[%s] LongLong parse failed. Scan stopped at (%ls).",
-               GetErrorMessage(E_NUM_FORMAT), pEnd);
-       SysTryReturnResult(NID_BASE, !(errno == ERANGE && (tmpRet == LLONG_MAX || tmpRet == LLONG_MIN)), E_NUM_FORMAT,
-               "[%s] Parsed value cannot fit into a long long.", GetErrorMessage(E_NUM_FORMAT));
-
-       ret = tmpRet;
-       return E_SUCCESS;
+       long long value;
+       result r = _NumberUtil::Parse(s, radix, value);
+       SysTryReturnResult(NID_BASE, r == E_SUCCESS, r, "Propagating.");
+       ret = value;
+       return r;
 }
 
 }} //Tizen::Base
index a4fbb1f..9160bbe 100644 (file)
@@ -22,6 +22,7 @@
 
 namespace Tizen { namespace Base
 {
+Object* Object::pNullObj = null;
 
 Object::Object(void)
 {
@@ -61,5 +62,4 @@ Object::operator =(const Object& rhs)
 {
        return *this;
 }
-
 }} //Tizen::Base
index 65f976b..9c8e92f 100644 (file)
@@ -230,8 +230,8 @@ const char* __errTable2500[] =
        "E_OUT_OF_MEMORY",          //(ERR_SRC_FRAMEWORK + SET_E_CAUSE(2506))
        "E_OUT_OF_RANGE",           //(ERR_SRC_FRAMEWORK + SET_E_CAUSE(2507))
        "E_OVERFLOW",               //(ERR_SRC_FRAMEWORK + SET_E_CAUSE(2508))
-       "E_OPENGL_ERROR",           //(ERR_SRC_FRAMEWORK + SET_E_CAUSE(2509))
-       "E_OBJ_NOT_REGISTERED"      //(ERR_SRC_FRAMEWORK + SET_E_CAUSE(2510))
+       "E_OPENGL_ERROR",            //(ERR_SRC_FRAMEWORK + SET_E_CAUSE(2509))
+       "E_OBJ_NOT_REGISTERED"  //(ERR_SRC_FRAMEWORK + SET_E_CAUSE(2510))
 };
 
 const char* __errTable2600[] =
index 8221c99..732b075 100644 (file)
@@ -26,6 +26,8 @@
 #include <FBaseResult.h>
 #include <FBaseCharacter.h>
 #include <FBaseSysLog.h>
+#include "FBase_NumberUtil.h"
+#include "FApp_AppInfo.h"
 
 namespace Tizen { namespace Base
 {
@@ -101,70 +103,12 @@ Short::GetHashCode(short val)
 result
 Short::Decode(const String& s, short& ret)
 {
-       SysTryReturn(NID_BASE, s.GetLength() >= 1, E_NUM_FORMAT, E_NUM_FORMAT,
-               "[%s] The length of input String MUST be greater than 0.", GetErrorMessage(E_NUM_FORMAT));
-
-       long value = 0;
-       int radix = 0;
-       int startIndex = 0;
-       int minLength = 2;
-       wchar_t* pEnd = null;
-       String str(s);
-
-       if (s[0] == L'-' || s[0] == L'+')
-       {
-               startIndex = 1;
-               minLength = 3;
-       }
-
-       // Find radix
-       if (s[startIndex] == L'#')
-       {
-               radix = Character::RADIX_HEXADECIMAL;
-
-               // Remove '#'
-               str.Remove(startIndex, 1);
-       }
-       else if (s[startIndex] == L'0' && (s.GetLength() >= minLength))
-       {
-               if (s[startIndex + 1] == L'x' || s[startIndex + 1] == L'X')
-               {
-                       radix = Character::RADIX_HEXADECIMAL;
-               }
-               else
-               {
-                       radix = Character::RADIX_OCTAL;
-               }
-       }
-       else
-       {
-               radix = Character::RADIX_DECIMAL;
-       }
-
-       result r = E_SUCCESS;
-
-       errno = 0;
-       value = wcstol(str.GetPointer(), &pEnd, radix);
-       SysTryCatch(NID_BASE, (pEnd[0] == 0), r = E_NUM_FORMAT, E_NUM_FORMAT,
-               "[%s] Short decode failed. Scan stopped at (%ls).", GetErrorMessage(E_NUM_FORMAT), pEnd);
-       SysTryCatch(NID_BASE, !((value == LONG_MAX || value == LONG_MIN) && (errno != 0)), r = E_NUM_FORMAT, E_NUM_FORMAT,
-               "[%s] Decoded value cannot fit into Short.", GetErrorMessage(E_NUM_FORMAT));
-
-CATCH:
-       if (value > Short::VALUE_MAX)
-       {
-               ret = Short::VALUE_MAX;
-       }
-       else if (value < Short::VALUE_MIN)
-       {
-               ret = Short::VALUE_MIN;
-       }
-       else
-       {
-               ret = (short) value;
-       }
-
-       return r;
+       long value;
+       result r = _NumberUtil::Decode(s, value);
+       SysTryReturnResult(NID_BASE, r == E_SUCCESS, r, "Propagating.");
+       SysTryReturnResult(NID_BASE, (value >= Short::VALUE_MIN) && (value <= Short::VALUE_MAX), E_OUT_OF_RANGE, "The value(%d) is out of range.", value);
+       ret = static_cast< short >(value);
+       return E_SUCCESS;
 }
 
 result
@@ -176,35 +120,11 @@ Short::Parse(const String& s, short& ret)
 result
 Short::Parse(const String& s, int radix, short& ret)
 {
-       SysTryReturn(NID_BASE, ((radix == Character::RADIX_BINARY) || (radix == Character::RADIX_OCTAL) ||
-               (radix == Character::RADIX_DECIMAL) || (radix == Character::RADIX_HEXADECIMAL)), E_OUT_OF_RANGE, E_OUT_OF_RANGE,
-               "[%s] The radix(%d) MUST be one of 2, 8, 10 and 16.", GetErrorMessage(E_OUT_OF_RANGE), radix);
-
-       int len = s.GetLength();
-       SysTryReturn(NID_BASE, len > 0, E_NUM_FORMAT, E_NUM_FORMAT, "[%s] The length of input String MUST be greater than 0.",
-               GetErrorMessage(E_NUM_FORMAT));
-
-       errno = 0;
-       wchar_t* pEnd = null;
-       long value = wcstol(s.GetPointer(), &pEnd, radix);
-       SysTryReturn(NID_BASE, pEnd[0] == 0, E_NUM_FORMAT, E_NUM_FORMAT,
-               "[%s] Short parse failed. Scan stopped at (%ls).", GetErrorMessage(E_NUM_FORMAT), pEnd);
-       SysTryReturn(NID_BASE, !(value > Short::VALUE_MAX || value < Short::VALUE_MIN) || (errno != 0), E_NUM_FORMAT,
-               E_NUM_FORMAT, "[%s] Parsed value cannot fit into Short.", GetErrorMessage(E_NUM_FORMAT));
-
-       if (value > Short::VALUE_MAX)
-       {
-               ret = Short::VALUE_MAX;
-       }
-       else if (value < Short::VALUE_MIN)
-       {
-               ret = Short::VALUE_MIN;
-       }
-       else
-       {
-               ret = static_cast< short >(value);
-       }
-
+       long value;
+       result r = _NumberUtil::Parse(s, radix, value);
+       SysTryReturnResult(NID_BASE, r == E_SUCCESS, r, "Propagating.");
+       SysTryReturnResult(NID_BASE, (value >= Short::VALUE_MIN) && (value <= Short::VALUE_MAX), E_OUT_OF_RANGE, "The value(%d) is out of range.", value);
+       ret = static_cast< short >(value);
        return E_SUCCESS;
 }
 
@@ -214,6 +134,12 @@ Short::ToChar(void) const
        return static_cast< char >(value);
 }
 
+int8_t
+Short::ToInt8(void) const
+{
+       return static_cast< int8_t >(value);
+}
+
 short
 Short::ToShort(void) const
 {
index 32e8e6a..abb38f1 100644 (file)
@@ -284,7 +284,6 @@ String::operator ==(const String& rhs) const
        {
                return false;
        }
-
        return(CompareTo(rhs) == 0);
 }
 
@@ -558,23 +557,29 @@ String::Format(int length, const wchar_t* pFormat, ...)
 int
 String::GetHashCode(void) const
 {
-       int hash = 0;
+       if (__length == 0)
+       {
+               return 0;
+       }
 
        if (__hash == 0)
        {
+               const int DEFAULT_HASH_VALUE = 352654597;
+               const int HASH_MULTIPLIER = 1566083941;
+
+               int num = DEFAULT_HASH_VALUE;
+               int num2 = DEFAULT_HASH_VALUE;
                wchar_t* pStr = __pValue;
-               for (int i = 0; i < __length; ++i)
+               for (int i = __length; i >= 2 ; i -= 4)
                {
-                       hash = (hash << 5) - hash + (int) *pStr++;
+                   num = (((num << 5) + num) + (num >> 27)) ^ pStr[0];
+                   num2 = (((num2 << 5) + num2) + (num2 >> 27)) ^ pStr[1];
+                   pStr += 2;
                }
-               __hash = hash;
+               num = (((num << 5) + num) + (num >> 27)) ^ pStr[0];
+               __hash = num + (num2 * HASH_MULTIPLIER);
        }
-       else
-       {
-               hash = __hash;
-       }
-
-       return hash;
+       return __hash;
 }
 
 result
index 7d5b68d..3a66c0e 100644 (file)
 #include <FBaseSysLog.h>
 #include "FBase_LocalizedNumParser.h"
 
+#define CHECK_NAN_OR_INF_AND_RETURN(value)     \
+       if (std::isnan(value))                  \
+       {                                       \
+               return String(L"NaN");          \
+       }                                       \
+       if (std::isinf(value))                  \
+       {                                       \
+               return String(L"Infinity");     \
+       }
+
 namespace Tizen { namespace Base
 {
 
@@ -105,20 +115,11 @@ String
 _LocalizedNumParser::ToString(double value, const char* pLocale)
 {
        ClearLastResult();
-
-       if (std::isnan(value))
-       {
-               return String(L"NaN");
-       }
-
-       if (std::isinf(value))
-       {
-               return String(L"Infinity");
-       }
+       CHECK_NAN_OR_INF_AND_RETURN(value);
 
        _CLocaleWrapper clocale;
        result r = clocale.Construct(pLocale);
-       SysTryReturn(NID_BASE, r == E_SUCCESS, null, r, "[%s] Propagating.", GetErrorMessage(r));
+       SysTryReturn(NID_BASE, r == E_SUCCESS, String(L""), r, "[%s] Propagating.", GetErrorMessage(r));
 
        wchar_t sValue[DBL_MAX_LENGTH + 1] = {0, };
        swprintf(sValue, sizeof(sValue) / sizeof(sValue[0]), L"%#lg", value);
@@ -127,23 +128,30 @@ _LocalizedNumParser::ToString(double value, const char* pLocale)
 }
 
 String
-_LocalizedNumParser::ToString(float value, const char* pLocale)
+_LocalizedNumParser::ToString(double value, const char* pLocale, int precision)
 {
        ClearLastResult();
+       CHECK_NAN_OR_INF_AND_RETURN(value);
 
-       if (std::isnan(value))
-       {
-               return String(L"NaN");
-       }
+       _CLocaleWrapper clocale;
+       result r = clocale.Construct(pLocale);
+       SysTryReturn(NID_BASE, r == E_SUCCESS, String(L""), r, "[%s] Propagating.", GetErrorMessage(r));
 
-       if (std::isinf(value))
-       {
-               return String(L"Infinity");
-       }
+       wchar_t sValue[DBL_MAX_LENGTH + 1] = {0, };
+       swprintf(sValue, sizeof(sValue) / sizeof(sValue[0]), L"%.*f", precision, value);
+
+       return String(sValue);
+}
+
+String
+_LocalizedNumParser::ToString(float value, const char* pLocale)
+{
+       ClearLastResult();
+       CHECK_NAN_OR_INF_AND_RETURN(value);
 
        _CLocaleWrapper clocale;
        result r = clocale.Construct(pLocale);
-       SysTryReturn(NID_BASE, r == E_SUCCESS, null, r, "[%s] Propagating.", GetErrorMessage(r));
+       SysTryReturn(NID_BASE, r == E_SUCCESS, String(L""), r, "[%s] Propagating.", GetErrorMessage(r));
 
        wchar_t sValue[FLOAT_LENGTH_MAX + 1] = {0, };
        swprintf(sValue, sizeof(sValue) / sizeof(sValue[0]), L"%g", value);
@@ -151,4 +159,19 @@ _LocalizedNumParser::ToString(float value, const char* pLocale)
        return String(sValue);
 }
 
+String
+_LocalizedNumParser::ToString(float value, const char* pLocale, int precision)
+{
+       ClearLastResult();
+       CHECK_NAN_OR_INF_AND_RETURN(value);
+
+       _CLocaleWrapper clocale;
+       result r = clocale.Construct(pLocale);
+       SysTryReturn(NID_BASE, r == E_SUCCESS, String(L""), r, "[%s] Propagating.", GetErrorMessage(r));
+
+       wchar_t sValue[DBL_MAX_LENGTH + 1] = {0, };
+       swprintf(sValue, sizeof(sValue) / sizeof(sValue[0]), L"%.*f", precision, value);
+
+       return String(sValue);
+}
 }}  // Tizen::Base
diff --git a/src/base/FBase_NumberUtil.cpp b/src/base/FBase_NumberUtil.cpp
new file mode 100644 (file)
index 0000000..574c604
--- /dev/null
@@ -0,0 +1,138 @@
+//
+// Copyright (c) 2013 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.
+// You may obtain a copy of the License at
+//
+//     http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+/**
+ * @file               FBase_NumberUtil.cpp
+ * @brief              This is the implementation file for _NumberUtil class.
+ */
+#include <wchar.h>
+#include <errno.h>
+#include <limits.h>
+#include <FBaseInteger8.h>
+#include <FBaseResult.h>
+#include <FBaseCharacter.h>
+#include <FBaseSysLog.h>
+#include "FBase_NumberUtil.h"
+#include "FApp_AppInfo.h"
+
+namespace Tizen { namespace Base
+{
+
+_NumberUtil::~_NumberUtil(void)
+{
+}
+
+result
+_NumberUtil::FindRadix(String& inputStr, int& radix)
+{
+       SysTryReturnResult(NID_BASE, inputStr.GetLength() >= 1, E_NUM_FORMAT, "The length of input String MUST be greater than 0.");
+       int startIndex = 0;
+       int minLength = 2;
+       wchar_t* pEnd = null;
+       if (inputStr[0] == L'-' || inputStr[0] == L'+')
+       {
+               startIndex = 1;
+               minLength = 3;
+       }
+
+       // Find radix
+       if (inputStr[startIndex] == L'#')
+       {
+               radix = Character::RADIX_HEXADECIMAL;
+
+               // Remove '#'
+               inputStr.Remove(startIndex, 1);
+       }
+       else if (inputStr[startIndex] == L'0' && (inputStr.GetLength() >= minLength))
+       {
+               if (inputStr[startIndex + 1] == L'x' || inputStr[startIndex + 1] == L'X')
+               {
+                       radix = Character::RADIX_HEXADECIMAL;
+               }
+               else
+               {
+                       radix = Character::RADIX_OCTAL;
+               }
+       }
+       else
+       {
+               radix = Character::RADIX_DECIMAL;
+       }
+       return E_SUCCESS;
+}
+
+result
+_NumberUtil::Decode(const String& inputStr, long& value)
+{
+       int radix = 0;
+       String str(inputStr);
+       result res = _NumberUtil::FindRadix(str,radix);
+       SysTryReturnResult(NID_BASE, res == E_SUCCESS, res, "Propagating.");
+       res = Parse(str, radix, value);
+       SysTryReturnResult(NID_BASE, res == E_SUCCESS, res, "_NumberUtil decode failed");
+       return E_SUCCESS;
+}
+
+result
+_NumberUtil::Decode(const String& inputStr, long long& value)
+{
+       int radix = 0;
+       String str(inputStr);
+       result res = _NumberUtil::FindRadix(str,radix);
+       SysTryReturnResult(NID_BASE, res == E_SUCCESS, res, "Propagating.");
+       res = Parse(str, radix, value);
+       SysTryReturnResult(NID_BASE, res == E_SUCCESS, res, "_NumberUtil decode failed");
+       return E_SUCCESS;
+}
+
+result
+_NumberUtil::Parse(const String& inputStr, int radix, long& value)
+{
+       SysTryReturnResult(NID_BASE, ((radix >= Character::RADIX_BINARY) && (radix <= 36)), E_OUT_OF_RANGE,
+               "The radix MUST be between 2 and 36.");
+
+       int len = inputStr.GetLength();
+       SysTryReturnResult(NID_BASE, len > 0, E_NUM_FORMAT, "The length of input String MUST be greater than 0.");
+
+       errno = 0;
+       wchar_t* pEnd = null;
+       value = wcstol(inputStr.GetPointer(), &pEnd, radix);
+       int sysErrno = errno;
+
+       SysTryReturnResult(NID_BASE, pEnd[0] == 0, E_NUM_FORMAT, "_NumberUtil parse failed. Scan stopped at (%ls).", pEnd);
+       SysTryReturnResult(NID_BASE, sysErrno !=  ERANGE, E_OUT_OF_RANGE, "Parsed value cannot fit into a long.");
+       return E_SUCCESS;
+}
+
+result
+_NumberUtil::Parse(const String& inputStr, int radix, long long& value)
+{
+       SysTryReturnResult(NID_BASE, ((radix >= Character::RADIX_BINARY) && (radix <= 36)), E_OUT_OF_RANGE,
+               "The radix MUST be between 2 and 36.");
+
+       int len = inputStr.GetLength();
+       SysTryReturnResult(NID_BASE, len > 0, E_NUM_FORMAT, "The length of input String MUST be greater than 0.");
+
+       errno = 0;
+       wchar_t* pEnd = null;
+       value = wcstoll(inputStr.GetPointer(), &pEnd, radix);
+       int sysErrno = errno;
+
+       SysTryReturnResult(NID_BASE, pEnd[0] == 0, E_NUM_FORMAT, "_NumberUtil parse failed. Scan stopped at (%ls).", pEnd);
+       SysTryReturnResult(NID_BASE, sysErrno !=  ERANGE, E_OUT_OF_RANGE, "Parsed value cannot fit into a long long.");
+       return E_SUCCESS;
+}
+}} // Tizen::Base
diff --git a/src/base/FBase_NumberUtil.h b/src/base/FBase_NumberUtil.h
new file mode 100644 (file)
index 0000000..029a701
--- /dev/null
@@ -0,0 +1,186 @@
+//
+// Copyright (c) 2013 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.
+// You may obtain a copy of the License at
+//
+//     http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+/**
+ * @file               FBase_NumberUtil.h
+ * @brief              This is the header file for the _NumberUtil class.
+ *
+ * This header file contains the declarations of the _NumberUtil class.
+ */
+#ifndef _FBASE_INTERNAL_NUMBER_UTIL_H_
+#define _FBASE_INTERNAL_NUMBER_UTIL_H_
+
+#include <FBaseObject.h>
+#include <FBaseString.h>
+
+namespace Tizen { namespace Base
+{
+
+class _NumberUtil
+{
+public:
+       /**
+        * This is the destructor for this class.
+        *
+        * @since 3.0
+        */
+       virtual ~_NumberUtil(void);
+
+       /**
+        *      Decodes a string into a @c signed @c long.
+        *
+        *      @since 3.0
+        *
+        *      @return         An error code
+        *      @param[in]      inputStr        A numeric value
+        *      @param[out]     value           The result of the operation
+        *      @exception      E_SUCCESS       The method is successful.
+        *      @exception      E_NUM_FORMAT    The specified string does not contain a number that can be parsed.
+        *      @exception      E_OUT_OF_RANGE  The decoded string value is not between VALUE_MIN and VALUE_MAX range
+        *      @remarks        This method accepts decimal, hexadecimal, and octal numbers given by the
+        *                              following grammar:
+        *
+        *      @code
+        *      - DecodableString:
+        *              Sign[opt] DecimalNumeral
+        *              Sign[opt] 0x HexDigits
+        *              Sign[opt] 0X HexDigits
+        *              Sign[opt] # HexDigits
+        *              Sign[opt] 0 OctalDigits
+        *      - Sign:
+        *              '-'
+        *      @endcode
+        */
+        static result Decode(const String& inputStr, long& value);
+
+       /**
+        *      Decodes a string into a @c signed @c long long.
+        *
+        *      @since 3.0
+        *
+        *      @return         An error code
+        *      @param[in]      inputStr        A numeric value
+        *      @param[out]     value           The result of the operation
+        *      @exception      E_SUCCESS       The method is successful.
+        *      @exception      E_NUM_FORMAT    The specified string does not contain a number that can be parsed.
+        *      @exception      E_OUT_OF_RANGE  The decoded value is not between VALUE_MIN and VALUE_MAX range
+        *      @remarks        This method accepts decimal, hexadecimal, and octal numbers given by the
+        *                              following grammar:
+        *
+        *      @code
+        *      - DecodableString:
+        *              Sign[opt] DecimalNumeral
+        *              Sign[opt] 0x HexDigits
+        *              Sign[opt] 0X HexDigits
+        *              Sign[opt] # HexDigits
+        *              Sign[opt] 0 OctalDigits
+        *      - Sign:
+        *              '-'
+        *      @endcode
+        */
+        static result Decode(const String& inputStr, long long& value);
+
+       /**
+        *      Parses the specified string representing a numeric value
+        *      using the specified radix and returns the value as @c signed @c long.
+        *
+        *      @since 3.0
+        *
+        *      @return         An error code
+        *      @param[in]      inputStr        A string representing a numeric value
+        *      @param[in]      radix           The radix of the string representing a numeric value @n
+        *                                      Radix ranges in between 2 to 36.
+        *      @param[out]     value           The result of the operation
+        *      @exception      E_SUCCESS       The method is successful.
+        *      @exception      E_NUM_FORMAT    The specified string does not contain a number that can be parsed.
+        *      @exception      E_OUT_OF_RANGE  The specified @c radix is invalid.
+        *                                      The parsed value is not between VALUE_MIN and VALUE_MAX range
+        */
+        static result Parse(const String& inputStr, int radix, long& value);
+
+
+       /**
+        *      Parses the specified string representing a numeric value
+        *      using the specified radix and returns the value as @c signed @c long long.
+        *
+        *      @since 3.0
+        *
+        *      @return         An error code
+        *      @param[in]      inputStr        A string representing a numeric value
+        *      @param[in]      radix           The radix of the string representing a numeric value @n
+        *                                      Radix ranges in between 2 to 36.
+        *      @param[out]     value           The result of the operation
+        *      @exception      E_SUCCESS       The method is successful.
+        *      @exception      E_NUM_FORMAT    The specified string does not contain a number that can be parsed.
+        *      @exception      E_OUT_OF_RANGE  The specified @c radix is invalid.
+        *                                      The parsed value is not between VALUE_MIN and VALUE_MAX range
+        */
+        static result Parse(const String& inputStr, int radix, long long& value);
+
+private:
+       //
+       // This is the default constructor for this class.
+       //
+       // @since 3.0
+       //
+       _NumberUtil();
+
+       //
+       // The implementation of this copy constructor is intentionally blank and declared as private to prohibit copying of objects.
+       //
+       // @since 3.0
+       // @param[in]   rhs     An instance of %_NumberUtil
+       //
+       _NumberUtil(const _NumberUtil& rhs);
+
+       //
+       // The implementation of this copy assignment operator is intentionally blank and declared as private to prohibit copying of objects.
+       //
+       // @since 3.0
+       // @param[in]   rhs     An instance of %_NumberUtil
+       //
+       _NumberUtil& operator =(const _NumberUtil& rhs);
+
+       //
+       //      Finds the radix by parsing the input string.
+       //
+       //      @since 3.0
+       //
+       //      @return         An error code
+       //      @param[in]      inputStr        A numeric value
+       //      @param[out]     radix           radix of the input string
+       //      @exception      E_SUCCESS       The method is successful.
+       //      @exception      E_NUM_FORMAT    The specified string does not contain a number that can be parsed.
+       //      @remarks        This method accepts decimal, hexadecimal, and octal numbers given by the
+       //                              following grammar:
+       //
+       //      @code
+       //      - DecodableString:
+       //              Sign[opt] DecimalNumeral
+       //              Sign[opt] 0x HexDigits
+       //              Sign[opt] 0X HexDigits
+       //              Sign[opt] # HexDigits
+       //              Sign[opt] 0 OctalDigits
+       //      - Sign:
+       //              '-'
+       //      @endcode
+       //
+        static result FindRadix(String& inputStr, int& radix);
+}; // _NumberUtil
+
+}} // Tizen::Base
+
+#endif // _FBASE_INTERNAL_NUMBER_UTIL_H_
diff --git a/src/base/FBase_StringBuffer.cpp b/src/base/FBase_StringBuffer.cpp
new file mode 100644 (file)
index 0000000..eb5efba
--- /dev/null
@@ -0,0 +1,427 @@
+//
+// Copyright (c) 2013 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.
+// You may obtain a copy of the License at
+//
+//     http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+/**
+ * @file               FBase_StringBuffer.cpp
+ * @brief      This is the implementation for _StringBuffer class.
+ */
+
+#include <wchar.h>
+#include <stdlib.h>
+#include <stdio.h>
+#include <stdarg.h>
+#include <new>
+#include <FBaseString.h>
+#include <FBaseCharacter.h>
+#include <FBaseImmutableString.h>
+#include <FBase_StringBuffer.h>
+#include <unique_ptr.h>
+#include <FBaseResult.h>
+#include <FBaseSysLog.h>
+#include "FBaseUtil_IcuConverter.h"
+
+namespace Tizen { namespace Base
+{
+
+_StringBuffer::_StringBuffer(const wchar_t* pStr)
+       : __pValue(null)
+       , __length(0)
+       , __hash(0)
+       , __refCount(1)
+{
+       if (pStr)
+       {
+               int length = wcslen(pStr);
+               __pValue = new (std::nothrow) wchar_t[length + 1];
+               SysTryReturnVoidResult(NID_BASE, __pValue != null, E_OUT_OF_MEMORY, "[%s] Memory allocation failed.", GetErrorMessage(E_OUT_OF_MEMORY));
+               wcsncpy(__pValue, pStr, length);
+               __pValue[length] = L'\0';
+               __length = length;
+       }
+       else
+       {
+               __pValue = new (std::nothrow) wchar_t[1];
+               SysTryReturnVoidResult(NID_BASE, __pValue != null, E_OUT_OF_MEMORY, "[%s] Memory allocation failed.", GetErrorMessage(E_OUT_OF_MEMORY));
+               __pValue[0] = L'\0';
+       }
+}
+
+_StringBuffer::_StringBuffer(const char* pStr)
+       : __pValue(null)
+       , __length(0)
+       , __hash(0)
+       , __refCount(1)
+{
+       if (pStr)
+       {
+               std::unique_ptr< wchar_t[] > pWcharStr(Tizen::Base::Utility::Utf8ToWcharN(pStr));
+               SysTryReturnVoidResult(NID_BASE, pWcharStr != null, GetLastResult(), "[%ls] Propagating.", GetErrorMessage(GetLastResult()));
+               __pValue = pWcharStr.release();
+               __length = wcslen(__pValue);
+               __pValue[__length] = L'\0';
+       }
+       else
+       {
+               __pValue = new (std::nothrow) wchar_t[1];
+               SysTryReturnVoidResult(NID_BASE, __pValue != null, E_OUT_OF_MEMORY, "[%s] Memory allocation failed.", GetErrorMessage(E_OUT_OF_MEMORY));
+               __pValue[0] = L'\0';
+       }
+}
+
+_StringBuffer::_StringBuffer(const String& value)
+       : __pValue(null)
+       , __length(0)
+       , __hash(0)
+       , __refCount(1)
+{
+       int length = value.GetLength();
+       __pValue = new (std::nothrow) wchar_t[length + 1];
+       SysTryReturnVoidResult(NID_BASE, __pValue != null, E_OUT_OF_MEMORY, "[%s] Memory allocation failed.", GetErrorMessage(E_OUT_OF_MEMORY));
+       wcsncpy(__pValue, value.GetPointer(), length);
+       __pValue[length] = L'\0';
+       __length = length;
+}
+
+_StringBuffer::_StringBuffer(const wchar_t* pStr1, const wchar_t* pStr2)
+       : __pValue(null)
+       , __length(0)
+       , __hash(0)
+       , __refCount(1)
+{
+       int length = wcslen(pStr1) + wcslen(pStr2);
+       __pValue = new (std::nothrow) wchar_t[length + 1];
+       SysTryReturnVoidResult(NID_BASE, __pValue != null, E_OUT_OF_MEMORY, "[%s] Memory allocation failed.", GetErrorMessage(E_OUT_OF_MEMORY));
+
+       wcscpy(__pValue, pStr1);
+       wcscat(__pValue, pStr2);
+       __pValue[length] = L'\0';
+       __length = length;
+}
+
+_StringBuffer::_StringBuffer(int capacity)
+       : __pValue(new (std::nothrow) wchar_t[capacity])
+       , __length(0)
+       , __hash(0)
+       , __refCount(1)
+{
+       SysTryReturnVoidResult(NID_BASE, __pValue != null, E_OUT_OF_MEMORY, "[%s] Memory allocation failed.", GetErrorMessage(E_OUT_OF_MEMORY));
+}
+
+_StringBuffer::~_StringBuffer()
+{
+       delete[] __pValue;
+}
+
+_StringBuffer*
+_StringBuffer::Format(int length, const wchar_t* pFormat, va_list& args)
+{
+       std::unique_ptr< _StringBuffer > pTemp(new (std::nothrow) _StringBuffer(length));
+       SysTryReturn(NID_BASE, pTemp != null, null, E_OUT_OF_MEMORY, "[%s] Memory allocation failed.", GetErrorMessage(E_OUT_OF_MEMORY));
+       vswprintf(pTemp->__pValue, length, pFormat, args);
+
+       int len = wcslen(pTemp->__pValue);
+       if (length > len)
+       {
+               pTemp->__pValue[len] = L'\0';
+               pTemp->__length = len;
+       }
+       else
+       {
+               pTemp->__pValue[length - 1] = L'\0';
+               pTemp->__length = length - 1;
+       }
+
+       return pTemp.release();
+}
+
+_StringBuffer*
+_StringBuffer::Insert(const _StringBuffer* pStr, int indexAt) const
+{
+       int length = __length + pStr->__length;
+       std::unique_ptr< _StringBuffer > pTemp(new (std::nothrow) _StringBuffer(length + 1));
+       SysTryReturn(NID_BASE, pTemp != null, null, E_OUT_OF_MEMORY, "[%s] Memory allocation failed.", GetErrorMessage(E_OUT_OF_MEMORY));
+
+       wchar_t* pBeg = __pValue;
+       wchar_t* pDes = pTemp->__pValue;
+
+       wmemcpy(pDes, pBeg, indexAt);
+       pDes += indexAt;
+       wmemcpy(pDes, pStr->__pValue, pStr->__length);
+       pDes += pStr->__length;
+       pBeg += indexAt;
+       wmemcpy(pDes, pBeg, wcslen(pBeg));
+       pTemp->__pValue[length] = L'\0';
+       pTemp->__length = length;
+
+       return pTemp.release();
+}
+
+_StringBuffer*
+_StringBuffer::Remove(int startIndex, int length) const
+{
+       int newLen = __length - length;
+
+       std::unique_ptr< _StringBuffer > pTemp(new (std::nothrow) _StringBuffer(newLen + 1));
+       SysTryReturn(NID_BASE, pTemp != null, null, E_OUT_OF_MEMORY, "[%s] Memory allocation failed.", GetErrorMessage(E_OUT_OF_MEMORY));
+
+       wchar_t* pBeg = __pValue;
+       wchar_t* pDes = pTemp->__pValue;
+
+       wmemcpy(pDes, pBeg, startIndex);
+       pBeg += startIndex + length;
+       pDes += startIndex;
+       wmemcpy(pDes, pBeg, __length - startIndex - length);
+       pTemp->__pValue[newLen] = L'\0';
+       pTemp->__length = newLen;
+
+       return pTemp.release();
+}
+
+_StringBuffer*
+_StringBuffer::Replace(wchar_t original, wchar_t replace) const
+{
+       std::unique_ptr< _StringBuffer > pTemp(new (std::nothrow) _StringBuffer(__length + 1));
+       SysTryReturn(NID_BASE, pTemp != null, null, E_OUT_OF_MEMORY, "[%s] Memory allocation failed.", GetErrorMessage(E_OUT_OF_MEMORY));
+
+       for (int index = 0; index < __length; ++index)
+       {
+               if (__pValue[index] == original)
+               {
+                       pTemp->__pValue[index] = replace;
+               }
+               else
+               {
+                       pTemp->__pValue[index] = __pValue[index];
+               }
+       }
+       pTemp->__pValue[__length] = L'\0';
+       pTemp->__length = __length;
+
+       return pTemp.release();
+}
+
+_StringBuffer*
+_StringBuffer::Replace(const _StringBuffer* pOriginal, const _StringBuffer* pReplace, int startIndex) const
+{
+       const int orgLen = pOriginal->__length;
+       wchar_t* pOrg = pOriginal->__pValue;
+
+       if ((orgLen == __length) && (wcscmp(__pValue, pOrg) == 0) && (startIndex == 0))
+       {
+               std::unique_ptr< _StringBuffer > pTemp(new (std::nothrow) _StringBuffer(pReplace->__pValue));
+               SysTryReturn(NID_BASE, pTemp != null, null, E_OUT_OF_MEMORY, "[%s] Memory allocation failed.", GetErrorMessage(E_OUT_OF_MEMORY));
+
+               return pTemp.release();
+       }
+
+       int repLen = pReplace->__length;
+       wchar_t* pRep = pReplace->__pValue;
+       wchar_t* pBeg = __pValue + startIndex;
+       int count = 0;
+       wchar_t* pMatch = null;
+
+       while (pMatch = wcsstr(pBeg, pOrg))
+       {
+               pBeg = pMatch + orgLen;
+               ++count;
+       }
+
+       if (count == 0)
+       {
+               std::unique_ptr< _StringBuffer > pTemp(new (std::nothrow) _StringBuffer(__pValue));
+               SysTryReturn(NID_BASE, pTemp != null, null, E_OUT_OF_MEMORY, "[%s] Memory allocation failed.", GetErrorMessage(E_OUT_OF_MEMORY));
+               return pTemp.release();
+       }
+
+       int newLen = __length + (repLen - orgLen) * count;
+
+       std::unique_ptr< _StringBuffer > pTemp(new (std::nothrow) _StringBuffer(newLen + 1));
+       SysTryReturn(NID_BASE, pTemp != null, null, E_OUT_OF_MEMORY, "[%s] Memory allocation failed.", GetErrorMessage(E_OUT_OF_MEMORY));
+
+       wchar_t* pDes = pTemp->__pValue;
+       wmemcpy(pDes, __pValue, startIndex);
+       pBeg = __pValue + startIndex;
+       pDes += startIndex;
+
+       while (count > 0)
+       {
+               pMatch = wcsstr(pBeg, pOrg);
+               int len_front = static_cast< int >(pMatch - pBeg);
+               if(len_front == 0)
+               {
+                       wmemcpy(pDes, pRep, repLen);
+                       pBeg += orgLen;
+                       pDes += repLen;
+               }
+               else
+               {
+                       wmemcpy(pDes, pBeg, len_front);
+                       pBeg += (len_front + orgLen);
+                       pDes += len_front;
+                       wmemcpy(pDes, pRep, repLen);
+                       pDes += repLen;
+               }
+               --count;
+       }
+       wmemcpy(pDes, pBeg, wcslen(pBeg));
+       pTemp->__pValue[newLen] = L'\0';
+       pTemp->__length = newLen;
+
+       return pTemp.release();
+}
+
+_StringBuffer*
+_StringBuffer::Reverse(void) const
+{
+       std::unique_ptr< _StringBuffer > pTemp(new (std::nothrow) _StringBuffer(__length + 1));
+       SysTryReturn(NID_BASE, pTemp != null, null, E_OUT_OF_MEMORY, "[%s] Memory allocation failed.", GetErrorMessage(E_OUT_OF_MEMORY));
+
+       for (int i = 0; i < __length; ++i)
+       {
+               pTemp->__pValue[i] = __pValue[__length - 1 - i];
+       }
+
+       pTemp->__pValue[__length] = L'\0';
+       pTemp->__length = __length;
+
+       return pTemp.release();
+}
+
+_StringBuffer*
+_StringBuffer::SetCharAt(wchar_t ch, int indexAt) const
+{
+       std::unique_ptr< _StringBuffer > pTemp(new (std::nothrow) _StringBuffer(__pValue));
+       SysTryReturn(NID_BASE, pTemp != null, null, E_OUT_OF_MEMORY, "[%s] Memory allocation failed.", GetErrorMessage(E_OUT_OF_MEMORY));
+       pTemp->__pValue[indexAt] = ch;
+
+       return pTemp.release();
+}
+
+_StringBuffer*
+_StringBuffer::SubString(int startIndex, int length) const
+{
+       std::unique_ptr< _StringBuffer > pTemp(new (std::nothrow) _StringBuffer(length + 1));
+       SysTryReturn(NID_BASE, pTemp != null, null, E_OUT_OF_MEMORY, "[%s] Memory allocation failed.", GetErrorMessage(E_OUT_OF_MEMORY));
+
+       wcsncpy(pTemp->__pValue, __pValue + startIndex, length);
+       pTemp->__pValue[length] = L'\0';
+       pTemp->__length = length;
+
+       return pTemp.release();
+}
+
+_StringBuffer*
+_StringBuffer::ToUpperCase(void) const
+{
+       std::unique_ptr< _StringBuffer > pTemp(new (std::nothrow) _StringBuffer(__length + 1));
+       SysTryReturn(NID_BASE, pTemp != null, null, E_OUT_OF_MEMORY, "[%s] Memory allocation failed.", GetErrorMessage(E_OUT_OF_MEMORY));
+
+       wchar_t* pBeg = __pValue;
+       wchar_t* pDes = pTemp->__pValue;
+       for (; *pBeg != 0; ++pBeg, ++pDes)
+       {
+               *pDes = Character::ToUpperCase(*pBeg);
+       }
+       *pDes = L'\0';
+       pTemp->__length = __length;
+
+       return pTemp.release();
+}
+
+_StringBuffer*
+_StringBuffer::ToLowerCase(void) const
+{
+       std::unique_ptr< _StringBuffer > pTemp(new (std::nothrow) _StringBuffer(__length + 1));
+       SysTryReturn(NID_BASE, pTemp != null, null, E_OUT_OF_MEMORY, "[%s] Memory allocation failed.", GetErrorMessage(E_OUT_OF_MEMORY));
+
+       wchar_t* pBeg = __pValue;
+       wchar_t* pDes = pTemp->__pValue;
+       for (; *pBeg != 0; ++pBeg, ++pDes)
+       {
+               *pDes = Character::ToLowerCase(*pBeg);
+       }
+       *pDes = L'\0';
+       pTemp->__length = __length;
+
+       return pTemp.release();
+}
+
+_StringBuffer*
+_StringBuffer::Trim(void) const
+{
+       if (__length == 0)
+       {
+               std::unique_ptr< _StringBuffer > pTemp(new (std::nothrow) _StringBuffer(L""));
+               SysTryReturn(NID_BASE, pTemp != null, null, E_OUT_OF_MEMORY, "[%s] Memory allocation failed.", GetErrorMessage(E_OUT_OF_MEMORY));
+
+               return pTemp.release();
+       }
+
+       int lastIndex = __length;
+       int startIndex = 0;
+       const wchar_t* pStr = __pValue;
+
+       while ((startIndex < lastIndex) && (*(pStr + startIndex) <= L' '))
+       {
+               ++startIndex;
+       }
+
+       while ((startIndex < lastIndex) && (*(pStr + lastIndex - 1) <= L' '))
+       {
+               --lastIndex;
+       }
+
+       bool trimRight = lastIndex < __length;
+       bool trimLeft = startIndex > 0;
+
+       if (!trimRight && !trimLeft)
+       {
+               std::unique_ptr< _StringBuffer > pTemp(new (std::nothrow) _StringBuffer(__pValue));
+               SysTryReturn(NID_BASE, pTemp != null, null, E_OUT_OF_MEMORY, "[%s] Memory allocation failed.", GetErrorMessage(E_OUT_OF_MEMORY));
+               pTemp.release();
+       }
+
+       int newLen = __length - startIndex - (__length - lastIndex);
+       std::unique_ptr< _StringBuffer > pTemp(new (std::nothrow) _StringBuffer(newLen + 1));
+       SysTryReturn(NID_BASE, pTemp != null, null, E_OUT_OF_MEMORY, "[%s] Memory allocation failed.", GetErrorMessage(E_OUT_OF_MEMORY));
+
+       wcsncpy(pTemp->__pValue, __pValue + startIndex, newLen);
+       pTemp->__pValue[newLen] = L'\0';
+       pTemp->__length = newLen;
+
+       return pTemp.release();
+}
+
+int
+_StringBuffer::GetHashCode(const wchar_t* pValue)
+{
+       static const int DEFAULT_HASH_VALUE = 352654597;
+       static const int HASH_MULTIPLIER = 1566083941;
+
+       int num = DEFAULT_HASH_VALUE;
+       int num2 = DEFAULT_HASH_VALUE;
+       for (int i = wcslen(pValue); i >= 2 ; i -= 4)
+       {
+               num = (((num << 5) + num) + (num >> 27)) ^ pValue[0];
+               num2 = (((num2 << 5) + num2) + (num2 >> 27)) ^ pValue[1];
+               pValue += 2;
+       }
+       num = (((num << 5) + num) + (num >> 27)) ^ pValue[0];
+       int hash = num + (num2 * HASH_MULTIPLIER);
+
+       return hash;
+}
+}} //Tizen::Base
index 9fa2a67..5a89841 100644 (file)
@@ -41,6 +41,7 @@ public:
        virtual ~_ArrayListEnumerator(void);
 
        virtual Object* GetCurrent(void) const;
+       virtual Object*& GetCurrentRef(void) const;
        virtual result MoveNext(void);
        virtual result Reset(void);
 
@@ -67,11 +68,15 @@ _ArrayListEnumerator::~_ArrayListEnumerator(void)
 Object*
 _ArrayListEnumerator::GetCurrent(void) const
 {
-       SysTryReturn(NID_BASE_COL, (__modCount == __list.__modCount), null, E_INVALID_OPERATION, "[%s] The source collection was modified after the creation of this enumerator.", GetErrorMessage(E_INVALID_OPERATION));
-       SysTryReturn(NID_BASE_COL, ((__position >= 0) && (__position < __list.__count)), null, E_INVALID_OPERATION, "[%s] Current position(%d) is before the first element or past the last element.", GetErrorMessage(E_INVALID_OPERATION), __position);
+       return GetCurrentRef();
+}
 
+Object*&
+_ArrayListEnumerator::GetCurrentRef(void) const
+{
+       SysTryReturn(NID_BASE_COL, (__modCount == __list.__modCount), pNullObj, E_INVALID_OPERATION, "[%s] The source collection was modified after the creation of this enumerator.", GetErrorMessage(E_INVALID_OPERATION));
+       SysTryReturn(NID_BASE_COL, ((__position >= 0) && (__position < __list.__count)), pNullObj, E_INVALID_OPERATION, "[%s] Current position(%d) is before the first element or past the last element.", GetErrorMessage(E_INVALID_OPERATION), __position);
        SetLastResult(E_SUCCESS);
-
        return __list.__pObjArray[__position];
 }
 
@@ -248,6 +253,15 @@ ArrayList::GetAt(int index)
        return const_cast< Object* >(pObj);
 }
 
+Object*&
+ArrayList::GetAtRef(int index)
+{
+       SysTryReturn(NID_BASE_COL, index >= 0 && index < __count, pNullObj, E_OUT_OF_RANGE, "[%s] The index(%d) MUST be greater than or equal to 0 and less than the number of elements(%d).", GetErrorMessage(E_OUT_OF_RANGE), index, __count);
+
+       SetLastResult(E_SUCCESS);
+       return __pObjArray[index];
+}
+
 IList*
 ArrayList::GetItemsN(int startIndex, int count) const
 {
index 585bd40..00e6d9e 100644 (file)
@@ -64,6 +64,7 @@ public:
        virtual ~_LinkedListEnumerator(void);
 
        virtual Object* GetCurrent(void) const;
+       virtual Object*& GetCurrentRef(void) const;
        virtual result MoveNext(void);
        virtual result Reset(void);
 
@@ -91,8 +92,14 @@ _LinkedListEnumerator::~_LinkedListEnumerator(void)
 Object*
 _LinkedListEnumerator::GetCurrent(void) const
 {
-       SysTryReturn(NID_BASE_COL, __modCount == __list.__modCount, null, E_INVALID_OPERATION, "[%s] The source collection was modified after the creation of this enumerator.", GetErrorMessage(E_INVALID_OPERATION));
-       SysTryReturn(NID_BASE_COL, __pNode != null, null, E_INVALID_OPERATION, "[%s] Current position is before the first element or past the last element.", GetErrorMessage(E_INVALID_OPERATION));
+       return GetCurrentRef();
+}
+
+Object*&
+_LinkedListEnumerator::GetCurrentRef(void) const
+{
+       SysTryReturn(NID_BASE_COL, __modCount == __list.__modCount, pNullObj, E_INVALID_OPERATION, "[%s] The source collection was modified after the creation of this enumerator.", GetErrorMessage(E_INVALID_OPERATION));
+       SysTryReturn(NID_BASE_COL, __pNode != null, pNullObj, E_INVALID_OPERATION, "[%s] Current position is before the first element or past the last element.", GetErrorMessage(E_INVALID_OPERATION));
        SetLastResult(E_SUCCESS);
        return __pNode->pObj;
 }
@@ -254,13 +261,20 @@ LinkedList::GetAt(int index) const
 Object*
 LinkedList::GetAt(int index)
 {
-       SysTryReturn(NID_BASE_COL, index >= 0 && index < __count, null, E_OUT_OF_RANGE, "[%s] The index(%d) MUST be greater than or equal to 0, and less than the number of elements(%d).", GetErrorMessage(E_OUT_OF_RANGE), index, __count);
-
        const Object* pObj = (static_cast< const LinkedList* >(this))->GetAt(index);
-       SetLastResult(E_SUCCESS);
        return const_cast< Object* >(pObj);
 }
 
+Object*&
+LinkedList::GetAtRef(int index)
+{
+       SysTryReturn(NID_BASE_COL, index >= 0 && index < __count, pNullObj, E_OUT_OF_RANGE, "[%s] The index(%d) MUST be greater than or equal to 0, and less than the number of elements(%d).", GetErrorMessage(E_OUT_OF_RANGE), index, __count);
+
+       _ListNode* pNode = GetNode(index);
+       SetLastResult(E_SUCCESS);
+       return pNode->pObj;
+}
+
 IList*
 LinkedList::GetItemsN(int startIndex, int count) const
 {
old mode 100755 (executable)
new mode 100644 (file)
index 884968b..312e37e
@@ -174,7 +174,6 @@ protected:
         * @return              An error code
         * @exception   E_SUCCESS               This method was successful.
         * @exception   E_INVALID_STATE         The event was already initialized.
-        * @exception   E_INVALID_OPERATION     This was called by a worker thread.
         *
         * @remark A derived class from _Event should call this method
         */
index 9139bde..399010f 100644 (file)
@@ -95,13 +95,37 @@ public:
         * @remarks
         *                              - If the input value is Not-a-Number(NaN), the result is the string "NaN".
         *                              Furthermore, infinity produces the result "Infinity". @n
-        *                              6 digits are given for the precision of this method. Use String::Format() to set the specific precision.
+        *                              6 digits are given for the precision of this method. Use Double::ToString(int precision) to set the specific precision.
         *                              - The behavior of this method is dependent on the specified locale setting.
         *                              - The specific error code can be accessed using the GetLastResult() method.
         */
        static String ToString(double value, const char* pLocale);
 
        /**
+        * Locale specifiable version of Double::ToString(int precision). @n
+        * This method is affected by the specified @c pLocale.
+        *
+        * @since 3.0
+        *
+        * @return                      A string containing a Unicode representation of the specified @c double value
+        * @param[in]   value           A @c double value to convert
+        * @param[in]   pLocale         A specific locale identifier. @n
+        *                                      The @c pLocale can have below values.
+        *                                      - "" : the system default locale
+        *                                      - "C" or "POSIX" : the POSIX locale
+        *                                      - "language[_territory][.codeset]" : an implementation-provided locale, e.g. "en_US.utf8", "fr_FR.utf8", etc.
+        * @param[in]   precision       Number of digits after a decimal separator
+        * @exception   E_SUCCESS       The method is successful.
+        * @exception   E_INVALID_ARG   The specified locale identifier is invalid.
+        * @remarks
+        *                              - If the input value is Not-a-Number(NaN), the result is the string "NaN".
+        *                              Furthermore, infinity produces the result "Infinity". @n
+        *                              - The behavior of this method is dependent on the specified locale setting.
+        *                              - The specific error code can be accessed using the GetLastResult() method.
+        */
+       static String ToString(double value, const char* pLocale, int precision);
+
+       /**
         * Locale specifiable version of Float::ToString(). @n
         * This method is affected by the specified @c pLocale.
         *
@@ -119,12 +143,36 @@ public:
         * @remarks
         *                              - If the input value is Not-a-Number(NaN), the result is the string "NaN".
         *                              Furthermore, infinity produces the result "Infinity". @n
-        *                              6 digits are given for the precision of this method. Use String::Format() to set the specific precision.
+        *                              6 digits are given for the precision of this method. Use Float::ToString(int precision) to set the specific precision.
         *                              - The behavior of this method is dependent on the specified locale setting.
         *                              - The specific error code can be accessed using the GetLastResult() method.
         */
        static String ToString(float value, const char* pLocale);
 
+       /**
+        * Locale specifiable version of Float::ToString(int precision). @n
+        * This method is affected by the specified @c pLocale.
+        *
+        * @since 3.0
+        *
+        * @return                      A string containing a Unicode representation of the specified @c float value
+        * @param[in]   value           A @c float value to convert
+        * @param[in]   pLocale         A specific locale identifier. @n
+        *                                      The @c pLocale can have below values.
+        *                                      - "" : the system default locale
+        *                                      - "C" or "POSIX" : the POSIX locale
+        *                                      - "language[_territory][.codeset]" : an implementation-provided locale, e.g. "en_US.utf8", "fr_FR.utf8", etc.
+        * @param[in]   precision       Number of digits after a decimal separator
+        * @exception   E_SUCCESS       The method is successful.
+        * @exception   E_INVALID_ARG   The specified locale identifier is invalid.
+        * @remarks
+        *                              - If the input value is Not-a-Number(NaN), the result is the string "NaN".
+        *                              Furthermore, infinity produces the result "Infinity". @n
+        *                              - The behavior of this method is dependent on the specified locale setting.
+        *                              - The specific error code can be accessed using the GetLastResult() method.
+        */
+       static String ToString(float value, const char* pLocale, int precision);
+
 private:
        //
        // This default constructor is intentionally declared as private because this class is not constructible.
@@ -163,4 +211,4 @@ private:
        static const int DBL_MAX_LENGTH = 17 + 308 + 3; // significant decimal digits + exponent + extra characters
 };
 }}  // Tizen::Base
-#endif  // _FBASE_INTERNAL_LOCALIZED_NUM_PARSER_H_
\ No newline at end of file
+#endif  // _FBASE_INTERNAL_LOCALIZED_NUM_PARSER_H_
diff --git a/src/base/inc/FBase_StringBuffer.h b/src/base/inc/FBase_StringBuffer.h
new file mode 100644 (file)
index 0000000..d9b13b5
--- /dev/null
@@ -0,0 +1,63 @@
+//
+// Copyright (c) 2013 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.
+// You may obtain a copy of the License at
+//
+//     http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+/**
+ * @file       FBase_StringBuffer.h
+ * @brief      This is the header file for the %_StringBuffer class.
+ *
+ * This file contains the declarations of the %_StringBuffer class.
+ */
+
+#ifndef _FBASE_INTERNAL_STRING_BUFFER_H_
+#define _FBASE_INTERNAL_STRING_BUFFER_H_
+
+namespace Tizen {namespace Base
+{
+
+class String;
+class ImmutalbeString;
+
+class _StringBuffer
+{
+public:
+       _StringBuffer(const wchar_t* pStr);
+       _StringBuffer(const char* pStr);
+       _StringBuffer(const String& value);
+       _StringBuffer(const wchar_t* pStr1, const wchar_t* pStr2);
+       explicit _StringBuffer(int capacity);
+       ~_StringBuffer(void);
+
+       static _StringBuffer* Format(int length, const wchar_t* pFormat, __builtin_va_list& args);
+       _StringBuffer* Insert(const _StringBuffer* pStr, int indexAt) const;
+       _StringBuffer* Remove(int startIndex, int length) const;
+       _StringBuffer* Replace(wchar_t original, wchar_t replace) const;
+       _StringBuffer* Replace(const _StringBuffer* pOriginal, const _StringBuffer* pReplace, int startIndex) const;
+       _StringBuffer* Reverse(void) const;
+       _StringBuffer* SetCharAt(wchar_t ch, int indexAt) const;
+       _StringBuffer* SubString(int startIndex, int length) const;
+       _StringBuffer* ToUpperCase(void) const;
+       _StringBuffer* ToLowerCase(void) const;
+       _StringBuffer* Trim(void) const;
+       int GetHashCode(const wchar_t* pValue);
+
+       wchar_t* __pValue;
+       int __length;
+       int __hash;
+       volatile int __refCount;
+
+};
+}} // Tizen::Base
+#endif // _FBASE_INTERNAL_STRING_BUFFER_H_
old mode 100755 (executable)
new mode 100644 (file)
index 5d6c58c..4b1fbde
@@ -27,6 +27,7 @@
 #include <FBaseSysLog.h>
 #include "FBaseRt_Event.h"
 #include "FBaseRt_EventManager.h"
+#include "FBaseRt_ThreadImpl.h"
 
 using namespace Tizen::Base;
 using namespace Tizen::Base::Collection;
@@ -130,9 +131,20 @@ _Event::AddListener(const IEventListener& listener, bool calledByCallerThread)
 
        if (calledByCallerThread)
        {
+               _ThreadImpl* pThreadImpl = _ThreadImpl::GetCurrentThreadImpl();
+               SysTryReturnResult(NID_BASE_RT, pThreadImpl != null, E_OBJ_NOT_FOUND, "[E_OBJ_NOT_FOUND] This is not OSP thread.");
+
+               ThreadType threadType = pThreadImpl->GetThreadType();
+               SysTryReturnResult(NID_BASE_RT, threadType != THREAD_TYPE_WORKER, E_INVALID_OPERATION, "The caller thread is not an event driven thread.");
+
+               ClearLastResult();
                _EventManager* pEventManager = _EventManager::GetCurrentEventManager();
-               SysTryReturnResult(NID_BASE_RT, pEventManager != null, E_INVALID_OPERATION
-                                                 , "The caller thread is not an event driven thread.");
+               r = GetLastResult();
+               if (IsFailed(r))
+               {
+                       SysPropagate(NID_BASE_RT, r);
+                       return r;
+               }
 
                eventManager = pEventManager->GetHandle();
        }
index 4713ce3..834066c 100644 (file)
@@ -292,8 +292,11 @@ _EventManager::GetCurrentEventManager(void)
        SysTryReturn(NID_BASE_RT, pThreadImpl != null, null, E_OBJ_NOT_FOUND, "[E_OBJ_NOT_FOUND] This is not OSP thread.");
 
        ThreadType threadType = pThreadImpl->GetThreadType();
-       SysTryReturn(NID_BASE_RT, threadType != THREAD_TYPE_WORKER, null, E_INVALID_OPERATION,
-                                "[E_INVALID_OPERATION] This is a worker thread.");
+       if (threadType == THREAD_TYPE_WORKER)
+       {
+               pThreadImpl = _ThreadImpl::GetMainThreadImpl();
+               SysTryReturn(NID_BASE_RT, pThreadImpl != null, null, E_OBJ_NOT_FOUND, "[E_OBJ_NOT_FOUND] This is not OSP thread.");
+       }
 
        _EventManager* pEventManager = pThreadImpl->GetEventManager();
        SysTryReturn(NID_BASE_RT, pEventManager != null, null, E_INVALID_STATE, "[E_INVALID_STATE] Event manager is not initialized.");
index d7b64e8..e0f61af 100644 (file)
@@ -93,6 +93,7 @@ _MainThreadImpl::Initialize(void)
 
        _ThreadImpl::Initialize();
 
+       SetMainThread();
        __pEventDispatcher = pEventDispatcher;
 
        return E_SUCCESS;
index e7cd3a5..ef7b50d 100644 (file)
@@ -37,6 +37,7 @@ namespace Tizen { namespace Base { namespace Runtime
 {
 
 __thread Thread* pCurrentThread = null;
+Thread* _ThreadImpl::__pDefaultThread = null;
 
 _ThreadImpl*
 _ThreadImpl::GetCurrentThreadImpl(void)
@@ -232,7 +233,7 @@ _ThreadImpl::SetNativeThread(pthread_t nativeThread)
        __nativeThread = nativeThread;
 }
 
-const ThreadPriority
+ThreadPriority
 _ThreadImpl::GetPriority(void) const
 {
        return __priority;
@@ -290,4 +291,20 @@ _ThreadImpl::GetEventManager(void)
 }
 
 
+void
+_ThreadImpl::SetMainThread(void)
+{
+       __pDefaultThread = _pThread;
+}
+
+_ThreadImpl*
+_ThreadImpl::GetMainThreadImpl(void)
+{
+       if (__pDefaultThread != null)
+       {
+               return __pDefaultThread->__pThreadImpl;
+       }
+
+       return null;
+}
 } } } // Tizen::Base::Runtime
index 5f87103..999fd4a 100644 (file)
@@ -72,6 +72,7 @@ public:
 
        static _ThreadImpl* GetCurrentThreadImpl(void);
 
+       static _ThreadImpl* GetMainThreadImpl(void);
 protected:
        virtual result Initialize(void);
 
@@ -79,11 +80,12 @@ protected:
 
        const Thread* GetThread(void) const;
 
-       const ThreadPriority GetPriority(void) const;
+       ThreadPriority GetPriority(void) const;
 
        void SetThread(Thread* pThread);
 
        void SetNativeThread(pthread_t nativeThread);
+       void SetMainThread(void);
 
 private:
        static void* ThreadProc(void* pParam);
@@ -99,6 +101,7 @@ private:
        pthread_t __nativeThread;
        int __exitCode;
        _EventManager* __pEventManager;
+       static Thread* __pDefaultThread;
 }; // _ThreadImpl
 
 } } } // Tizen::Base::Runtime
index 5f1d056..8e050eb 100644 (file)
@@ -1004,4 +1004,4 @@ _RegularExpressionImpl::PcreExecErrorToSystemError(int err)
 
        return E_SUCCESS;
 }
-}}}
\ No newline at end of file
+}}}
index 59f1039..1ec1613 100644 (file)
@@ -84,14 +84,6 @@ SET_TARGET_PROPERTIES(${this_target}
                CLEAN_DIRECT_OUTPUT 1
 )
 
-ADD_CUSTOM_COMMAND(TARGET ${this_target}
-               POST_BUILD
-               COMMAND ${CMAKE_COMMAND} -E copy ${LIBRARY_OUTPUT_PATH}/${CMAKE_SHARED_LIBRARY_PREFIX}${this_target}${CMAKE_SHARED_LIBRARY_SUFFIX} ${LIBRARY_OUTPUT_PATH}/debug/${CMAKE_SHARED_LIBRARY_PREFIX}${this_target}${CMAKE_SHARED_LIBRARY_SUFFIX}.${FULLVER} 
-               COMMAND ${CMAKE_COMMAND} -E create_symlink ${CMAKE_SHARED_LIBRARY_PREFIX}${this_target}${CMAKE_SHARED_LIBRARY_SUFFIX}.${FULLVER} ${LIBRARY_OUTPUT_PATH}/debug/${CMAKE_SHARED_LIBRARY_PREFIX}${this_target}${CMAKE_SHARED_LIBRARY_SUFFIX}.${MAJORVER}
-               COMMAND ${CMAKE_STRIP} --strip-unneeded ${LIBRARY_OUTPUT_PATH}/${CMAKE_SHARED_LIBRARY_PREFIX}${this_target}${CMAKE_SHARED_LIBRARY_SUFFIX}
-               COMMENT "strip ${this_target}"
-)
-
 SET(PC_NAME ${this_target})
 SET(PC_REQUIRED ${pc_requires})
 SET(PC_LDFLAGS -l${this_target})
diff --git a/src/system-server/device/FSys_DeviceManager.cpp b/src/system-server/device/FSys_DeviceManager.cpp
new file mode 100644 (file)
index 0000000..b689d3c
--- /dev/null
@@ -0,0 +1,262 @@
+//
+// Copyright (c) 2012 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.
+// You may obtain a copy of the License at
+//
+//     http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+/**
+ * @file               FSys_DeviceManager.cpp
+ * @brief              This is the implementation file for _DeviceManager class.
+ */
+
+#include <new>
+#include <system/media_key.h>
+#include <bluetooth.h>
+#include <vconf.h>
+
+#include <FBaseSysLog.h>
+#include <FSys_DeviceManagerEventProvider.h>
+#include "FSys_DeviceManager.h"
+
+using namespace Tizen::App;
+using namespace Tizen::Io;
+using namespace Tizen::System;
+using namespace Tizen::Base;
+using namespace Tizen::Base::Collection;
+
+namespace {
+       const static wchar_t* DEVICE_MANAGER_SERVICE_ID = L"osp.devicemanager.service";
+       const static wchar_t* DEVICE_MANAGER_BLUETOOTH = L"osp.devicemanager.bluetooth";
+
+       const static wchar_t* BLUETOOTH_A2DP_CONNECTED = L"Connected";
+       const static wchar_t* BLUETOOTH_A2DP_DISCONNECTED = L"Disconnected";
+       const static wchar_t* BLUETOOTH_A2DP_PLAY = L"Play";
+       const static wchar_t* BLUETOOTH_A2DP_STOP = L"Stop";
+       const static wchar_t* BLUETOOTH_A2DP_PAUSE = L"Pause";
+       const static wchar_t* BLUETOOTH_A2DP_RESUME = L"Resume";
+       const static wchar_t* BLUETOOTH_A2DP_FORWARD = L"Forward";
+       const static wchar_t* BLUETOOTH_A2DP_FASTFORWARD = L"FastForward";
+       const static wchar_t* BLUETOOTH_A2DP_BACKWARD = L"Backward";
+       const static wchar_t* BLUETOOTH_A2DP_REWIND = L"Rewind";
+}
+
+Tizen::System::_DeviceManager* Tizen::System::_DeviceManager::__pDeviceManager = null;
+
+void bluetooth_connection_state_changed(int result, bool connected, const char* remote_address, bt_audio_profile_type_e type, void* user_data)
+{
+       SysLog(NID_SYS, "Bluetooth headset[%s] connection[%d] event", remote_address, connected);
+       String bt_event;
+       _DeviceManager* pDeviceManager = _DeviceManager::GetInstance();
+       SysTryReturn(NID_SYS, pDeviceManager, ,E_SYSTEM, "DeviceManager is not created");
+
+       IDeviceEventListener* pDeviceEventListener = pDeviceManager->GetEventListener();
+
+       if(pDeviceEventListener)
+       {
+               if(connected == true)
+               {
+                       bt_event = BLUETOOTH_A2DP_CONNECTED;
+               }
+               else
+               {
+                       bt_event = BLUETOOTH_A2DP_DISCONNECTED;
+               }
+
+               pDeviceEventListener->OnDeviceStateChanged(DEVICE_TYPE_BLUETOOTH_HEADSET, bt_event);
+       }
+       pDeviceManager->SetBluetoothStatus(connected);
+}
+
+void app_media_key_handler(media_key_e key, media_key_event_e status, void* pUserData)
+{
+       String event;
+       SysLog(NID_SYS, "Bluetooth headset event is occured %d, %d", (int)key, (int)status);
+       _DeviceManager* pDeviceManager = _DeviceManager::GetInstance();
+       SysTryReturn(NID_SYS, pDeviceManager, ,E_SYSTEM, "DeviceManager is not created");
+
+       if(status == MEDIA_KEY_STATUS_RELEASED)
+       {
+               switch(key)
+               {
+                       case MEDIA_KEY_PLAY:
+                               event = BLUETOOTH_A2DP_PLAY;
+                               break;
+                       case MEDIA_KEY_STOP:
+                               event = BLUETOOTH_A2DP_STOP;
+                               break;
+                       case MEDIA_KEY_PAUSE:
+                               event = BLUETOOTH_A2DP_PAUSE;
+                               break;
+                       case MEDIA_KEY_PREVIOUS:
+                               event = BLUETOOTH_A2DP_BACKWARD;
+                               break;
+                       case MEDIA_KEY_NEXT:
+                               event = BLUETOOTH_A2DP_FORWARD;
+                               break;
+                       case MEDIA_KEY_FASTFORWARD:
+                               event = BLUETOOTH_A2DP_FASTFORWARD;
+                               break;
+                       case MEDIA_KEY_REWIND:
+                               event = BLUETOOTH_A2DP_REWIND;
+                               break;
+                       case MEDIA_KEY_UNKNOWN:
+                       default:
+                               SysLog(NID_SYS, "Unsupported key[%d] is occured.", key);
+                               return;
+               }
+
+               IDeviceEventListener* pDeviceEventListener = pDeviceManager->GetEventListener();
+               if (pDeviceEventListener)
+               {
+                       pDeviceEventListener->OnDeviceStateChanged(DEVICE_TYPE_BLUETOOTH_HEADSET, event);
+               }
+       }
+}
+
+_DeviceManager::_DeviceManager()
+       : isBluetoothHeadSetConnected(false)
+       , isInitBluetooth(false)
+       , __pDeviceManagerListener(null)
+{
+}
+
+_DeviceManager::~_DeviceManager()
+{
+       if(isInitBluetooth == true)
+       {
+               int btResult = 0;
+               media_key_release();
+               btResult = bt_audio_unset_connection_state_changed_cb();
+               SysTryReturnVoidResult(NID_SYS, btResult == BT_ERROR_NONE, E_SYSTEM, "It is failed to unregister bluetooth headset connection event");
+
+               btResult = bt_audio_deinitialize();
+               SysTryReturnVoidResult(NID_SYS, btResult == BT_ERROR_NONE, E_SYSTEM, "It is failed to close bluetooth");
+
+               btResult = bt_deinitialize();
+               SysTryReturnVoidResult(NID_SYS, btResult == BT_ERROR_NONE, E_SYSTEM, "It is failed to init bluetooth module");
+               isInitBluetooth = false;
+       }
+}
+
+_DeviceManager*
+_DeviceManager::GetInstance(void)
+{
+       static pthread_once_t onceBlock = PTHREAD_ONCE_INIT;
+       if(__pDeviceManager == null)
+       {
+               pthread_once(&onceBlock, InitSingleton);
+       }
+       return __pDeviceManager;
+}
+
+void
+_DeviceManager::InitSingleton(void)
+{
+       SysLog(NID_SYS,"InitSingleton");
+       __pDeviceManager = new (std::nothrow) _DeviceManager();
+       SysTryReturn(NID_SYS, __pDeviceManager, , E_OUT_OF_MEMORY, "It is not enough memory.");
+       atexit(DestroySingleton);
+}
+
+
+void
+_DeviceManager::DestroySingleton(void)
+{
+       SysLog(NID_SYS,"DestorySingleton");
+       if (__pDeviceManager)
+       {
+               delete __pDeviceManager;
+               __pDeviceManager = null;
+       }
+}
+result
+_DeviceManager::InitializeDevice(void)
+{
+       result r = E_SUCCESS;
+
+       if(isInitBluetooth == false)
+       {
+               int btResult = 0;
+               btResult = bt_initialize();
+               SysTryReturnResult(NID_SYS, btResult == BT_ERROR_NONE, E_SYSTEM, "It is failed to init bluetooth module");
+
+               btResult = bt_audio_initialize();
+               SysTryReturnResult(NID_SYS, btResult == BT_ERROR_NONE, E_SYSTEM, "It is failed to init bluetooth audio module");
+
+               btResult = bt_audio_set_connection_state_changed_cb(bluetooth_connection_state_changed, null);
+               SysTryReturnResult(NID_SYS, btResult == BT_ERROR_NONE, E_SYSTEM, "It is failed to register bluetooth audio event");
+               isInitBluetooth = true;
+       }
+
+       media_key_reserve(app_media_key_handler, null);
+       return r;
+}
+
+
+result
+_DeviceManager::DeinitializeDevice(void)
+{
+       result r = E_SUCCESS;
+       media_key_release();
+       return r;
+}
+
+
+result
+_DeviceManager::RegisterListner(IDeviceEventListener &listener)
+{
+       __pDeviceManagerListener = &listener;
+       return E_SUCCESS;
+}
+
+result
+_DeviceManager::UnregisterListner(IDeviceEventListener &listener)
+{
+       __pDeviceManagerListener = null;
+       return E_SUCCESS;
+}
+
+IDeviceEventListener*
+_DeviceManager::GetEventListener()
+{
+       return __pDeviceManagerListener;
+}
+
+String
+_DeviceManager::GetId(void)
+{
+       return DEVICE_MANAGER_SERVICE_ID;
+}
+
+bool
+_DeviceManager::GetBluetoothStatus(void)
+{
+       int ret = -1;
+       int errorCode = vconf_get_int(VCONFKEY_BT_DEVICE, &ret);
+       SysTryReturn(NID_SYS, errorCode == 0, isBluetoothHeadSetConnected, E_SYSTEM, "It is failed to get bt status. errorCode [%d]", errorCode);
+
+       if (ret & VCONFKEY_BT_DEVICE_HEADSET_CONNECTED || ret & VCONFKEY_BT_DEVICE_A2DP_HEADSET_CONNECTED)
+       {
+               isBluetoothHeadSetConnected = true;
+       }
+       else
+       {
+               isBluetoothHeadSetConnected = false;
+       }
+       return isBluetoothHeadSetConnected;
+}
+void
+_DeviceManager::SetBluetoothStatus(bool status)
+{
+       isBluetoothHeadSetConnected = status;
+}
diff --git a/src/system-server/inc/FSys_DeviceManager.h b/src/system-server/inc/FSys_DeviceManager.h
new file mode 100644 (file)
index 0000000..aac5aaa
--- /dev/null
@@ -0,0 +1,65 @@
+//
+// Copyright (c) 2012 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.
+// You may obtain a copy of the License at
+//
+//     http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+/**
+ * @file        FSys_DeviceManager.h
+ * @brief      This is the header file of the _DeviceManager class.
+ *
+ * This header file contains the declarations of the _DeviceManager class.
+ */
+#include <FApp.h>
+#include <FBase.h>
+#include <FSys_IDeviceManagerEventListener.h>
+#include <FSysIDeviceEventListener.h>
+
+#ifndef _FSYS_INTERNAL_DEVICE_MANAGER_H_
+#define _FSYS_INTERNAL_DEVICE_MANAGER_H_
+
+namespace Tizen { namespace System {
+
+/**
+ * @class      _DeviceManager
+ * @brief      This class contains implementaion of device control.
+ * @since 2.1
+ */
+class _OSP_EXPORT_ _DeviceManager
+{
+private:
+       _DeviceManager(void);
+       virtual ~_DeviceManager(void);
+public:
+       virtual result InitializeDevice(void);
+       virtual result DeinitializeDevice(void);
+       virtual result RegisterListner(IDeviceEventListener &listener);
+        virtual result UnregisterListner(IDeviceEventListener &listener);
+       IDeviceEventListener* GetEventListener();
+
+       virtual Tizen::Base::String GetId(void);
+       void SetBluetoothStatus(bool status);
+       virtual bool GetBluetoothStatus(void);
+       static _DeviceManager* GetInstance(void);
+private:
+       static void InitSingleton(void);
+       static void DestroySingleton(void);
+private:
+       static _DeviceManager* __pDeviceManager;
+       bool isBluetoothHeadSetConnected;
+       bool isInitBluetooth;
+       IDeviceEventListener* __pDeviceManagerListener;
+};     //_DeviceManager
+
+}} //Tizen::System
+#endif /* _FSYS_INTERNAL_DEVICE_MANAGER_H_ */
diff --git a/src/system-server/inc/FSys_PowerManager.h b/src/system-server/inc/FSys_PowerManager.h
new file mode 100644 (file)
index 0000000..77aa6ce
--- /dev/null
@@ -0,0 +1,41 @@
+//
+// Copyright (c) 2012 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.
+// You may obtain a copy of the License at
+//
+//     http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+/**
+ * @file               FSys_PowerManager.h
+ * @brief              This is the header file for the _PowerManager class.
+ */
+
+#ifndef _FSYS_SERVICE_SYS_POWER_MANAGER__H_
+#define _FSYS_SERVICE_SYS_POWER_MANAGER__H_
+
+#include <FApp.h>
+#include <FBase.h>
+
+namespace Tizen { namespace System
+{
+class _OSP_EXPORT_ _PowerManager
+{
+public:
+       static result ChangeBrightness(int brightness);
+private:
+       _PowerManager();
+       virtual ~_PowerManager();
+};
+
+} } // Tizen::System
+
+#endif  // _FSYS_SERVICE_SYS_POWER_MANAGER__H_
diff --git a/src/system-server/inc/FSys_RuntimeInfo.h b/src/system-server/inc/FSys_RuntimeInfo.h
new file mode 100644 (file)
index 0000000..6d7e033
--- /dev/null
@@ -0,0 +1,55 @@
+//
+// Copyright (c) 2012 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.
+// You may obtain a copy of the License at
+//
+//     http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+/**
+ * @file               FSys_RuntimeInfo.h
+ * @brief              This is the header file for the _RuntimeInfo class.
+ */
+
+#ifndef _FSYS_SERVICE_SYS_RUNTIME_INFO__H_
+#define _FSYS_SERVICE_SYS_RUNTIME_INFO__H_
+
+#include <pthread.h>
+
+#include <FApp.h>
+#include <FBase.h>
+
+namespace Tizen { namespace System
+{
+class _OSP_EXPORT_ _RuntimeInfo
+{
+public:
+       static _RuntimeInfo* GetInstance(void);
+
+public:
+       long long GetDirectorySize(const char* path);
+
+private:
+       _RuntimeInfo();
+       virtual ~_RuntimeInfo();
+
+       bool IsMounted(const char* path);
+       long long GetDirectorySizeIteratively(const char* path);
+
+private:
+       static _RuntimeInfo*                    __pRuntimeInfo;
+
+       pthread_mutex_t                         __directory;
+};
+
+} } // Tizen::System
+
+#endif  // _FSYS_SERVICE_SYS_RUNTIME_INFO__H_
diff --git a/src/system-server/power/FSys_PowerManager.cpp b/src/system-server/power/FSys_PowerManager.cpp
new file mode 100644 (file)
index 0000000..45d21e8
--- /dev/null
@@ -0,0 +1,65 @@
+//
+// Copyright (c) 2012 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.
+// You may obtain a copy of the License at
+//
+//     http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+/**
+ * @file               FSys_PowerManager.cpp
+ * @brief              This is the implementation file for _PowerManager class.
+ */
+
+#include <device.h>
+#include <system_info.h>
+
+#include <FBaseSysLog.h>
+#include "FSys_PowerManager.h"
+
+using namespace Tizen::Base;
+
+namespace Tizen { namespace System
+{
+
+_PowerManager::_PowerManager()
+{
+}
+
+_PowerManager::~_PowerManager()
+{
+}
+
+result
+_PowerManager::ChangeBrightness(int brightness)
+{
+       int ret = DEVICE_ERROR_NONE;
+       int maxBrightness;
+
+       ret = device_get_max_brightness(0, &maxBrightness);
+       SysTryReturnResult(NID_SYS, ret == DEVICE_ERROR_NONE, E_SYSTEM, "It failed to get the device max brightness");
+       SysTryReturnResult(NID_SYS, (brightness >= 0 && brightness <= maxBrightness), E_OUT_OF_RANGE,
+                                 "[E_OUT_OF_RANGE] The specified brightness is out of range.[%d]", brightness);
+
+       if (brightness == 0)
+       {
+               ret = device_set_brightness_from_settings(0);
+       }
+       else
+       {
+               ret = device_set_brightness(0, brightness);
+       }
+
+       SysTryReturnResult(NID_SYS, ret == DEVICE_ERROR_NONE, E_SYSTEM, "It is failed to change brightness. error code [%d]", ret);
+
+       return E_SUCCESS;
+}
+} } // Tizen::System
diff --git a/src/system-server/runtime/FSys_RuntimeInfo.cpp b/src/system-server/runtime/FSys_RuntimeInfo.cpp
new file mode 100644 (file)
index 0000000..efee27e
--- /dev/null
@@ -0,0 +1,158 @@
+//
+// Copyright (c) 2012 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.
+// You may obtain a copy of the License at
+//
+//     http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+/**
+ * @file               FSys_RuntimeInfo.cpp
+ * @brief              This is the implementation file for _RuntimeInfo class.
+ */
+
+#include <pthread.h>
+#include <errno.h>
+#include <string.h>
+#include <stdio.h>
+#include <dirent.h>
+#include <sys/stat.h>
+#include <mntent.h>
+
+#include <FBaseSysLog.h>
+#include "FSys_RuntimeInfo.h"
+
+using namespace Tizen::Base;
+
+namespace Tizen { namespace System
+{
+
+_RuntimeInfo* _RuntimeInfo::__pRuntimeInfo = null;
+
+_RuntimeInfo::_RuntimeInfo()
+{
+       pthread_mutex_init(&__directory, NULL);
+}
+
+_RuntimeInfo::~_RuntimeInfo()
+{
+       pthread_mutex_destroy(&__directory);
+}
+
+_RuntimeInfo*
+_RuntimeInfo::GetInstance(void)
+{
+       if(__pRuntimeInfo == null)
+       {
+               __pRuntimeInfo = new (std::nothrow) _RuntimeInfo();
+       }
+
+       return __pRuntimeInfo;
+}
+
+long long
+_RuntimeInfo::GetDirectorySize(const char* path)
+{
+       long long size = 0;
+
+       pthread_mutex_lock(&__directory);
+       size = GetDirectorySizeIteratively(path);
+       pthread_mutex_unlock(&__directory);
+
+       return size;
+}
+
+bool
+_RuntimeInfo::IsMounted(const char* path)
+{
+       FILE* fp = null;
+       result r = E_SUCCESS;
+       bool mounted = false;
+       const char* table = "/etc/mtab";
+       struct mntent mnt;
+       char buf[256];
+
+       fp = setmntent(table, "r");
+       SysTryCatch(NID_SYS, fp != null, r = E_SYSTEM, r, "It is failed to open mount table.");
+
+       SysLog(NID_SYS, "path: %s", path);
+       while(getmntent_r(fp, &mnt, buf, sizeof(buf)))
+       {
+               SysLog(NID_SYS, "mnt_dir: %s", mnt.mnt_dir);
+               if(strcmp(mnt.mnt_dir, path) == 0)
+               {
+                       mounted = true;
+                       break;
+               }
+       }
+
+CATCH:
+       if(fp != null)
+       {
+               endmntent(fp);
+       }
+       return mounted;
+}
+
+long long
+_RuntimeInfo::GetDirectorySizeIteratively(const char* path)
+{
+       struct dirent *de;
+       struct stat buf;
+       DIR* d = opendir(path);
+       long long total_size = 0;
+       if(d == null)
+       {
+               return 0;
+       }
+       SysLog(NID_SYS, "path %s", path);
+       for (de = readdir(d); de != null; de = readdir(d))
+       {
+               char filePath[1024] = {0,};
+               int length = strlen(path) + strlen(de->d_name);
+               SysTryReturn(NID_SYS, length > 0 && length < 1023, 0, E_INVALID_ARG, "The file path is invalid");
+               sprintf(filePath, "%s%s", path, de->d_name);
+
+               if (lstat(filePath, &buf) == 0)
+               {
+                       if (S_ISLNK(buf.st_mode) == true)
+                       {
+                               total_size += buf.st_size;
+                       }
+                       else // reg file
+                       {
+                               if(stat(filePath, &buf) == 0)
+                               {
+                                       if(S_ISDIR(buf.st_mode) == true)
+                                       {
+                                               char directoryName[1024] = {0,};
+                                               sprintf(directoryName, "%s%s/", path, de->d_name);
+                                               if(strcmp(de->d_name, ".") != 0 && strcmp(de->d_name, "..") != 0)
+                                               {
+                                                       if(IsMounted(filePath) == false)
+                                                       {
+                                                               total_size += GetDirectorySizeIteratively(directoryName);
+                                                       }
+                                               }
+                                               total_size += buf.st_size;
+                                       }
+                                       else
+                                       {
+                                               total_size += buf.st_size;
+                                       }
+                               }
+                       }
+               }
+       }
+       closedir(d);
+       return total_size;
+}
+} } // Tizen::System