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
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)
#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>
--- /dev/null
+//
+// 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_
*
* @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.
{
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);
*
* @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
*
*
* @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;
*
* @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
*/
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;
*
* @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;
* @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"
* @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
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;
*
* @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);
* @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_
*
* 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
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)
{
*
* @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)
* @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)
{
}
/**
- * 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
{
}
/**
- * 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
}
/**
- * 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
/**
* 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.
*
}
/**
- * 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)
/**
* 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
/**
- * 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)
/**
* 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.
*
/**
* 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)
}
/**
- * 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)
* @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()
*/
/**
* 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.
}
/**
- * 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
*
* @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
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);
*
* @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.
*
* @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;
*
* @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);
/**
* 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);
*
* @since 2.0
*
- * @return The capacity of the calling %BufferBase instance
+ * @return The capacity of the calling object
*/
int GetCapacity(void) const;
*
* @since 2.0
*
- * @return The limit of the calling %BufferBase instance
+ * @return The limit of the calling object
* @see SetLimit()
*/
int GetLimit(void) const;
* @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);
/**
* 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()
*/
* @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);
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
*
* @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.
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);
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);
* @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);
* @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
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;
*
* @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;
*
* @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;
*
* @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;
*
* @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;
*
* @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;
* @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;
*
* @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.
*
* @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()
*/
/**
* 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.
*
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()
*/
/**
* 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);
/**
* 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);
/**
* 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);
/**
* 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);
/**
* 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
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);
*
* @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;
*
* @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;
/**
* @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 */
};
*
* @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.
*
* 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)
* {
*
* @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);
*
* @since 2.0
*
- * @param[in] value An instance of %Character to copy
+ * @param[in] value An instance of %Character
*/
Character(const Character& value);
*
* @since 2.0
*
- * @param[in] rhs An instance of %Character to copy
+ * @param[in] rhs An instance of %Character
*/
Character& operator =(const Character& rhs);
*
* @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
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;
* @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
/**
* 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
*/
/**
* @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
/**
* 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
*/
/**
- * 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;
*
* @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
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
*
*/
/**
* @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
*/
/**
* 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);
/**
* @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
*/
/**
* 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
* @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
*/
* @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
*/
* @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
* @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
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 a @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);
*
* @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);
*
* @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.
*
* @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);
*
* @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);
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 a binary number.
+ * The radix for binary number.
*
* @since 2.0
*/
static const int RADIX_BINARY = 2;
/**
- * The radix for a 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 a 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
*/
{
/**
* @struct AllElementsDeleter
- * @brief This function object provides a resource clean-up function for a collection.
+ * @brief This function object provides a resource clean-up function for collection.
*
- * The %AllElementsDeleter struct provides a resource clean-up function for a 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
*/
* @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 >
*
* @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()
* @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.
* @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);
* @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);
* @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;
* @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()
*/
* @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;
* @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()
*/
* @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()
*/
* @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()
* @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()
* @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()
*/
* @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
* @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()
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
*
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;
*
* @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;
* @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
* @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.
* @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)
}
/**
- * 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()
}
/**
- * 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)
}
/**
- * 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
{
}
/**
- * 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
*
* 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
{
*
* @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
*
* @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)
}
/**
- * 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.
*/
/**
* 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
/**
* 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
/**
* 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
}
/**
- * 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()
}
/**
- * 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()
/**
* 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
}
/**
- * 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()
}
/**
- * 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()
*/
}
/**
- * 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()
}
/**
- * 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()
}
/**
- * Removes all the elements in the list.
+ * Removes all elements in the list.
*
* @since 2.0
*/
}
/**
- * 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)
}
/**
- * 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()
* @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)
{
}
/**
- * 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()
*/
}
/**
- * 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
* @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
}
/**
- * Compares two instances of %ArrayListT.
+ * Compares two instances of the %ArrayListT class.
*
* @since 2.0
*
* @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
{
*
* 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
*
*
* @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()
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
*
* @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
*
* @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
*
* 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;
*
* @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);
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);
*
* @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()
*/
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;
* @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;
* 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>.
*
* @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()
*/
* @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)
}
/**
- * 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,
* @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,
}
/**
- * 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()
*/
}
/**
- * 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.
}
/**
- * 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.
*
* @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
*
* @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)
}
/**
- * 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
}
/**
- * 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.
}
/**
- * 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)
}
/**
- * Removes all the key-value pairs in the map.
+ * Removes all key-value pairs in the map.
*
* @since 2.0
*/
* @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)
}
/**
- * Gets the number of pairs currently stored in the map.
+ * Gets the number of pairs currently stored in a map.
*
* @since 2.0
*
}
/**
- * 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
}
/**
- * Checks whether the map contains the specified @c value.
+ * Checks whether a map contains the specified @c value.
*
* @since 2.0
*
}
/**
- * 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
{
* @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
{
* @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)
* @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
{
}
/**
- * 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)
{
}
/**
- * 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)
{
}
/**
- * 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
{
}
/**
- * 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
{
*
* @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
/**
* 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;
*
* @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()
*/
/**
* @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
*
* @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;
/**
* @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
*
* @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;
{
/**
* @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
{
* @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;
#define _FBASE_COL_IENUMERATOR_H_
#include <FBaseTypes.h>
-
-namespace Tizen {namespace Base
-{
-class Object;
-}}
+#include <FBaseObject.h>
namespace Tizen { namespace Base { namespace Collection
{
*/
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,
//
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
/**
* @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
{
* @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;
* 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
*
* @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
*/
* @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;
* 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
* @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;
* @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()
*/
* @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()
*/
* @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()
*/
*
* @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;
* @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();
* @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()
*/
* @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();
* @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;
* @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();
* @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;
* @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();
}
/**
- * 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()
*/
/**
* 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
* @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();
}
/**
- * 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
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();
}
/**
- * 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.
*/
/**
* @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
*/
}
/**
- * 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
{
*/
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,
//
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.
* @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;
* @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()
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()
* @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;
* @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;
*
* @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;
* @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;
* @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()
*/
* @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.
*/
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;
*
* @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.
*
* 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
*/
* @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()
*/
}
/**
- * 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()
*/
*
* @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();
}
/**
- * 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();
}
/**
- * 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();
}
/**
- * 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()
*/
/**
* @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
*/
}
/**
- * Checks whether the map contains the specified @c key.
+ * Checks whether the map contains the specified key.
*
* @since 2.0
*
* 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
*
* 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;
/**
* @interface IMapEnumerator
- * @brief This interface supports a 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 a 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>.
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.
*/
* @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.
*/
* @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.
*/
/**
* @interface IMapEnumeratorT
- * @brief This interface supports a 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 a 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>.
*
* @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;
*
* @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;
/**
* @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.
*
* @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.
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;
* @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;
*
* @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
*
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.
*
* @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>.
* 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
*/
* @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;
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();
}
/**
- * 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();
}
/**
- * 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();
/**
* 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();
}
/**
- * 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()
*/
* 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
*
* @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()
/**
* @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
}
/**
- * Checks whether the map contains the specified @c key.
+ * Checks whether the map contains the specified key.
*
* @since 2.0
*
* 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
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
*
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
* {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;
*
* @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>.
* @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()
*/
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()
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.
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.
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;
* @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;
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()
* @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
*
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
*/
/**
* @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.
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
{
, __isPostEnd(rhs.__isPostEnd)
, __index(rhs.__index)
, __pEnum(__pList->GetBidirectionalEnumeratorN())
- , __currentObj(rhs.__currentObj)
{
if (!__isPostEnd)
{
}
/**
- * This is the assignment operator of the %IteratorT class.
+ * This is an assignment operator of the %IteratorT class.
*
* @since 2.1
*
}
/**
- * 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 *());
}
* @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)
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;
* @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)
* @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)
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;
* @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)
}
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();
}
/**
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
/**
* @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>.
*
*
* @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()
* @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);
* @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;
* @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()
*/
* @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()
*/
* @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()
*/
* @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()
*/
* @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()
*/
/**
- * 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
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);
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;
* @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;
* @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;
/**
* 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);
/**
* @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>.
*
* @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()
* @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)
}
/**
- * 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
{
}
/**
- * 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
{
* @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
* @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)
* @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.
*/
* @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
{
* @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
* @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
* @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()
/**
- * 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()
* @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
* @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()
}
/**
- * 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()
*/
* @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)
}
/**
- * 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()
*/
* @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)
* @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)
{
* @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
*
* @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
{
* @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
{
*
* @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)
*
* @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)
* @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
{
/**
* Moves this enumerator to the next element of the list. @n
- * When this enumerator is first created or after a 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()
*/
}
/**
- * 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)
{
*
* @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 a @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>.
*
*
* @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()
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
*
* @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()
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);
* @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);
* @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);
* @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;
* @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);
* @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()
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()
* 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()
* @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;
* @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;
/**
* @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>.
*
* @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()
*/
* @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)
* @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,
* @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,
* @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()
*/
}
/**
- * 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
*/
}
/**
- * 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
*/
}
/**
- * 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()
*/
}
/**
- * 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.
*
* @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.
* @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)
* @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()
*/
}
/**
- * Removes all the key-value pairs in this map.
+ * Removes all key-value pairs in this map.
*
* @since 2.0
*/
}
/**
- * 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)
* @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
* @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()
*/
* @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()
*/
* 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
{
* @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
{
*
* @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)
*
* @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)
*
* @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)
*
* @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.
*/
/**
* 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()
*/
*
* @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)
{
*
* @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
*
* @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.
*/
*
* @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)
*
* @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.
*/
*
* @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()
*/
*
* @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)
{
*
* @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.
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)
}
/**
- * 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)
* @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)
}
/**
- * This is the assignment operator of the %PairIteratorT class.
+ * This is assignment operator of the %PairIteratorT class.
*
* @since 2.1
*
* @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)
*
* @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 *());
}
* @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)
* @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)
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
* @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.
* @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);
* @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*)
*/
* 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
*
* @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
*/
* @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
*
* 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
* 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;
* @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;
* @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;
/**
* @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
*
* 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)
{
* @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)
* @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)
}
/**
- * Removes all the elements from this queue.
+ * Removes all the elements in this queue.
*
* @since 2.0
*/
}
/**
- * 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
{
* @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
{
* @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
* @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
* @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
{
*
* @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)
*
* @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.
*/
*
* @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()
*/
*
* @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)
{
/**
* @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.
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.");
}
RandomIteratorT(const RandomIteratorT< T >& rhs)
: __pList(rhs.__pList)
, __index(rhs.__index)
- , __currentObj(rhs.__currentObj)
{
}
*
* @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));
}
/**
*
* @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)
}
/**
- * 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)
*
* @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));
}
/**
*
* @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
*/
}
/**
- * 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
*/
}
/**
- * 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
*/
}
/**
- * 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;
}
* @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
*
{
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
* @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
* @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;
* @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;
* @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*)
*/
* 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
*
* @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
*/
* @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
* 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
}
/**
- * 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
*
* 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;
*
* @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;
* @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;
* @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)
{
* @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)
}
/**
- * 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
{
* @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
{
* @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)
}
/**
- * Pushes an object to the top of this stack.
+ * Pushes an object at the top of this stack.
*
* @since 2.0
*
}
/**
- * Removes all the elements from this stack.
+ * Removes all elements in this stack.
*
* @since 2.0
*/
}
/**
- * 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
{
* @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
* @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
{
*
* @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.
*/
* // 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
/**
* 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
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
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
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
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());
}
*
* @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);
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
*
* @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
*
* @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);
* @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);
*
* @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;
*
* @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;
*
* @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;
*
* @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;
*
* @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;
*
* @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;
* @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);
* @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);
* @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);
* @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);
* @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);
* @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);
* @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);
*
* @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
*
* @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
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
*
* @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);
* @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);
*
* @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;
* @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);
*
* @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;
*
* @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;
*
* @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;
*
* @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;
*
* @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;
*
* @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;
*
* @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);
*
* @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;
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
*
}; // DateTime
}} // Tizen::Base
-#endif // _FBASE_DATE_TIME_H_
+#endif // _FBASE_DATE_TIME_H_
\ No newline at end of file
* @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_
* 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.
*
*
* @since 2.0
*
- * @param[in] value The @c double value
+ * @param[in] value A @c double value
*/
Double(double value = 0.0L);
*
* @since 2.0
*
- * @param[in] value An instance of %Double to copy
+ * @param[in] value An instance of %Double
*/
Double(const Double& value);
*
* @since 2.0
*
- * @param[in] rhs An instance of %Double to copy
+ * @param[in] rhs An instance of %Double
*/
Double& operator =(const Double& rhs);
*
* @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
*
* @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
*/
*
* @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
*
* @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;
*
* @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);
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);
*
* @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
*/
* @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_
{
/**
* @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>.
*
* @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;
}; // DoubleComparer
}} // Tizen::Base
-#endif // _FBASE_DOUBLE_COMPARER_H_
+#endif // _FBASE_DOUBLE_COMPARER_H_
\ No newline at end of file
*
* @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
*
* @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
*
*
* @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
*/
*
* @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[]);
*
* @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
*/
*
* @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);
*
* @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;
* @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;
* @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;
*
* @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.
*/
* @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;
* @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;
*
* @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;
*
* @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.
*/
* @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;
*
* @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;
* @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);
* @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);
* @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);
* @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);
* @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);
* @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);
* @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
*/
* @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);
}; // DoubleMatrix
}} // Tizen::Base
-#endif //_FBASE_DOUBLE_MATRIX_H_
+#endif //_FBASE_DOUBLE_MATRIX_H_
\ No newline at end of file
*
* @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
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
*/
*
* @since 2.0
*
- * @param[in] rhs An instance of %DoubleMatrix3 to copy
+ * @param[in] rhs An instance of %DoubleMatrix3
*/
DoubleMatrix3(const DoubleMatrix3& rhs);
*
* @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
*/
*
* @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
*/
*
* @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);
*
* @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);
*
* @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;
*
* @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);
*
* @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);
*
* @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);
* @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;
* @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;
*
* @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;
*
* @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;
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
*/
* @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
*/
}; // DoubleMatrix3
}} // Tizen::Base
-#endif //_FBASE_DOUBLE_MATRIX3_H_
+#endif //_FBASE_DOUBLE_MATRIX3_H_
\ No newline at end of file
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
*/
*
* @since 2.0
*
- * @param[in] rhs An instance of %DoubleMatrix4 to copy
+ * @param[in] rhs An instance of %DoubleMatrix4
*/
DoubleMatrix4(const DoubleMatrix4& rhs);
*
* @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
*/
*
* @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
*/
*
* @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);
*
* @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);
*
* @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;
*
* @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);
*
* @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);
*
* @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);
* @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;
* @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;
*
* @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;
*
* @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;
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
*/
* @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);
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
*/
}; // DoubleMatrix4
}} // Tizen::Base
-#endif //_FBASE_DOUBLE_MATRIX4_H_
+#endif //_FBASE_DOUBLE_MATRIX4_H_
\ No newline at end of file
/**
* @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_
#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 a 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 a 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 a 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 a 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 a 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
* @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
{
/**
*
* @since 2.0
*
- * @param[in] value The @c float value
+ * @param[in] value A @c float value
*/
Float(float value = 0.0);
*
* @since 2.0
*
- * @param[in] value An instance of %Float to copy
+ * @param[in] value An instance of %Float
*/
Float(const Float& value);
*
* @since 2.0
*
- * @param[in] rhs An instance of %Float to copy
+ * @param[in] rhs An instance of %Float
*/
Float& operator =(const Float& rhs);
*
* @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
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
*
* @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()
*
* @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);
* @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);
*
* @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
*/
* @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_
{
/**
* @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>.
*
* @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;
*
* @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
*
* @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
*
*
* @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
*/
*
* @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[]);
*
* @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
*/
*
* @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;
*
* @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);
*
* @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;
* @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;
* @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;
*
* @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;
* @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;
*
* @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;
*
* @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;
*
* @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;
* @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;
*
* @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;
* @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
*/
*
* @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);
* @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);
* @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);
* @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
*/
* @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);
*
* @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
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
*/
*
* @since 2.0
*
- * @param[in] rhs An instance of %FloatMatrix3 to copy
+ * @param[in] rhs An instance of %FloatMatrix3
*/
FloatMatrix3(const FloatMatrix3& rhs);
*
* @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
*/
*
* @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
*/
*
* @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);
*
* @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);
*
* @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;
*
* @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;
*
* @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);
*
* @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);
*
* @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);
*
* @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;
* @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;
*
* @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;
*
* @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;
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
*/
* @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);
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
*/
*
* @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
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
*/
*
* @since 2.0
*
- * @param[in] rhs An instance of %FloatMatrix4 to copy
+ * @param[in] rhs An instance of %FloatMatrix4
*/
FloatMatrix4(const FloatMatrix4& rhs);
FloatMatrix4(const float matrix[4][4]);
/**
- * This destructor overrides Tizen::Base::Object::~Object().
+ * TThis destructor overrides Tizen::Base::Object::~Object().
*
* @since 2.0
*/
*
* @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
*/
*
* @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
*/
*
* @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);
*
* @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);
*
* @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);
*
* @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);
*
* @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);
* @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;
* @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;
*
* @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;
*
* @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;
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
*/
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
*/
--- /dev/null
+//
+// 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_
* @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_
{
/**
* @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
* 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);
* 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);
* 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);
* 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);
* 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
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;
* 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
* - 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);
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
*/
* 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
*/
* 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
*/
* 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;
/**
* @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_
{
/**
* @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>.
*
* 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);
* 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);
* 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;
*
* @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
*
* @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
*
*
* @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
*/
*
* @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[]);
*
* @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
*/
*
* @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
*/
*
* @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);
* @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;
* @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;
* @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;
*
* @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;
*
* @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;
*
* @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;
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;
*
* @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;
* @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.
*/
*
* @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;
* @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
*/
*
* @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);
*
* @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);
* @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);
* @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
*/
* @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);
* @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_
*
* @since 2.0
*
- * @param[in] value The integer value
+ * @param[in] value An integer value
*/
Integer(int value = 0);
*
* @since 2.0
*
- * @param[in] value An instance of %Integer to copy
+ * @param[in] value An instance of %Integer
*/
Integer(const Integer& value);
*
* @since 2.0
*
- * @param[in] rhs An instance of %Integer to copy
+ * @param[in] rhs An instance of %Integer
*/
Integer& operator =(const Integer& rhs);
*
* @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
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;
* @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:
*
* @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
*/
--- /dev/null
+//
+// 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_
--- /dev/null
+//
+// 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_
* @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_
{
/**
* @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>.
*
* @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;
* @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_
*
* @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).
*
* @since 2.0
*
- * @param[in] value The @c long value
+ * @param[in] value A @c long value
*/
Long(long value = 0);
*
* @since 2.0
*
- * @param[in] value An instance of %Long to copy
+ * @param[in] value An instance of %Long
*/
Long(const Long& value);
*
* @since 2.0
*
- * @param[in] rhs An instance of %Long to copy
+ * @param[in] rhs An instance of %Long
*/
Long& operator =(const Long& rhs);
*
* @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
*
* @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;
*
* @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:
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
*
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
*
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
*
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
*
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
*
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
*
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
*/
* @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_
{
/**
* @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>.
*
* @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;
* @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_
*
* @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).
*
* @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);
*
* @since 2.0
*
- * @param[in] value An instance of %LongLong to copy
+ * @param[in] value An instance of %LongLong
*/
LongLong(const LongLong& value);
*
* @since 2.0
*
- * @param[in] rhs An instance of %LongLong to copy
+ * @param[in] rhs An instance of %LongLong
*/
LongLong& operator =(const LongLong& rhs);
*
* @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
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;
*
* @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
*
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
*
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
*
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
*
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
*
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
*
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
*/
* @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_
{
/**
* @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>.
*
* @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;
* @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_
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
*
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
*
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
*
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
*
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
*
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
*
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,
//
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
//
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
* @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
*
* @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_
*
* @since 2.0
*
- * @param[in] value The @c short value
+ * @param[in] value A @c short value
*/
Short(short value = 0);
*
* @since 2.0
*
- * @param[in] value An instance of %Short to copy
+ * @param[in] value An instance of %Short
*/
Short(const Short& value);
*
* @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;
*
* @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()
*
* @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;
*
* @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);
*
* @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
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
*/
*/
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().
*
* @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
*
* @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.
*
/**
* 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
*
* @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.
*
*
* @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.
*
* @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.
*
* @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;
*
* @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);
#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
{
<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" />
--- /dev/null
+* 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
--- /dev/null
+<manifest>
+ <request>
+ <domain name="_"/>
+ </request>
+</manifest>
-%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)
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)
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)
%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}'`
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
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
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/*
%{_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*
SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag} -Wall -Wno-unused")
ENDFOREACH(flag)
-
## Add SubModules
ADD_SUBDIRECTORY(app)
ADD_SUBDIRECTORY(io)
_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_
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" )
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})
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
FBaseString.cpp
FBaseStringComparer.cpp
FBaseStringHashCodeProvider.cpp
+ FBase_StringBuffer.cpp
FBase_StringConverter.cpp
FBaseSys.cpp
FBaseTimeSpan.cpp
FBaseDoubleMatrix3.cpp
FBaseDoubleMatrix4.cpp
FBaseIntMatrix.cpp
+ FBase_NumberUtil.cpp
collection/FBaseColMapEntry.cpp
collection/FBaseColQueue.cpp
collection/FBaseColLinkedList.cpp
}
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)
{
}
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)
{
--- /dev/null
+//
+// 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
#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)
{
}
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
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;
}
return static_cast< char >(value);
}
+int8_t
+Int8::ToInt8(void) const
+{
+ return 0;
+}
+
short
Int8::ToShort(void) const
{
#include <FBaseResult.h>
#include <FBaseCharacter.h>
#include <FBaseSysLog.h>
+#include "FBase_NumberUtil.h"
namespace Tizen { namespace Base
{
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
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;
}
return static_cast< char >(value);
}
+int8_t
+Integer::ToInt8(void) const
+{
+ return static_cast< int8_t >(value);
+}
+
short
Integer::ToShort(void) const
{
--- /dev/null
+//
+// 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
--- /dev/null
+//
+// 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
#include <FBaseResult.h>
#include <FBaseCharacter.h>
#include <FBaseSysLog.h>
+#include "FBase_NumberUtil.h"
namespace Tizen { namespace Base
{
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
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
return static_cast< char >(value);
}
+int8_t
+Long::ToInt8(void) const
+{
+ return static_cast< int8_t >(value);
+}
+
short
Long::ToShort(void) const
{
#include <FBaseResult.h>
#include <FBaseCharacter.h>
#include <FBaseSysLog.h>
+#include "FBase_NumberUtil.h"
namespace Tizen { namespace Base
{
return static_cast< char >(value);
}
+int8_t
+LongLong::ToInt8(void) const
+{
+ return static_cast< int8_t >(value);
+}
+
short
LongLong::ToShort(void) const
{
}
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);
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
namespace Tizen { namespace Base
{
+Object* Object::pNullObj = null;
Object::Object(void)
{
{
return *this;
}
-
}} //Tizen::Base
"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[] =
#include <FBaseResult.h>
#include <FBaseCharacter.h>
#include <FBaseSysLog.h>
+#include "FBase_NumberUtil.h"
+#include "FApp_AppInfo.h"
namespace Tizen { namespace Base
{
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
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;
}
return static_cast< char >(value);
}
+int8_t
+Short::ToInt8(void) const
+{
+ return static_cast< int8_t >(value);
+}
+
short
Short::ToShort(void) const
{
{
return false;
}
-
return(CompareTo(rhs) == 0);
}
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
#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
{
_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);
}
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);
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
--- /dev/null
+//
+// 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
--- /dev/null
+//
+// 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_
--- /dev/null
+//
+// 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
virtual ~_ArrayListEnumerator(void);
virtual Object* GetCurrent(void) const;
+ virtual Object*& GetCurrentRef(void) const;
virtual result MoveNext(void);
virtual result Reset(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];
}
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
{
virtual ~_LinkedListEnumerator(void);
virtual Object* GetCurrent(void) const;
+ virtual Object*& GetCurrentRef(void) const;
virtual result MoveNext(void);
virtual result Reset(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;
}
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
{
* @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
*/
* @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.
*
* @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.
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_
--- /dev/null
+//
+// 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_
#include <FBaseSysLog.h>
#include "FBaseRt_Event.h"
#include "FBaseRt_EventManager.h"
+#include "FBaseRt_ThreadImpl.h"
using namespace Tizen::Base;
using namespace Tizen::Base::Collection;
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();
}
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.");
_ThreadImpl::Initialize();
+ SetMainThread();
__pEventDispatcher = pEventDispatcher;
return E_SUCCESS;
{
__thread Thread* pCurrentThread = null;
+Thread* _ThreadImpl::__pDefaultThread = null;
_ThreadImpl*
_ThreadImpl::GetCurrentThreadImpl(void)
__nativeThread = nativeThread;
}
-const ThreadPriority
+ThreadPriority
_ThreadImpl::GetPriority(void) const
{
return __priority;
}
+void
+_ThreadImpl::SetMainThread(void)
+{
+ __pDefaultThread = _pThread;
+}
+
+_ThreadImpl*
+_ThreadImpl::GetMainThreadImpl(void)
+{
+ if (__pDefaultThread != null)
+ {
+ return __pDefaultThread->__pThreadImpl;
+ }
+
+ return null;
+}
} } } // Tizen::Base::Runtime
static _ThreadImpl* GetCurrentThreadImpl(void);
+ static _ThreadImpl* GetMainThreadImpl(void);
protected:
virtual result Initialize(void);
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);
pthread_t __nativeThread;
int __exitCode;
_EventManager* __pEventManager;
+ static Thread* __pDefaultThread;
}; // _ThreadImpl
} } } // Tizen::Base::Runtime
return E_SUCCESS;
}
-}}}
\ No newline at end of file
+}}}
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})
--- /dev/null
+//
+// 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;
+}
--- /dev/null
+//
+// 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_ */
--- /dev/null
+//
+// 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_
--- /dev/null
+//
+// 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_
--- /dev/null
+//
+// 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
--- /dev/null
+//
+// 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