Adobe.com
Contents Suites Classes Class Index Member Index

AIUnicodeString.h

Go to the documentation of this file.
00001 
00002 #ifndef __AIUnicodeString__
00003 #define __AIUnicodeString__
00004 
00005 /*************************************************************************
00006 *
00007 * ADOBE CONFIDENTIAL
00008 *
00009 * Copyright 2004 Adobe
00010 *
00011 * All Rights Reserved.
00012 *
00013 * NOTICE: Adobe permits you to use, modify, and distribute this file in
00014 * accordance with the terms of the Adobe license agreement accompanying
00015 * it. If you have received this file from a source other than Adobe,
00016 * then your use, modification, or distribution of it requires the prior
00017 * written permission of Adobe.
00018 *
00019 **************************************************************************/
00020 
00021 /*******************************************************************************
00022  **
00023  **     Imports
00024  **
00025  **/
00026 
00027 #include "IAIUnicodeString.h"
00028 #include "AICharacterEncoding.h"
00029 #include "AITypes.h"
00030 
00031 #include "AIHeaderBegin.h"
00032 
00035 /*******************************************************************************
00036  **
00037  ** Constants
00038  **
00039  **/
00040 
00041 #define kAIUnicodeStringSuite                           "AI Unicode String Suite"
00042 #define kAIUnicodeStringSuiteVersion            AIAPI_VERSION(9)
00043 #define kAIUnicodeStringVersion                         kAIUnicodeStringSuiteVersion
00044 
00045 /*******************************************************************************
00046  **
00047  ** Types
00048  **
00049  **/
00050 
00051 /*******************************************************************************
00052  **
00053  **     Suite
00054  **
00055  **/
00056 
00066 struct AIUnicodeStringSuite
00067 {
00068 
00075         AIAPI AIErr (*Initialize) (ai::UnicodeString& str, const char* string,
00076                 ai::UnicodeString::offset_type srcByteLen, AICharacterEncoding encoding);
00077 
00084         AIAPI AIErr (*InitializeUTF16) (ai::UnicodeString& str, const ASUnicode* utfs, ai::UnicodeString::offset_type srcUTF16Count);
00085 
00092         AIAPI AIErr (*InitializeUTF32Char) (ai::UnicodeString& str, ai::UnicodeString::offset_type count,
00093                 ai::UnicodeString::UTF32TextChar ch);
00094 
00099         AIAPI AIErr (*Destroy) (ai::UnicodeString& str);
00100 
00101         /* Basic operations (a la std::basic_string) */
00102 
00107         AIAPI AIErr (*Append) (ai::UnicodeString& str, const ai::UnicodeString& str2);
00108 
00115         AIAPI AIErr (*AppendSubString) (ai::UnicodeString& str,
00116                 const ai::UnicodeString& str2, ai::UnicodeString::size_type startOffset,
00117                 ai::UnicodeString::size_type count);
00118 
00123         AIAPI AIErr (*Assign) (ai::UnicodeString& str,
00124                 const ai::UnicodeString& str2);
00125 
00131         AIAPI AIErr (*Copy) (ai::UnicodeString& str, const ai::UnicodeString& str2);
00132 
00140         AIAPI AIErr (*GetChar) (const ai::UnicodeString& str,
00141                 ai::UnicodeString::size_type position,
00142                 ai::UnicodeString::UTF32TextChar& ch);
00143 
00148         AIAPI void (*Clear) (ai::UnicodeString& str);
00149 
00164         AIAPI ai::int32 (*Compare) (const ai::UnicodeString& str,
00165                 ai::UnicodeString::size_type pos, ai::UnicodeString::size_type num,
00166                 const ai::UnicodeString& str2,
00167                 ai::UnicodeString::size_type startOffset, ai::UnicodeString::size_type count);
00168 
00175         AIAPI AIErr (*toLower) (ai::UnicodeString& src);
00176 
00183         AIAPI AIErr (*toUpper) (ai::UnicodeString& src);
00184 
00200         AIAPI ai::int32 (*CaseCompare) (const ai::UnicodeString& str,
00201                 ai::UnicodeString::size_type pos, ai::UnicodeString::size_type num,
00202                 const ai::UnicodeString& str2,
00203                 ai::UnicodeString::size_type startOffset, ai::UnicodeString::size_type count);
00204 
00219         AIAPI AIErr (*CanonicalCompare) (const ai::UnicodeString& str, const ai::UnicodeString& str2, ai::int32& compareResult);
00220 
00236         AIAPI AIErr (*CanonicalCaseCompare) (const ai::UnicodeString& str, const ai::UnicodeString& str2, ai::int32& compareResult);
00237 
00243         AIAPI ai::UnicodeString::size_type (*Length) (const ai::UnicodeString& str);
00244 
00250         AIAPI AIBool8 (*Empty) (const ai::UnicodeString& str);
00251 
00258         AIAPI AIErr (*Erase) (ai::UnicodeString& str,
00259                 ai::UnicodeString::size_type startOffset,
00260                 ai::UnicodeString::size_type count);
00261 
00270         AIAPI ai::UnicodeString::size_type (*FindChar) (const ai::UnicodeString& str,
00271                 ai::UnicodeString::UTF32TextChar ch,
00272                 ai::UnicodeString::size_type startOffset);
00273 
00282         AIAPI ai::UnicodeString::size_type (*FindString) (const ai::UnicodeString& str,
00283                 const ai::UnicodeString& str2, ai::UnicodeString::size_type startOffset);
00284 
00295         AIAPI ai::UnicodeString::size_type (*FindSubString) (const ai::UnicodeString& str,
00296                 const ai::UnicodeString& str2, ai::UnicodeString::size_type startOffset,
00297                 ai::UnicodeString::size_type count);
00298 
00309         AIAPI ai::UnicodeString::size_type (*CaseFindSubString) (const ai::UnicodeString& str,
00310                 const ai::UnicodeString& str2, ai::UnicodeString::size_type startOffset,
00311                 ai::UnicodeString::size_type count);
00312 
00321         AIAPI ai::UnicodeString::size_type (*RFindChar) (const ai::UnicodeString& str,
00322                 ai::UnicodeString::UTF32TextChar ch,
00323                 ai::UnicodeString::size_type startOffset);
00324 
00333         AIAPI ai::UnicodeString::size_type (*RFindString) (const ai::UnicodeString& str,
00334                 const ai::UnicodeString& str2, ai::UnicodeString::size_type startOffset);
00335 
00346         AIAPI ai::UnicodeString::size_type (*RFindSubString) (const ai::UnicodeString& str,
00347                 const ai::UnicodeString& str2, ai::UnicodeString::size_type startOffset,
00348                 ai::UnicodeString::size_type count);
00349 
00360         AIAPI ai::UnicodeString::size_type (*FindFirstOf) (const ai::UnicodeString& str,
00361                 const ai::UnicodeString& str2, ai::UnicodeString::size_type startOffset,
00362                 ai::UnicodeString::size_type count);
00363 
00374         AIAPI ai::UnicodeString::size_type (*FindFirstNotOf) (const ai::UnicodeString& str,
00375                 const ai::UnicodeString& str2, ai::UnicodeString::size_type startOffset,
00376                 ai::UnicodeString::size_type count);
00377 
00388         AIAPI ai::UnicodeString::size_type (*FindLastOf) (const ai::UnicodeString& str,
00389                 const ai::UnicodeString& str2, ai::UnicodeString::size_type startOffset,
00390                 ai::UnicodeString::size_type count);
00391 
00402         AIAPI ai::UnicodeString::size_type (*FindLastNotOf) (const ai::UnicodeString& str,
00403                 const ai::UnicodeString& str2, ai::UnicodeString::size_type startOffset,
00404                 ai::UnicodeString::size_type count);
00405 
00412         AIAPI AIErr (*Resize) (ai::UnicodeString& str, ai::UnicodeString::size_type count, ai::UnicodeString::UTF32TextChar ch);
00413 
00419         AIAPI ai::UnicodeString::size_type (*Capacity) (const ai::UnicodeString& str);
00420 
00429         AIAPI void (*Reserve) (ai::UnicodeString& str, ai::UnicodeString::size_type count);
00430 
00439         AIAPI AIErr (*SubStr) (ai::UnicodeString& subString,
00440                 const ai::UnicodeString& str,
00441                 ai::UnicodeString::size_type offset, ai::UnicodeString::size_type count);
00442 
00447         AIAPI AIErr (*SwapStr) (ai::UnicodeString& str, ai::UnicodeString& str2);
00448 
00449         /* non-std::string based functionality */
00450 
00451         //AIAPI int CaseCompare(const ai::UnicodeString& str,
00452         //      ai::UnicodeString::size_type pos, ai::UnicodeString::size_type num,
00453         //      const ai::UnicodeString& str2,
00454         //      ai::UnicodeString::size_type startOffset,
00455         //      ai::UnicodeString::size_type count);
00456         //AIAPI void FoldCase(ai::UnicodeString& str);
00457 
00463         AIAPI AIBool8 (*HasSurrogates) (const ai::UnicodeString& str);
00464 
00473         AIAPI ai::UnicodeString::size_type (*UTF_16) (const ai::UnicodeString& str,
00474                 const ai::UnicodeString::UTF16Char*& buffer);
00475 
00485         AIAPI AIErr (*GetAs) (const ai::UnicodeString& str, AICharacterEncoding encoding,
00486                 ai::AutoBuffer<char>& buffer, ai::UnicodeString::size_type& bufferByteCount);
00487 
00493         AIAPI AIErr (*InitializeZString) (ai::UnicodeString& str, ZRef zStringKey);
00494 
00499         AIAPI AIErr (*Normalize) (ai::UnicodeString& str, ai::UnicodeString::NormalizedForm form);
00500 
00501 
00502 };
00503 
00504 #include "AIHeaderEnd.h"
00505 
00506 #endif // __AIUnicodeString__


Contents Suites Classes Class Index Member Index
Adobe Solutions Network
 
Copyright © 2014 Adobe Systems Incorporated. All rights reserved.
Terms of Use Online Privacy Policy Adobe and accessibility Avoid software piracy Permissions and Trademarks