2 // Open Service Platform
3 // Copyright (c) 2012 Samsung Electronics Co., Ltd.
5 // Licensed under the Apache License, Version 2.0 (the License);
6 // you may not use this file except in compliance with the License.
7 // You may obtain a copy of the License at
9 // http://www.apache.org/licenses/LICENSE-2.0
11 // Unless required by applicable law or agreed to in writing, software
12 // distributed under the License is distributed on an "AS IS" BASIS,
13 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 // See the License for the specific language governing permissions and
15 // limitations under the License.
19 * @file FTextEncoding.h
20 * @brief This is the header file for the %Encoding class.
22 * This header file contains the declarations of the %Encoding class. @n
23 * The %Encoding class is the base class for all character encoding classes.
25 #ifndef _FTEXT_ENCODING_H_
26 #define _FTEXT_ENCODING_H_
29 #include <FBaseObject.h>
30 #include <FBaseTypes.h>
31 #include <FBaseBuffer.h>
32 #include <FBaseColIList.h>
33 #include <FBaseString.h>
34 #include <FTextEncoder.h>
35 #include <FTextDecoder.h>
38 namespace Tizen { namespace Text
43 * @brief This class implements character encoding.
47 * The %Encoding class is the base class for all classes that implement character encoding.
49 * 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>.
51 * The following example demonstrates how to use the %Encoding class.
57 * using namespace Tizen::Base;
58 * using namespace Tizen::Text;
61 * MyClass::EncodingSample(void)
63 * Encoding* pEnc = Encoding::GetEncodingN(L"ISO-8859-2");
65 * String str(L"Encoding Test \u0104\u02D8");
68 * pEnc->GetByteCount(str, byteCount);
71 * ByteBuffer* pBuffer = pEnc->GetBytesN(str);
74 * pEnc->GetCharCount(*pBuffer, charCount);
78 * pEnc->GetString(*pBuffer, decodedStr);
80 * if (str.Equals(decodedStr))
98 class _OSP_EXPORT_ Encoding
99 : public Tizen::Base::Object
103 * This is the destructor for this class. @n
104 * This destructor overrides Tizen::Base::Object::~Object().
108 virtual ~Encoding(void);
111 * Gets the total number of bytes that are required to encode the specified string.
115 * @return An error code
116 * @param[in] str The string to encode
117 * @param[out] byteCount The total number of bytes that are required to encode the specified string
118 * @exception E_SUCCESS The method is successful.
119 * @exception E_INVALID_ARG A specified input parameter is invalid, or the specified @c str is an empty string.
120 * @exception E_INVALID_ENCODING_RANGE The specified string contains code points that are outside the bounds of the character encoding scheme.
121 * @remarks This method determines the total number of bytes
122 * that are generated when the specified string is encoded.
123 * @see GetMaxByteCount()
125 virtual result GetByteCount(const Tizen::Base::String& str, int& byteCount) const;
128 * Gets the total number of bytes that are required to encode the specified characters.
132 * @return An error code
133 * @param[in] chars An instance of Tizen::Base::WcharBuffer to encode
134 * @param[out] byteCount The total number of bytes required to encode the specified range of characters
135 * @exception E_SUCCESS The method is successful.
136 * @exception E_INVALID_ARG A specified input parameter is invalid, or the specified @c chars is empty.
137 * @exception E_INVALID_ENCODING_RANGE The specified string contains code points that are outside the bounds of the character encoding scheme.
138 * @remarks This method determines the total number of bytes
139 * that are generated when the specified array of characters are encoded.
140 * @see GetMaxByteCount()
141 * @see GetByteCount()
143 virtual result GetByteCount(const Tizen::Base::WcharBuffer& chars, int& byteCount) const;
146 * Gets the total number of bytes that are required to encode a range of characters in the specified Tizen::Base::WcharBuffer instance.
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 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 that are required to encode the specified range of characters
155 * @exception E_SUCCESS The method is successful.
156 * @exception E_INVALID_ARG A specified input parameter is invalid, or the specified @c chars is empty.
157 * @exception E_OUT_OF_RANGE The value of an argument is outside the valid range defined by the method, or the length of the specified @c charIndex or @c charCount is greater than the length of the specified @c chars.
158 * @exception E_UNDERFLOW This operation has caused the memory to underflow, or the sum of the length of the specified @c charIndex and @c charCount is greater than the length of the specified @c chars.
159 * @exception E_INVALID_ENCODING_RANGE The specified string contains code points that are outside the bounds of the character encoding scheme.
160 * @remarks This method determines the total number of bytes
161 * that are generated when the specified array of characters are encoded.
162 * @see GetMaxByteCount()
163 * @see GetByteCount()
165 virtual result GetByteCount(const Tizen::Base::WcharBuffer& chars, int charIndex, int charCount,
166 int& byteCount) const;
169 * Encodes an instance of specified Tizen::Base::WcharBuffer into an instance of Tizen::Base::ByteBuffer.
173 * @return A pointer to the Tizen::Base::ByteBuffer instance where the resultant encoded string is stored, @n
174 * else @c null if an exception occurs @n
175 * The buffer limit is the position of the last encoded byte plus one and the starting position is zero.
176 * @param[in] chars An instance of Tizen::Base::WcharBuffer to encode
177 * @exception E_SUCCESS The method is successful.
178 * @exception E_OUT_OF_MEMORY The memory is insufficient.
179 * @exception E_INVALID_ARG The specified @c chars is invalid or empty.
180 * @exception E_INVALID_ENCODING_RANGE The specified string contains code points that are outside the bounds of the character encoding scheme.
181 * @remarks The specific error code can be accessed using the GetLastResult() method.
185 virtual Tizen::Base::ByteBuffer* GetBytesN(const Tizen::Base::WcharBuffer& chars) const = 0;
188 * Encodes the specified string of type Tizen::Base::String to Tizen::Base::ByteBuffer.
192 * @return A pointer to the Tizen::Base::ByteBuffer instance where the resultant encoded string is stored, @n
193 * else @c null if an exception occurs @n
194 * The buffer limit is the position of the last encoded byte plus one and the position is zero.
195 * @param[in] str The string to encode
196 * @exception E_SUCCESS The method is successful.
197 * @exception E_OUT_OF_MEMORY The memory is insufficient.
198 * @exception E_INVALID_ARG The specified @c str is invalid or is an empty string.
199 * @exception E_INVALID_ENCODING_RANGE The specified string contains code points that are outside the bounds of the character encoding scheme.
200 * @remarks The specific error code can be accessed using the GetLastResult() method.
203 virtual Tizen::Base::ByteBuffer* GetBytesN(const Tizen::Base::String& str) const = 0;
206 * Encodes an instance of specified Tizen::Base::WcharBuffer into an instance of Tizen::Base::ByteBuffer as per the specified range. @n
207 * The position and limit of the %Tizen::Base::ByteBuffer instance is not changed.
211 * @return An error code
212 * @param[in] chars The buffer containing the character array to encode
213 * @param[in] charIndex The index from where encoding begins in the Tizen::Base::WcharBuffer instance
214 * @param[in] charCount The total number of characters to encode
215 * @param[out] bytes The Tizen::Base::ByteBuffer instance where the resultant encoded string is stored
216 * @param[in] byteIndex The starting index of the resultant encoding in the Tizen::Base::ByteBuffer instance
217 * @exception E_SUCCESS The method is successful.
218 * @exception E_OUT_OF_MEMORY The memory is insufficient.
219 * @exception E_INVALID_ARG A specified input parameter is invalid, or the specified @c chars or @c bytes is empty.
220 * @exception E_OUT_OF_RANGE The value of an argument is outside the valid range defined by the method, or the length of the specified @c charIndex or @c charCount is greater than the length of the specified @c chars.
221 * @exception E_UNDERFLOW This operation has caused the memory to underflow, or the sum of the length of the specified @c charIndex and @c charCount is greater than the length of the specified @c chars.
222 * @exception E_OVERFLOW This operation has caused the memory to overflow, or the specified @c bytes does not contain sufficient space to store the encoded characters.
223 * @exception E_INVALID_ENCODING_RANGE The specified string contains code points that are outside the bounds of the character encoding scheme.
224 * @remarks This method encodes a range of characters in Tizen::Base::WcharBuffer into a range of bytes in Tizen::Base::ByteBuffer.
227 virtual result GetBytes(const Tizen::Base::WcharBuffer& chars, int charIndex, int charCount,
228 Tizen::Base::ByteBuffer& bytes, int byteIndex) const = 0;
231 * Encodes an instance of Tizen::Base::String into an instance of Tizen::Base::ByteBuffer as per the specified range. @n
232 * The position and limit of the %Tizen::Base::ByteBuffer instance is not changed.
236 * @return An error code
237 * @param[in] str The string to encode
238 * @param[in] charIndex The index from where encoding begins in the Tizen::Base::WcharBuffer instance
239 * @param[in] charCount The total number of characters to encode
240 * @param[out] bytes The Tizen::Base::ByteBuffer instance where the resultant encoded string is stored
241 * @param[in] byteIndex The starting index of the resultant encoding in the Tizen::Base::ByteBuffer instance
242 * @exception E_SUCCESS The method is successful.
243 * @exception E_OUT_OF_MEMORY The memory is insufficient.
244 * @exception E_INVALID_ARG A specified input parameter is invalid, or the specified @c str or @c bytes is empty.
245 * @exception E_OUT_OF_RANGE The value of an argument is outside the valid range defined by the method, or the length of the specified @c charIndex or @c charCount is greater than the length of the specified @c str.
246 * @exception E_UNDERFLOW This operation has caused the memory to underflow, or the sum of the length of the specified @c charIndex and @c charCount is greater than the length of the specified @c str.
247 * @exception E_OVERFLOW This operation has caused the memory to overflow, or the specified @c bytes does not contain sufficient space to store the encoded characters.
248 * @exception E_INVALID_ENCODING_RANGE The specified string contains code points that are outside the bounds of the character encoding scheme.
251 virtual result GetBytes(const Tizen::Base::String& str, int charIndex, int charCount,
252 Tizen::Base::ByteBuffer& bytes, int byteIndex) const = 0;
255 * Gets the total number of characters that are generated by decoding an instance of Tizen::Base::ByteBuffer.
259 * @return An error code
260 * @param[in] bytes An instance of Tizen::Base::ByteBuffer to decode
261 * @param[out] charCount The total number of characters that are generated by decoding a range of bytes in the specified Tizen::Base::ByteBuffer instance
262 * @exception E_SUCCESS The method is successful.
263 * @exception E_OUT_OF_MEMORY The memory is insufficient.
264 * @exception E_INVALID_ARG A specified input parameter is invalid, or the specified @c bytes is empty.
265 * @exception E_INVALID_ENCODING_RANGE The specified string contains code points that are outside the bounds of the character encoding scheme.
266 * @remarks This method determines the total number of characters
267 * that are generated when the specified range of bytes are encoded.
268 * @see GetMaxCharCount()
269 * @see GetCharCount()
271 virtual result GetCharCount(const Tizen::Base::ByteBuffer& bytes, int& charCount) const;
274 * Gets the total number of characters that are generated by decoding a range of elements specified in the Tizen::Base::ByteBuffer instance.
278 * @return An error code
279 * @param[in] bytes An instance of Tizen::Base::ByteBuffer to decode
280 * @param[in] byteIndex The index from where decoding begins
281 * @param[in] byteCount The total number of bytes to decode
282 * @param[out] charCount The total number of characters that are generated by decoding a range of bytes in the specified Tizen::Base::ByteBuffer instance
283 * @exception E_SUCCESS The method is successful.
284 * @exception E_OUT_OF_MEMORY The memory is insufficient.
285 * @exception E_INVALID_ARG A specified input parameter is invalid, or the specified @c bytes is empty.
286 * @exception E_OUT_OF_RANGE The value of an argument is outside the valid range defined by the method, or the length of the specified @c byteIndex or @c byteCount is greater than the length of the specified @c bytes.
287 * @exception E_UNDERFLOW This operation has caused the memory to underflow, or the sum of the length of the specified @c byteIndex and @c byteCount is greater than the length of the specified @c bytes.
288 * @exception E_INVALID_ENCODING_RANGE The specified string contains code points that are outside the bounds of the character encoding scheme.
289 * @remarks This method determines the total number of characters
290 * that are generated when the specified range of bytes are encoded.
291 * @see GetMaxCharCount()
292 * @see GetCharCount()
294 virtual result GetCharCount(const Tizen::Base::ByteBuffer& bytes, int byteIndex, int byteCount, int& charCount) const;
297 * Decodes an instance of Tizen::Base::ByteBuffer into an instance of Tizen::Base::WcharBuffer.
301 * @return A pointer to the Tizen::Base::WcharBuffer instance where the resultant decoded data is stored, @n
302 * else @c null if an exception occurs @n
303 * The buffer limit is the position of the last decoded byte plus one and the starting position is zero.
304 * @param[in] bytes An instance of Tizen::Base::ByteBuffer to decode
305 * @exception E_SUCCESS The method is successful.
306 * @exception E_OUT_OF_MEMORY The memory is insufficient.
307 * @exception E_INVALID_ARG The specified @c bytes is invalid or empty.
308 * @exception E_INVALID_ENCODING_RANGE The specified string contains code points that are outside the bounds of the character encoding scheme.
309 * @remarks The specific error code can be accessed using the GetLastResult() method.
312 virtual Tizen::Base::WcharBuffer* GetCharsN(const Tizen::Base::ByteBuffer& bytes) const = 0;
315 * Decodes an instance of Tizen::Base::ByteBuffer into an instance of Tizen::Base::WcharBuffer as per the specified range. @n
316 * The position and limit of the %Tizen::Base::WcharBuffer instance is not changed.
320 * @return An error code
321 * @param[in] bytes An instance of Tizen::Base::ByteBuffer to decode
322 * @param[in] byteIndex The index from where decoding begins
323 * @param[in] byteCount The total number of bytes to decode
324 * @param[out] chars The Tizen::Base::WcharBuffer instance where the resultant decoded data is stored
325 * @param[in] charIndex The index from where encoding begins in the Tizen::Base::WcharBuffer instance
326 * @exception E_SUCCESS The method is successful.
327 * @exception E_OUT_OF_MEMORY The memory is insufficient.
328 * @exception E_INVALID_ARG A specified input parameter is invalid, or the specified @c bytes is empty.
329 * @exception E_OUT_OF_RANGE The value of an argument is outside the valid range defined by the method, or the length of the specified @c byteIndex or @c byteCount is greater than the length of the specified @c bytes.
330 * @exception E_UNDERFLOW This operation has caused the memory to underflow, or the sum of the length of the specified @c byteIndex and @c byteCount is greater than the length of the specified @c bytes.
331 * @exception E_OVERFLOW This operation has caused the memory to overflow, or the specified @c chars does not contain sufficient space to store the decoded bytes.
332 * @exception E_INVALID_ENCODING_RANGE The specified string contains code points that are outside the bounds of the character encoding scheme.
335 virtual result GetChars(const Tizen::Base::ByteBuffer& bytes, int byteIndex, int byteCount,
336 Tizen::Base::WcharBuffer& chars, int charIndex) const = 0;
339 * Gets a string that contains the decoded representation of a range of bytes in the specified Tizen::Base::ByteBuffer instance.
343 * @return An error code
344 * @param[in] bytes An instance of Tizen::Base::ByteBuffer to decode
345 * @param[out] str A Tizen::Base::String instance @n
346 * It contains the decoded representation of the specified Tizen::Base::ByteBuffer instance.
347 * @exception E_SUCCESS The method is successful.
348 * @exception E_OUT_OF_MEMORY The memory is insufficient.
349 * @exception E_INVALID_ARG A specified input parameter is invalid, or the specified @c bytes is empty.
350 * @exception E_INVALID_ENCODING_RANGE The specified string contains code points that are outside the bounds of the character encoding scheme.
355 virtual result GetString(const Tizen::Base::ByteBuffer& bytes, Tizen::Base::String& str) const = 0;
358 * Gets a string that contains the decoded representation of a range of bytes in the specified Tizen::Base::ByteBuffer instance.
362 * @return An error code
363 * @param[in] bytes An instance of Tizen::Base::ByteBuffer to decode
364 * @param[in] index The index from where decoding begins
365 * @param[in] count The total number of bytes to decode
366 * @param[out] str A Tizen::Base::String instance @n
367 * It contains the decoded representation of the specified Tizen::Base::ByteBuffer instance.
368 * @exception E_SUCCESS The method is successful.
369 * @exception E_OUT_OF_MEMORY The memory is insufficient.
370 * @exception E_INVALID_ARG A specified input parameter is invalid, or the specified @c bytes is empty.
371 * @exception E_OUT_OF_RANGE The value of an argument is outside the valid range defined by the method, or the sum of the length of the specified @c index and @c count is greater than the length of the specified @c bytes.
372 * @exception E_UNDERFLOW This operation has caused the memory to underflow, or the sum of the length of the specified @c index and @c count is greater than the length of the specified @c bytes.
373 * @exception E_INVALID_ENCODING_RANGE The specified string contains code points that are outside the bounds of the character encoding scheme.
377 virtual result GetString(const Tizen::Base::ByteBuffer& bytes, int index, int count, Tizen::Base::String& str) const = 0;
380 * Gets the maximum number of bytes that are required to encode the specified number of characters.
384 * @return The maximum number of bytes that are required to encode the specified number of characters
385 * @param[in] charCount The total number of characters to encode
386 * @remarks This method determines an appropriate buffer size for the byte arrays passed to GetBytes() for encoding.
387 * @see GetByteCount()
390 virtual int GetMaxByteCount(int charCount) const = 0;
393 * Gets the maximum number of characters that are generated by decoding the specified number of bytes.
397 * @return The maximum number of characters that are generated by decoding the specified number of bytes
398 * @param[in] byteCount The total number of bytes to encode
399 * @remarks This method determines an appropriate buffer size for character arrays passed to
400 * GetChars() or a decoder for encoding.
401 * @see GetCharCount()
404 virtual int GetMaxCharCount(int byteCount) const = 0;
407 * Gets the encoder for the current encoding.
411 * @return A pointer to the Encoder instance for the current encoding
412 * @remarks Contrary to GetBytes(), an encoder can convert partial sequences of characters into
413 * partial sequences of bytes by maintaining an appropriate state between the conversions.
414 * Currently, only UTF-8 encoding supports this method. The other classes return a value of @c null.
417 virtual Encoder* GetEncoderN(void) const = 0;
420 * Gets the decoder for the current encoding.
424 * @return A pointer to the Decoder instance for the current encoding
425 * @remarks Contrary to GetChars(), a decoder can convert partial sequences of bytes
426 * into partial sequences of characters by maintaining an appropriate state between the conversions.
427 * Currently, only UTF-8 encoding supports this method. The other classes return a value of @c null.
430 virtual Decoder* GetDecoderN(void) const = 0;
433 * Gets the encoding type of the current instance.
437 * @return An encoding type
439 virtual Tizen::Base::String GetEncodingType(void) const = 0;
442 * Gets an encoding for the UTF-8 format.
446 * @return An encoding for the UTF-8 format
448 * @see Tizen::Text::Utf8Encoding
450 static Utf8Encoding& GetUtf8Encoding(void);
453 * Gets an encoding for the UCS-2 format.
457 * @return An encoding for the UCS-2 format
459 * @see Tizen::Text::Ucs2Encoding
461 static Ucs2Encoding& GetUcs2Encoding(void);
464 * Gets an encoding for the GSM format.
468 * @return An encoding for the GSM format
470 * @see Tizen::Text::GsmEncoding
472 static GsmEncoding& GetGsmEncoding(void);
475 * Gets an encoding for the Latin1 format.
479 * @return An encoding for the Latin1 format
481 * @see Tizen::Text::Latin1Encoding
483 static Latin1Encoding& GetLatin1Encoding(void);
486 * Gets an encoding for the ASCII format.
490 * @return An encoding for the ASCII format
492 * @see Tizen::Text::AsciiEncoding
494 static AsciiEncoding& GetAsciiEncoding(void);
497 * Gets an %Encoding instance from the specified encoding type.
501 * @return An instance of %Encoding, @n
502 * else @c null if the method fails
503 * @param[in] encodingType An encoding type @n
504 * @exception E_SUCCESS The method is successful.
505 * @exception E_UNSUPPORTED_TYPE The specified encoding type is not supported.
506 * @remarks The specific error code can be accessed using the GetLastResult() method. @n
507 * The supported encoding types are ASCII, GSM, UCS-2, UCS-2LE, UCS-2BE, UCS-4, UCS-4LE, UCS-4BE, UTF-8, UTF-16, UTF-16LE, UTF-16BE, @n
508 * UTF-32, UTF-32LE, UTF-32BE, ISO-8859-1~16 (except ISO-8859-12), Windows-874, Windows-1250 ~ Windows-1258, @n
509 * KSC5601, BIG5, GB2312, Shift_JIS and ISO-2022-jp.
510 * @see Tizen::Text::Encoding::GetAvailableEncodingsN()
512 static Encoding* GetEncodingN(const Tizen::Base::String& encodingType);
515 * Gets the encoding type of the specified %Encoding instance.
519 * @return An encoding type
520 * @param[in] encoding An instance of %Encoding
522 static Tizen::Base::String GetEncodingType(const Encoding& encoding);
525 * Gets a list of all the available encodings.
529 * @return A list of Tizen::Base::String instances (ASCII, UTF-8, ISO-8859-1, ISO-8859-2, Windows-1254, and so on), @n
530 * else @c null if the method fails
531 * @exception E_SUCCESS The method is successful.
532 * @exception E_SYSTEM A system error has occurred.
533 * @remarks The specific error code can be accessed using the GetLastResult() method.
535 static Tizen::Base::Collection::IList* GetAvailableEncodingsN(void);
538 * Converts an instance of Tizen::Base::ByteBuffer from one encoding format to another.
542 * @return A new buffer for storing the result of the conversion, @n
543 * else @c null if an exception occurs @n
544 * The buffer limit is the position of the last converted byte plus one and the starting position is zero.
545 * @param[in] src The source of the encoding
546 * @param[in] dst The destination of the encoding
547 * @param[in] srcBytes The Tizen::Base::ByteBuffer instance where the resultant encoded string is stored
548 * @exception E_SUCCESS The method is successful.
549 * @exception E_OUT_OF_MEMORY The memory is insufficient.
550 * @exception E_INVALID_ARG A specified input parameter is invalid, or the specified @c srcBytes is empty.
551 * @exception E_INVALID_ENCODING_RANGE The specified string contains code points that are outside the bounds of the character encoding scheme.
552 * @remarks The specific error code can be accessed using the GetLastResult() method.
556 static Tizen::Base::ByteBuffer* ConvertN(const Encoding& src, const Encoding& dst,
557 const Tizen::Base::ByteBuffer& srcBytes);
560 * Converts a range of bytes in the Tizen::Base::ByteBuffer instance from one encoding format to another.
564 * @return A new buffer for storing result of the conversion, @n
565 * else @c null if an exception occurs @n
566 * The buffer limit is the position of the last converted byte plus one and the starting position is zero.
567 * @param[in] src The source of the encoding
568 * @param[in] dst The destination of the encoding
569 * @param[in] srcBytes The Tizen::Base::ByteBuffer instance where the resultant encoded string is stored
570 * @param[in] index The starting index of the resultant encoding in the Tizen::Base::ByteBuffer instance
571 * @param[in] count The total number of bytes to convert
572 * @exception E_SUCCESS The method is successful.
573 * @exception E_OUT_OF_MEMORY The memory is insufficient.
574 * @exception E_INVALID_ARG A specified input parameter is invalid, or the specified @c srcBytes is empty.
575 * @exception E_OUT_OF_RANGE The value of an argument is outside the valid range defined by the method, or the specified @c index or @c count is greater than the length of the specified @c srcBytes.
576 * @exception E_UNDERFLOW This operation has caused the memory to underflow, or the sum of the length of the specified @c index and @c count is greater than the length of the specified @c srcBytes.
577 * @exception E_INVALID_ENCODING_RANGE The specified string contains code points that are outside the bounds of the character encoding scheme.
578 * @remarks The specific error code can be accessed using the GetLastResult() method.
582 static Tizen::Base::ByteBuffer* ConvertN(const Encoding& src, const Encoding& dst, const Tizen::Base::ByteBuffer& srcBytes,
583 int index, int count);
589 // This method is for internal use only. Using this method can cause behavioral, security-related,
590 // and consistency-related issues in the application.
592 // This method is reserved and may change its name at any time without prior notice.
596 virtual void Encoding_Reserved1(void) { }
599 // This method is for internal use only. Using this method can cause behavioral, security-related,
600 // and consistency-related issues in the application.
602 // This method is reserved and may change its name at any time without prior notice.
606 virtual void Encoding_Reserved2(void) { }
609 // This method is for internal use only. Using this method can cause behavioral, security-related,
610 // and consistency-related issues in the application.
612 // This method is reserved and may change its name at any time without prior notice.
616 virtual void Encoding_Reserved3(void) { }
619 // This method is for internal use only. Using this method can cause behavioral, security-related,
620 // and consistency-related issues in the application.
622 // This method is reserved and may change its name at any time without prior notice.
626 virtual void Encoding_Reserved4(void) { }
629 // This method is for internal use only. Using this method can cause behavioral, security-related,
630 // and consistency-related issues in the application.
632 // This method is reserved and may change its name at any time without prior notice.
636 virtual void Encoding_Reserved5(void) { }
638 friend class _EncodingImpl;
639 class _EncodingImpl* _pEncodingImpl;
643 * The implementation of this copy constructor is intentionally blank and declared as private to
644 * prohibit copying of objects.
646 Encoding(const Encoding& encoding);
649 * The implementation of this copy assignment operator is intentionally blank and declared as private
650 * to prohibit copying of objects.
652 Encoding& operator =(const Encoding& encoding);
658 #endif //_FTEXT_ENCODING_H_