Adding Integer8, Integer8Comparer class and deprecating Int8, Int8Comparer class
authordarpan.ka <darpan.ka@samsung.com>
Fri, 16 Aug 2013 11:02:52 +0000 (20:02 +0900)
committerdarpan.ka <darpan.ka@samsung.com>
Fri, 16 Aug 2013 11:02:52 +0000 (20:02 +0900)
Change-Id: I6b546ad16dfac3ebe2c5729c7ef129780b9682fa
Signed-off-by: darpan.ka <darpan.ka@samsung.com>
inc/FBaseInt8.h
inc/FBaseInt8Comparer.h
inc/FBaseInteger8.h [new file with mode: 0644]
inc/FBaseInteger8Comparer.h [new file with mode: 0644]

index 30cfdfe..950347d 100644 (file)
@@ -31,6 +31,9 @@ namespace Tizen { namespace Base
 {
 /**
  * @class      Int8
+ * @brief      <i> [Deprecated] </i>
+ * @deprecated This class is deprecated because char is treated as unsigned char in ARM architecture. Use Integer8 class.
+ *
  * @brief      This class is the wrapper class for the @c signed @c char built-in type.
  *
  * @since 2.0
@@ -78,6 +81,9 @@ public:
         * Initializes this instance of %Int8 with the specified value.
         *
         * @since 2.0
+        * @brief       <i> [Deprecated] </i>
+        * @deprecated  This class is deprecated because char is treated as unsigned char in ARM architecture. Use Integer8 class.
+        *
         *
         * @param[in]   value   A @c char value
         */
@@ -87,6 +93,9 @@ public:
         * Copying of objects using this copy constructor is allowed.
         *
         * @since 2.0
+        * @brief       <i> [Deprecated] </i>
+        * @deprecated  This class is deprecated because char is treated as unsigned char in ARM architecture. Use Integer8 class.
+        *
         *
         * @param[in]   value   An instance of %Int8
         */
@@ -96,6 +105,9 @@ public:
         * This destructor overrides Tizen::Base::Object::~Object().
         *
         * @since 2.0
+        * @brief       <i> [Deprecated] </i>
+        * @deprecated  This class is deprecated because char is treated as unsigned char in ARM architecture. Use Integer8 class.
+        *
         */
        virtual ~Int8(void);
 
@@ -103,6 +115,8 @@ public:
         * Copying of objects using this copy assignment operator is allowed.
         *
         * @since 2.0
+        * @brief       <i> [Deprecated] </i>
+        * @deprecated  This class is deprecated because char is treated as unsigned char in ARM architecture. Use Integer8 class.
         *
         * @param[in]   rhs     An instance of %Int8
         */
@@ -112,6 +126,8 @@ public:
         * Compares two @c char values.
         *
         * @since 2.0
+        * @brief       <i> [Deprecated] </i>
+        * @deprecated  This class is deprecated because char is treated as unsigned char in ARM architecture. Use Integer8 class.
         *
         * @return              A 32-bit @c signed integer value
         * @code
@@ -128,6 +144,8 @@ public:
         * 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              A 32-bit @c signed integer value
         * @code
@@ -143,6 +161,8 @@ public:
         * Checks whether the value of the specified instance of %Int8 is equal to the value of the current instance.
         *
         * @since 2.0
+        * @brief       <i> [Deprecated] </i>
+        * @deprecated  This class is deprecated because char is treated as unsigned char in ARM architecture. Use Integer8 class.
         *
         * @return              @c true if the value of the specified instance is equal to the value of the current instance, @n
         *                              else @c false
@@ -152,9 +172,11 @@ public:
        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         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,
@@ -164,19 +186,23 @@ public:
        virtual int GetHashCode(void) const;
 
        /**
-       *   Gets the hash value of the specified @c char value.
-       *
-       *   @since 2.0
-       *
-       *   @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
-       */
+        * 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       A string representing a numeric value
@@ -209,6 +235,8 @@ public:
         * 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       A string representing a numeric value
@@ -226,6 +254,8 @@ public:
         * returns the value as @c signed @c char (as out parameter).
         *
         * @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 char equivalent of the specified string representing the numeric value using the specified index
         * @param[in]   s       A string representing a numeric value
@@ -243,6 +273,8 @@ public:
         * Gets the @c signed @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.
         *
         * @return      The @c signed @c char equivalent of the current instance
         */
@@ -252,6 +284,8 @@ public:
         * 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
         */
@@ -261,6 +295,8 @@ public:
         * Gets the @c signed @c int equivalent of the current instance of %Int8.
         *
         * @since 2.0
+        * @brief       <i> [Deprecated] </i>
+        * @deprecated  This class is deprecated because char is treated as unsigned char in ARM architecture. Use Integer8 class.
         *
         * @return      The @c signed @c int equivalent of the current instance
         */
@@ -270,24 +306,30 @@ public:
         * Gets the @c signed @c long equivalent of the current instance of %Int8.
         *
         * @since 2.0
+        * @brief       <i> [Deprecated] </i>
+        * @deprecated  This class is deprecated because char is treated as unsigned char in ARM architecture. Use Integer8 class.
         *
         * @return      The @c signed @c long equivalent of the current instance
         */
        virtual long ToLong(void) const;
 
        /**
-       * Gets the @c signed @c long @c long equivalent of the current instance of %Int8.
-       *
-       * @since 2.0
-       *
-       * @return       The @c signed @c long @c long equivalent of the current instance
-       */
+        * Gets the @c signed @c long @c long equivalent of the current instance of %Int8.
+        *
+        * @since 2.0
+        * @brief       <i> [Deprecated] </i>
+        * @deprecated  This class is deprecated because char is treated as unsigned char in ARM architecture. Use Integer8 class.
+        *
+        * @return      The @c signed @c long @c long equivalent of the current instance
+        */
        virtual long long ToLongLong(void) const;
 
        /**
         * Gets the @c signed @c float equivalent of the current instance of %Int8.
         *
         * @since 2.0
+        * @brief       <i> [Deprecated] </i>
+        * @deprecated  This class is deprecated because char is treated as unsigned char in ARM architecture. Use Integer8 class.
         *
         * @return      The @c signed @c float equivalent of the current instance
         */
@@ -297,6 +339,8 @@ public:
         * Gets the @c signed @c double equivalent of the current instance of %Int8.
         *
         * @since 2.0
+        * @brief       <i> [Deprecated] </i>
+        * @deprecated  This class is deprecated because char is treated as unsigned char in ARM architecture. Use Integer8 class.
         *
         * @return      The @c signed @c double equivalent of the current instance
         */
@@ -306,6 +350,8 @@ public:
         * 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              A string representing the value of the current instance
         */
@@ -315,6 +361,8 @@ public:
         * 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              A string containing a Unicode representation of the specified @c char value using radix 10
         * @param[in]   value   A @c char value
@@ -326,6 +374,9 @@ public:
         * 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;
 
@@ -334,6 +385,9 @@ public:
         * 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;
 
@@ -341,6 +395,9 @@ public:
         * A @c signed @c char value of this instance.
         *
         * @since 2.0
+        * @brief       <i> [Deprecated] </i>
+        * @deprecated  This class is deprecated because char is treated as unsigned char in ARM architecture. Use Integer8 class.
+        *
         */
        signed char value;
 
index e76551d..df257e2 100644 (file)
@@ -17,6 +17,8 @@
 /**
  * @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.
  *
  * @see                        Int8 and Tizen::Base::Collection::IComparer
  *
@@ -74,6 +76,8 @@ public:
         *      This is the default constructor for this class.
         *
         *      @since 2.0
+        * @brief       <i> [Deprecated] </i>
+        * @deprecated  This class is deprecated because char is treated as unsigned char in ARM architecture. Use Integer8Comparer class.
         */
        Int8Comparer(void);
 
@@ -82,6 +86,8 @@ public:
         *      This destructor overrides Tizen::Base::Object::~Object().
         *
         *      @since 2.0
+        * @brief       <i> [Deprecated] </i>
+        * @deprecated  This class is deprecated because char is treated as unsigned char in ARM architecture. Use Integer8Comparer class.
         */
        virtual ~Int8Comparer(void);
 
@@ -89,6 +95,8 @@ public:
         *      Compares two given instances of type Int8.
         *
         *      @since 2.0
+        * @brief       <i> [Deprecated] </i>
+        * @deprecated  This class is deprecated because char is treated as unsigned char in ARM architecture. Use Integer8Comparer class.
         *
         *  @return             An error code
         *  @param[in]  obj1    The first instance of type Int8
diff --git a/inc/FBaseInteger8.h b/inc/FBaseInteger8.h
new file mode 100644 (file)
index 0000000..c656988
--- /dev/null
@@ -0,0 +1,355 @@
+//
+// 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.
+        * @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& 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.
+        * @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.
+        * @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 signed @c char equivalent of the current instance of %Integer8.
+        *
+        * @since 3.0
+        *
+        * @return      The @c signed @c char equivalent of the current instance
+        * @remarks     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
+        *
+        */
+       virtual char ToChar(void) const;
+
+       /**
+        * Gets the @c signed @c short equivalent of the current instance of %Integer8.
+        *
+        * @since 3.0
+        *
+        * @return      The @c signed @c short equivalent of the current instance
+        */
+       virtual short ToShort(void) const;
+
+       /**
+        * Gets the @c signed @c int equivalent of the current instance of %Integer8.
+        *
+        * @since 3.0
+        *
+        * @return      The @c signed @c int equivalent of the current instance
+        */
+       virtual int ToInt(void) const;
+
+       /**
+        * Gets the @c signed @c long equivalent of the current instance of %Integer8.
+        *
+        * @since 3.0
+        *
+        * @return      The @c signed @c long equivalent of the current instance
+        */
+       virtual long ToLong(void) const;
+
+       /**
+       * Gets the @c signed @c long @c long equivalent of the current instance of %Integer8.
+       *
+       * @since 3.0
+       *
+       * @return       The @c signed @c long @c long equivalent of the current instance
+       */
+       virtual long long ToLongLong(void) const;
+
+       /**
+        * Gets the @c signed @c float equivalent of the current instance of %Integer8.
+        *
+        * @since 3.0
+        *
+        * @return      The @c signed @c float equivalent of the current instance
+        */
+       virtual float ToFloat(void) const;
+
+       /**
+        * Gets the @c signed @c double equivalent of the current instance of %Integer8.
+        *
+        * @since 3.0
+        *
+        * @return      The @c signed @c double equivalent of the current instance
+        */
+       virtual double ToDouble(void) const;
+
+       /**
+        * Gets the string representing the value of the current instance of %Integer8 using radix @c 10.
+        *
+        * @since 3.0
+        *
+        * @return              A string representing the value of the current instance using radix 10
+        */
+       virtual String ToString(void) const;
+
+       /**
+        * Gets the string representing the specified @c signed 8-bits integral @c int8_t value using radix @c 10.
+        *
+        * @since 3.0
+        *
+        * @return              A string containing a Unicode representation of the specified @c signed 8-bits integral @c int8_t value using radix 10
+        * @param[in]   value   A @c signed 8-bits integral @c int8_t value
+        */
+       static String ToString(int8_t value);
+
+       /**
+        * A constant holding the maximum value of type @c signed 8-bits integral value. @n
+        * A @c signed 8-bits integral can hold a maximum value of upto 2^7-1.
+        *
+        * @since 3.0
+        */
+       static const int8_t VALUE_MAX = static_cast<int8_t> (0x7F);
+
+       /**
+        * A constant holding the minimum value of type @c signed 8-bits integral value. @n
+        * A @c signed 8-bits integral can hold a minimum value of upto -2^7.
+        *
+        * @since 3.0
+        */
+       static const int8_t VALUE_MIN = static_cast<int8_t> (0x80);
+
+       /**
+        * A @c signed @c signed 8-bits integral value of this instance.
+        *
+        * @since 3.0
+        */
+       int8_t value;
+
+
+private:
+       friend class _Integer8Impl;
+       class _Integer8Impl* __pInteger8Impl;
+
+}; // Integer8
+
+}} // Tizen::Base
+
+#endif //_FBASE_INTEGER8_H_
diff --git a/inc/FBaseInteger8Comparer.h b/inc/FBaseInteger8Comparer.h
new file mode 100644 (file)
index 0000000..a1b3198
--- /dev/null
@@ -0,0 +1,128 @@
+//
+// Copyright (c) 2013 Samsung Electronics Co., Ltd.
+//
+// Licensed under the Apache License, Version 2.0 (the License);
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//     http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+/**
+ * @file               FBaseInteger8Comparer.h
+ * @brief              This is the header file for the %Integer8Comparer class.
+ *
+ * @see                        Integer8 and Tizen::Base::Collection::IComparer
+ *
+ * This header file contains the declarations of the %Integer8Comparer class.
+ */
+#ifndef  _FBASE_INTEGER8_COMPARER_H_
+#define  _FBASE_INTEGER8_COMPARER_H_
+
+#include <FBaseTypes.h>
+#include <FBaseObject.h>
+#include <FBaseColIComparer.h>
+
+namespace Tizen { namespace Base
+{
+/**
+ *     @class  Integer8Comparer
+ *     @brief  This class checks for equivalence between 2 instances of the %Integer8 type.
+ *
+ *     @since 3.0
+ *
+ *     The %Integer8Comparer class checks for equivalence between 2 instances of the Integer8 type.
+ *
+ * For more information on the class features, see <a href="../org.tizen.native.appprogramming/html/guide/base/collection_comparison.htm">Collection Comparisons</a>.
+ *
+ * The following example demonstrates how to use the %Integer8Comparer class.
+ *
+ *     @code
+ *
+ *     #include <FBase.h>
+ *
+ *     using namespace Tizen::Base;
+ *
+ *     void
+ *     MyClass::Integer8ComparerSample(void)
+ *     {
+ *             Integer8 i1(123);
+ *             Integer8 i2(124);
+ *             Integer8Comparer comparer;
+ *
+ *             int cmp;
+ *             comparer.Compare(i1, i2, cmp);
+ *             if (cmp < 0)
+ *             {
+ *                     // ...
+ *             }
+ *     }
+ *     @endcode
+ */
+class _OSP_EXPORT_ Integer8Comparer
+       : public Object
+       , public virtual Tizen::Base::Collection::IComparer
+{
+public:
+       /**
+        *      This is the default constructor for this class.
+        *
+        *      @since 3.0
+        */
+       Integer8Comparer(void);
+
+
+       /**
+        *      This destructor overrides Tizen::Base::Object::~Object().
+        *
+        *      @since 3.0
+        */
+       virtual ~Integer8Comparer(void);
+
+       /**
+        *      Compares two given instances of type Integer8.
+        *
+        *      @since 3.0
+        *
+        *  @return             An error code
+        *  @param[in]  obj1    The first instance of type Integer8
+        *  @param[in]  obj2    The second instance of type Integer8
+        *  @param[out] cmp             The result of comparison
+        *  @exception  E_SUCCESS               The method is successful.
+        *  @exception  E_INVALID_ARG   The specified object instances are not of the expected type.
+        *  @remarks    The value of @c cmp can be:
+        *
+        *      @code
+        *      <  0  if the value of @c obj1 is less than the value of @c obj2
+        *      == 0  if the value of @c obj1 is equal to the value of @c obj2
+        *      >  0  if the value of @c obj1 is greater than the value of @c obj2
+        *      @endcode
+        */
+       virtual result Compare(const Tizen::Base::Object& obj1, const Tizen::Base::Object& obj2, int& cmp) const;
+
+
+private:
+       //
+       // The implementation of this copy constructor is intentionally blank and declared as private to prohibit copying of objects.
+       //
+       Integer8Comparer(const Integer8Comparer& obj);
+
+       //
+       // The implementation of this copy assignment operator is intentionally blank and declared as private to prohibit copying of objects.
+       //
+       Integer8Comparer& operator =(const Integer8Comparer& rhs);
+
+       friend class _Integer8ComparerImpl;
+       class _Integer8ComparerImpl* __pInteger8ComparerImpl;
+
+}; // Integer8Comparer
+
+}} // Tizen::Base
+
+#endif //  _FBASE_INTEGER8_COMPARER_H_