Enable build with iniparser v 3.1
[platform/framework/native/appfw.git] / inc / FTextUcs2Encoding.h
1 //
2 // Copyright (c) 2012 Samsung Electronics Co., Ltd.
3 //
4 // Licensed under the Apache License, Version 2.0 (the License);
5 // you may not use this file except in compliance with the License.
6 // You may obtain a copy of the License at
7 //
8 //     http://www.apache.org/licenses/LICENSE-2.0
9 //
10 // Unless required by applicable law or agreed to in writing, software
11 // distributed under the License is distributed on an "AS IS" BASIS,
12 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 // See the License for the specific language governing permissions and
14 // limitations under the License.
15 //
16
17 /**
18  * @file                FTextUcs2Encoding.h
19  * @brief               This is the header file for the %Ucs2Encoding class.
20  *
21  * This header file contains the declarations of the %Ucs2Encoding class.
22  * This class is derived from the Encoding class.
23  */
24 #ifndef _FTEXT_UCS2_ENCODING_H_
25 #define _FTEXT_UCS2_ENCODING_H_
26
27 #include <FTextEncoding.h>
28
29
30 namespace Tizen { namespace Text
31 {
32 /**
33  * @class       Ucs2Encoding
34  * @brief       This class is an implementation of the UCS-2 encoding.
35  *
36  * @since       2.0
37  *
38  * @final       This class is not intended for extension.
39  *
40  * The %Ucs2Encoding class is an implementation of the UCS-2 encoding.
41  * Universal Character Set (UCS2) is a two-octet per character encoding type with a fixed width.
42  * UCS2 prepares several characters in advance to output the needed information fast.
43  * When printing out characters, users can avail different types of character sets.
44  *
45  *  For more information on the class features, see <a href="../org.tizen.native.appprogramming/html/guide/text/converting_all_text_data.htm">Converting All Text Data at Once</a>.
46  *
47  * The following example demonstrates how to use the %Ucs2Encoding class.
48  *
49  *  @code
50  *      #include <FBase.h>
51  *      #include <FText.h>
52  *
53  *      using namespace Tizen::Base;
54  *      using namespace Tizen::Text;
55  *
56  *      void
57  *      MyClass::Ucs2EncodingSample(void)
58  *      {
59  *              Ucs2Encoding ucs2;
60  *
61  *              String str(L"(\u03a0) and (\u03a3)"); // sigma and pi
62  *
63  *              int byteCount;
64  *              ucs2.GetByteCount(str, byteCount);
65  *
66  *              // Encodes
67  *              ByteBuffer* pBuffer = ucs2.GetBytesN(str);
68  *
69  *              int charCount;
70  *              ucs2.GetCharCount(*pBuffer, charCount);
71  *
72  *              // Decodes
73  *              String decodedStr;
74  *              ucs2.GetString(*pBuffer, decodedStr);
75  *
76  *              if (str.Equals(decodedStr))
77  *              {
78  *                      //....
79  *              }
80  *
81  *              delete pBuffer;
82  *      }
83  *
84  * @endcode
85  *
86  */
87
88 class _OSP_EXPORT_ Ucs2Encoding
89         : public Encoding
90 {
91 public:
92         /**
93          * This is the default constructor for this class.
94          *
95          * @since       2.0
96          */
97         Ucs2Encoding(void);
98
99         /**
100          * This is the destructor for this class. @n
101          * This destructor overrides Tizen::Text::Encoding::~Encoding().
102          *
103          * @since       2.0
104          */
105         virtual ~Ucs2Encoding(void);
106
107         /**
108          * Gets the total number of bytes that are generated by encoding an instance of Tizen::Base::String.
109          *
110          * @since                               2.0
111          *
112          * @return                      An error code
113          * @param[in]           str                      The string to encode
114          * @param[out]  byteCount                    The total number of bytes required to encode the string
115          * @exception           E_SUCCESS                The method is successful.
116          * @exception           E_INVALID_ARG            Either of the following conditions has occurred:
117          *                                                               - A specified input parameter is invalid.
118          *                                                               - The specified @c str is an empty string.
119          * @exception           E_INVALID_ENCODING_RANGE The specified string contains code points that are outside the bounds of the character encoding scheme.
120          * @remarks     This method determines the exact number of bytes
121          *              that are produced if the given string is encoded.
122          * @see         GetMaxByteCount()
123          */
124         virtual result GetByteCount(const Tizen::Base::String& str, int& byteCount) const;
125
126         /**
127          * Gets the total number of bytes that are generated by encoding an instance of Tizen::Base::WcharBuffer.
128          *
129          * @since                               2.0
130          *
131          * @return                      An error code
132          * @param[in]           chars                 An instance of Tizen::Base::WcharBuffer to encode
133          * @param[out]  byteCount                 The total number of bytes required to encode the specified range of characters
134          * @exception           E_SUCCESS             The method is successful.
135          * @exception           E_INVALID_ARG         Either of the following conditions has occurred:
136          *                                                               - A specified input parameter is invalid.
137          *                                                               - The specified @c chars is empty.
138          * @exception           E_INVALID_ENCODING_RANGE The specified string contains code points that are outside the bounds of the character encoding scheme.
139          * @remarks     This method determines the exact number of bytes
140          *              that are produced if the given array of characters is encoded.
141          * @see         GetMaxByteCount()
142          */
143         virtual result GetByteCount(const Tizen::Base::WcharBuffer& chars, int& byteCount) const;
144
145         /**
146          * Gets the total number of bytes that are required to encode a range of characters in the specified Tizen::Base::WcharBuffer instance.
147          *
148          * @since                               2.0
149          *
150          * @return                      An error code
151          * @param[in]           chars                    An instance of Tizen::Base::WcharBuffer to encode
152          * @param[in]           charIndex                The index from where the encoding begins in the Tizen::Base::WcharBuffer instance
153          * @param[in]   charCount                    The total number of characters to encode
154          * @param[out]  byteCount                    The total number of bytes required to encode the specified range of characters
155          * @exception           E_SUCCESS                The method is successful.
156          * @exception           E_INVALID_ARG            Either of the following conditions has occurred:
157          *                                                               - A specified input parameter is invalid.
158          *                                                               - The specified @c chars is empty.
159          * @exception           E_OUT_OF_RANGE               Either of the following conditions has occurred:
160          *                                                               - A specified inout parameter is outside the valid range defined by the method.
161          *                                                               - The length of the specified @c charIndex or @c charCount is greater than the length of the specified @c chars.
162          * @exception   E_UNDERFLOW                  Either of the following conditions has occurred:
163          *                                                               - This operation has caused the memory to underflow.
164          *                                                               - The sum of the length of the specified @c charIndex and @c charCount is greater than the length of the specified @c chars.
165          * @exception           E_INVALID_ENCODING_RANGE The specified string contains code points that are outside the bounds of the character encoding scheme.
166          * @remarks     This method determines the exact number of bytes
167          *              that are produced if the given array of characters is encoded.
168          * @see                 GetMaxByteCount()
169          */
170         virtual result GetByteCount(const Tizen::Base::WcharBuffer& chars, int charIndex, int charCount, int& byteCount) const;
171
172
173         /**
174          * Encodes an instance of Tizen::Base::WcharBuffer into an instance of Tizen::Base::ByteBuffer.
175          *
176          * @since                       2.0
177          *
178          * @return              A pointer to the Tizen::Base::ByteBuffer instance where the resultant encoded string is stored, @n
179          *              else @c null if an exception occurs @n
180          *                              The buffer limit is the position of the last encoded byte plus one and the starting position is zero.
181          * @param[in]   chars                    An instance of Tizen::Base::WcharBuffer to encode
182          * @exception   E_SUCCESS                The method is successful.
183          * @exception   E_OUT_OF_MEMORY          The memory is insufficient.
184          * @exception   E_INVALID_ARG            The specified @c chars is empty or invalid.
185          * @exception   E_INVALID_ENCODING_RANGE The specified string contains code points that are outside the bounds of the character encoding scheme.
186          * @remarks             The specific error code can be accessed using the GetLastResult() method.
187          * @see                         GetCharsN()
188          */
189         virtual Tizen::Base::ByteBuffer* GetBytesN(const Tizen::Base::WcharBuffer& chars) const;
190
191         /**
192          * Encodes an instance of Tizen::Base::String into an instance of Tizen::Base::ByteBuffer.
193          *
194          * @since                       2.0
195          *
196          * @return              A pointer to the Tizen::Base::ByteBuffer instance where the resultant encoded string is stored, @n
197          *              else @c null if an exception occurs @n
198          *                              The buffer limit is the position of the last encoded byte plus one and the starting position is zero.
199          * @param[in]   str                      The string to encode
200          * @exception       E_SUCCESS            The method is successful.
201          * @exception   E_OUT_OF_MEMORY          The memory is insufficient.
202          * @exception   E_INVALID_ARG            The specified @c str is empty or invalid.
203          * @exception   E_INVALID_ENCODING_RANGE The specified string contains code points that are outside the bounds of the character encoding scheme.
204          * @remarks             The specific error code can be accessed using the GetLastResult() method.
205          * @see                         GetString()
206          */
207         virtual Tizen::Base::ByteBuffer* GetBytesN(const Tizen::Base::String& str) const;
208
209         /**
210          * Encodes an instance of Tizen::Base::WcharBuffer into an instance of Tizen::Base::ByteBuffer as per the specified range. @n
211          * The position and limit of the pointer to the %Tizen::Base::ByteBuffer instance is not changed.
212          *
213          * @since                       2.0
214          *
215          * @return              An error code
216          * @param[in]   chars                    An instance of Tizen::Base::WcharBuffer to encode
217          * @param[in]   charIndex                The index from where encoding begins in the Tizen::Base::WcharBuffer instance
218          * @param[in]   charCount                The total number of characters to encode
219          * @param[out]  bytes                    The Tizen::Base::ByteBuffer instance where the resultant encoded string is stored
220          * @param[in]   byteIndex                The starting index of the resultant encoding in the Tizen::Base::ByteBuffer instance
221          * @exception   E_SUCCESS                The method is successful.
222          * @exception   E_OUT_OF_MEMORY          The memory is insufficient.
223          * @exception   E_INVALID_ARG            Either of the following conditions has occurred:
224          *                                                               - A specified input parameter is invalid.
225          *                                                               - The specified @c chars or @c bytes is empty.
226          * @exception   E_OUT_OF_RANGE           Either of the following conditions has occurred:
227          *                                                               - A specified input parameter is outside the valid range defined by the method.
228          *                                                               - The length of the specified @c charIndex or @c charCount is greater than the length of the specified @c chars.
229          * @exception E_UNDERFLOW                    Either of the following conditions has occurred:
230          *                                                               - This operation has caused the memory to underflow.
231          *                                                               - The sum of the length of the specified @c charIndex and @c charCount is greater than the length of the specified @c chars.
232          * @exception   E_OVERFLOW               Either of the following conditions has occurred:
233          *                                                               - This operation has caused the memory to overflow.
234          *                                                               - The specified @c bytes does not contain sufficient space to store the encoded characters.
235          * @exception   E_INVALID_ENCODING_RANGE The specified string contains code points that are outside the bounds of the character encoding scheme.
236          * @remarks     This method encodes a range of characters in a Tizen::Base::WcharBuffer into a range of bytes in a Tizen::Base::ByteBuffer.
237          * @see                         GetChars()
238          */
239         virtual result GetBytes(const Tizen::Base::WcharBuffer& chars, int charIndex, int charCount,
240                 Tizen::Base::ByteBuffer& bytes, int byteIndex = 0) const;
241
242         /**
243          * Encodes an instance of Tizen::Base::String into an instance of Tizen::Base::ByteBuffer as per the specified range. @n
244          * The position and limit of the pointer to the %Tizen::Base::ByteBuffer instance is not changed.
245          *
246          * @since                       2.0
247          *
248          * @return              An error code
249          * @param[in]   str                       The string to encode
250          * @param[in]   charIndex                 The index from where the encoding begins in the Tizen::Base::WcharBuffer instance
251          * @param[in]   charCount                 The total number of characters to encode
252          * @param[out]  bytes                     The Tizen::Base::ByteBuffer instance where the resultant encoded string is stored
253          * @param[in]   byteIndex                 The starting index of the resultant encoding in the Tizen::Base::ByteBuffer instance
254          * @exception   E_SUCCESS                 The method is successful.
255          * @exception   E_OUT_OF_MEMORY           The memory is insufficient.
256          * @exception   E_INVALID_ARG             Either of the following conditions has occurred:
257          *                                                               - A specified input parameter is invalid.
258          *                                                               - The specified @c str or @c bytes is empty.
259          * @exception   E_OUT_OF_RANGE                    Either of the following conditions has occurred:
260          *                                                               - A specified input parameter is outside the valid range defined by the method.
261          *                                                               - The length of the specified @c charIndex or @c charCount is greater than the length of the specified @c str.
262          * @exception   E_UNDERFLOW               Either of the following conditions has occurred:
263          *                                                               - This operation has caused the memory to underflow.
264          *                                                               - The sum of the length of the specified @c charIndex and @c charCount is greater than the length of the specified @c str.
265          * @exception   E_OVERFLOW                Either of the following conditions has occurred:
266          *                                                               - This operation has caused the memory to overflow.
267          *                                                               - The specified @c bytes does not contain sufficient space to store the encoded characters.
268          * @exception   E_INVALID_ENCODING_RANGE The specified string contains code points that are outside the bounds of the character encoding scheme.
269          * @see                         GetString()
270          */
271         virtual result GetBytes(const Tizen::Base::String& str, int charIndex, int charCount,
272                 Tizen::Base::ByteBuffer& bytes, int byteIndex = 0) const;
273
274         /**
275          * Gets the total number of characters that are generated by decoding an instance of Tizen::Base::ByteBuffer.
276          *
277          * @since                       2.0
278          *
279          * @return              An error code
280          * @param[in]   bytes                    An instance of Tizen::Base::ByteBuffer to decode
281          * @param[out]  charCount                The total number of characters that are generated by decoding the specified Tizen::Base::ByteBuffer instance
282          * @exception   E_SUCCESS                The method is successful.
283          * @exception   E_INVALID_ARG            Either of the following conditions has occurred:
284          *                                                               - A specified input parameter is invalid.
285          *                                                               - The specified @c bytes is empty.
286          * @exception   E_INVALID_ENCODING_RANGE The specified string contains code points that are outside the bounds of the character encoding scheme.
287          * @remarks     This method determines the exact number of characters
288          *              that are produced if the given range of bytes is converted.
289          * @see                         GetMaxCharCount()
290          */
291         virtual result GetCharCount(const Tizen::Base::ByteBuffer& bytes, int& charCount) const;
292
293         /**
294          * Gets the total number of characters that are generated by decoding a range of elements specified in the Tizen::Base::ByteBuffer instance.
295          *
296          * @since                       2.0
297          *
298          * @return              An error code
299          * @param[in]   bytes                    An instance of Tizen::Base::ByteBuffer to decode
300          * @param[in]   byteIndex                The index from where the decoding begins
301          * @param[in]   byteCount                The total number of bytes to decode
302          * @param[out]  charCount                The total number of characters that are generated by decoding the specified Tizen::Base::ByteBuffer instance
303          * @exception   E_SUCCESS                The method is successful.
304          * @exception   E_INVALID_ARG            Either of the following conditions has occurred:
305          *                                                               - A specified input parameter is invalid.
306          *                                                               - The specified @c bytes is empty.
307          * @exception   E_OUT_OF_RANGE           Either of the following conditions has occurred:
308          *                                                               - A specified input parameter is outside the valid range defined by the method.
309          *                                                               - The length of the specified @c byteIndex or @c byteCount is greater than the length of the specified @c bytes.
310          * @exception   E_UNDERFLOW              Either of the following conditions has occurred:
311          *                                                               - This operation has caused the memory to underflow.
312          *                                                               - The sum of the length of the specified @c byteIndex and @c byteCount is greater than the length of the specified @c bytes.
313          * @exception   E_INVALID_ENCODING_RANGE The specified string contains code points that are outside the bounds of the character encoding scheme.
314          * @remarks     This method determines the exact number of characters
315          *              that are produced if the given range of bytes is converted.
316          * @see                         GetMaxCharCount()
317          */
318         virtual result GetCharCount(const Tizen::Base::ByteBuffer& bytes, int byteIndex, int byteCount, int& charCount) const;
319
320         /**
321          * Decodes an instance of Tizen::Base::ByteBuffer into an instance of Tizen::Base::WcharBuffer.
322          *
323          * @since                       2.0
324          *
325          * @return              A pointer to the Tizen::Base::WcharBuffer instance where the resultant decoded data is stored, @n
326          *              else @c null if an exception occurs @n
327          *                          The buffer limit is the position of the last decoded byte plus one and the starting position is zero.
328          * @param[in]   bytes                    An instance of Tizen::Base::ByteBuffer to decode
329          * @exception   E_SUCCESS                The method is successful.
330          * @exception   E_OUT_OF_MEMORY          The memory is insufficient.
331          * @exception   E_INVALID_ARG            The specified @c bytes is empty or invalid.
332          * @exception   E_INVALID_ENCODING_RANGE The specified string contains code points that are outside the bounds of the character encoding scheme.
333          * @remarks             The specific error code can be accessed using the GetLastResult() method.
334          * @see                         GetBytesN()
335          */
336         virtual Tizen::Base::WcharBuffer* GetCharsN(const Tizen::Base::ByteBuffer& bytes) const;
337
338         /**
339          * Decodes an instance of Tizen::Base::ByteBuffer into an instance of Tizen::Base::WcharBuffer as per the specified range. @n
340          * The position and limit of the pointer to the %Tizen::Base::WcharBuffer instance is not changed.
341          *
342          * @since                       2.0
343          *
344          * @return              An error code
345          * @param[in]   bytes                    An instance of Tizen::Base::ByteBuffer to decode
346          * @param[in]   byteIndex                The index from where the decoding begins
347          * @param[in]   byteCount                The total number of bytes to decode
348          * @param[out]  chars                    The Tizen::Base::WcharBuffer instance where the resultant decoded data is stored
349          * @param[in]   charIndex                The index from where the encoding begins in the Tizen::Base::WcharBuffer instance
350          * @exception   E_SUCCESS                The method is successful.
351          * @exception   E_OUT_OF_MEMORY          The memory is insufficient.
352          * @exception   E_INVALID_ARG            Either of the following conditions has occurred:
353          *                                                               - A specified input parameter is invalid.
354          *                                                               - The specified @c bytes or @ chars is empty.
355          * @exception   E_OUT_OF_RANGE           Either of the following conditions has occurred:
356          *                                                               - A specified input parameter is outside the valid range defined by the method.
357          *                                                               - The length of the specified @c byteIndex or @c byteCount is greater than the length of the specified @c bytes.
358          * @exception   E_UNDERFLOW                  Either of the following conditions has occurred:
359          *                                                               - This operation has caused the memory to underflow.
360          *                                                               - The sum of the length of the specified @c byteIndex and @c byteCount is greater than the length of the specified @c bytes.
361          * @exception E_OVERFLOW                     Either of the following conditions has occurred:
362          *                                                               - This operation has caused the memory to overflow.
363          *                                                               - The specified @c chars does not contain sufficient space to store the decoded bytes.
364          * @exception   E_INVALID_ENCODING_RANGE The specified string contains code points that are outside the bounds of the character encoding scheme.
365          * @see                         GetBytes()
366          */
367         virtual result GetChars(const Tizen::Base::ByteBuffer& bytes, int byteIndex, int byteCount,
368                 Tizen::Base::WcharBuffer& chars, int charIndex = 0) const;
369
370         /**
371          * Gets a string that contains the decoded representation of the specified Tizen::Base::ByteBuffer instance.
372          *
373          * @since                       2.0
374          *
375          * @return              An error code
376          * @param[in]   bytes                    An instance of Tizen::Base::ByteBuffer to decode
377          * @param[out]  str                      A Tizen::Base::String instance @n
378          *                                       It contains the decoded representation of the specified Tizen::Base::ByteBuffer instance.
379          * @exception   E_SUCCESS                The method is successful.
380          * @exception   E_OUT_OF_MEMORY          The memory is insufficient.
381          * @exception   E_INVALID_ARG            Either of the following conditions has occurred:
382          *                                                               - A specified input parameter is invalid.
383          *                                                               - The specified @c bytes is empty.
384          * @exception   E_INVALID_ENCODING_RANGE The specified string contains code points that are outside the bounds of the character encoding scheme.
385          * @see                         GetBytesN()
386          */
387         virtual result GetString(const Tizen::Base::ByteBuffer& bytes, Tizen::Base::String& str) const;
388
389         /**
390          * Gets a string that contains the decoded representation of the specified Tizen::Base::ByteBuffer instance.
391          *
392          * @since                       2.0
393          *
394          * @return              An error code
395          * @param[in]   bytes                     An instance of Tizen::Base::ByteBuffer to decode
396          * @param[in]   index                     The index from where the decoding begins
397          * @param[in]   count                     The total number of bytes to decode
398          * @param[out]  str                       A Tizen::Base::String instance @n
399          *                                        It contains the decoded representation of the specified Tizen::Base::ByteBuffer instance.
400          * @exception   E_SUCCESS                 The method is successful.
401          * @exception   E_OUT_OF_MEMORY           The memory is insufficient.
402          * @exception   E_INVALID_ARG             Either of the following conditions has occurred:
403          *                                                               - A specified input parameter is invalid.
404          *                                                               - The specified @c bytes is empty.
405          * @exception   E_OUT_OF_RANGE            Either of the following conditions has occurred:
406          *                                                               - A specified input parameter is outside the valid range defined by the method.
407          *                                                               - The sum of the length of the specified @c index and @c count is greater than the length of the specified @c bytes.
408          * @exception   E_UNDERFLOW                               Either of the following conditions has occurred:
409          *                                                               - This operation has caused the memory to underflow.
410          *                                                               - The sum of the length of the specified @c index and @c count is greater than the length of the specified @c bytes.
411          * @exception   E_INVALID_ENCODING_RANGE The specified string contains code points that are outside the bounds of the character encoding scheme.
412          * @see                         GetBytesN()
413          */
414         virtual result GetString(const Tizen::Base::ByteBuffer& bytes, int index, int count, Tizen::Base::String& str) const;
415
416
417         /**
418         * Gets the maximum number of bytes required for encoding the given number of characters.
419         *
420         * @since                        2.0
421         *
422         * @return               The maximum number of bytes required for encoding the given number of characters
423         * @param[in]    charCount The total number of characters to encode
424         * @remarks      This method determines an appropriate buffer size for the byte arrays passed to GetBytes() for encoding.
425         * @see                          GetByteCount()
426         */
427         virtual int GetMaxByteCount(int charCount) const;
428
429
430         /**
431         * Gets the maximum number of characters that are generated by decoding the specified number of bytes.
432         *
433         * @since                                2.0
434         *
435         * @return                       The maximum number of characters generated by decoding the specified number of bytes
436         * @param[in]            byteCount The total number of bytes to encode
437         * @remarks          This method determines an appropriate buffer size for the character arrays passed to
438         *                       GetChars() or a decoder for encoding.
439         * @see                                  GetByteCount()
440         */
441         virtual int GetMaxCharCount(int byteCount) const;
442
443
444         /**
445          * Gets the encoder for the current encoding.
446          *
447          * @since                               2.0
448          *
449          * @return              A pointer to the Encoder instance for the current encoding
450          * @remarks     
451          *                              - Contrary to GetBytes(), an encoder can convert partial sequences of characters into
452          *                              partial sequences of bytes by maintaining the appropriate state between the conversions.
453          *                              - Currently only Utf8Encoding supports this method. Other classes return @c null.
454          */
455         virtual Encoder* GetEncoderN(void) const;
456
457
458         /**
459          * Gets the decoder for the current encoding.
460          *
461          * @since                               2.0
462          *
463          * @return              A pointer to the Decoder instance for the current encoding
464          * @remarks     
465          *                              - Contrary to GetChars(), a decoder can convert partial sequences of bytes
466          *                              into partial sequences of characters by maintaining the appropriate state between the conversions.
467          *                              - Currently only Utf8Encoding supports this method. Other classes return @c null.
468          */
469         virtual Decoder* GetDecoderN(void) const;
470
471         /**
472         * Gets the encoding type of the current instance.
473         *
474         * @since                        2.0
475         *
476         * @return               The encoding type
477         */
478         virtual Tizen::Base::String GetEncodingType(void) const;
479
480 private:
481         /**
482          * The implementation of this copy constructor is intentionally blank and declared as private to
483          * prohibit copying of objects.
484          */
485         Ucs2Encoding(const Ucs2Encoding& ucs2Encoding);
486
487         /**
488          * The implementation of this copy assignment operator is intentionally blank and declared as private
489          * to prohibit copying of objects.
490          */
491         Ucs2Encoding& operator =(const Ucs2Encoding& ucs2Encoding);
492
493         friend class _Ucs2EncodingImpl;
494         class _Ucs2EncodingImpl* __pUcs2EncodingImpl;
495 };
496
497 } } // Tizen::Text
498 #endif //_FTEXT_UCS2_ENCODING_H_