Foxit PDF SDK
fx_string.h File Reference

Header file for Strings, variable-length sequence of characters. There are two strings here, byte-string and wide-string. More...

Go to the source code of this file.

Classes

class  CFX_ByteString
 BYTE STRING CLASS. More...
 
class  CFX_ByteStringC
 CONSTANT BYTE STRING CLASS. More...
 
class  CFX_StringBufBase
 A fixed string buffer holding up to certain number of characters. More...
 
class  CFX_StringBufTemplate< limit >
 A fixed string buffer template. More...
 
struct  CFX_StringData
 This class represents the data of a byte string object. More...
 
struct  CFX_StringDataW
 This class represents the data of a wide string object. More...
 
class  CFX_WideString
 WIDE STRING CLASS. More...
 
class  CFX_WideStringC
 CONSTANT WIDE STRING CLASS. More...
 

Macros

#define FX_BSTRC(str)   CFX_ByteStringC(str, sizeof str-1)
 All application should use the following macro when specifying a string constant. "str" must be a character string constant. More...
 
#define FXBSTR_ID(c1, c2, c3, c4)   ((c1 << 24) | (c2 << 16) | (c3 << 8) | (c4))
 Construct a ID from four integer values.
 
#define FXFORMAT_CAPITAL   4
 For formating integer: using with FXFORMAT_HEX to produce capital hexadecimal letters.
 
#define FXFORMAT_HEX   2
 For formating integer: using hexadecimal format.
 
#define FXFORMAT_SIGNED   1
 For formating integer: the value is signed.
 

Typedefs

typedef int FX_STRSIZE
 String size is limited to 2^31-1.
 

Functions

Wide string concatenation operation

Both side of the concatenation operator (+) can be:

  • A buffered wide string (const CFX_WideString&);
  • A non-buffered wide string (const CFX_WideStringC&);
  • A zero-terminated C-style wide string (FX_LPCWSTR);
  • A single character (FX_WCHAR);

But you must have at least one CFX_WideString or CFX_WideStringC on one side.

CFX_WideString operator+ (const CFX_WideString &str1, const CFX_WideString &str2)
 Concatenate a buffered byte string and a buffered byte string. More...
 
CFX_WideString operator+ (const CFX_WideString &str1, const CFX_WideStringC &str2)
 Concatenate a buffered byte string and a non-buffered byte string. More...
 
CFX_WideString operator+ (const CFX_WideString &str1, FX_LPCWSTR str2)
 Concatenate a buffered wide string and a zero-terminated C-style string. More...
 
CFX_WideString operator+ (const CFX_WideString &str1, FX_WCHAR ch)
 Concatenate a buffered byte string and a single character or byte. More...
 
CFX_WideString operator+ (const CFX_WideStringC &str1, const CFX_WideString &str2)
 Concatenate a non-buffered byte string and a buffered byte string. More...
 
CFX_WideString operator+ (const CFX_WideStringC &str1, const CFX_WideStringC &str2)
 Concatenate a non-buffered wide string and a non-buffered wide string. More...
 
CFX_WideString operator+ (const CFX_WideStringC &str1, FX_LPCWSTR str2)
 Concatenate a non-buffered byte string and a zero-terminated C-style string. More...
 
CFX_WideString operator+ (const CFX_WideStringC &str1, FX_WCHAR ch)
 Concatenate a non-buffered byte string and a single character or byte. More...
 
CFX_WideString operator+ (FX_LPCWSTR str1, const CFX_WideString &str2)
 Concatenate a zero-terminated C-style string and a buffered byte string. More...
 
CFX_WideString operator+ (FX_LPCWSTR str1, const CFX_WideStringC &str2)
 Concatenate a zero-terminated C-style string and a non-buffered byte string. More...
 
CFX_WideString operator+ (FX_WCHAR ch, const CFX_WideString &str2)
 Concatenate a single character or byte and a buffered byte string. More...
 
CFX_WideString operator+ (FX_WCHAR ch, const CFX_WideStringC &str2)
 Concatenate a single character or byte and a non-buffered byte string. More...
 
Wide string compare operation
FX_FLOAT FX_atof (FX_BSTR str)
 Convert a non-buffered byte string to a floating-point number. More...
 
void FX_atonum (FX_BSTR str, FX_BOOL &bInteger, void *pData, int sizeOfData=4)
 Convert a non-buffered byte string to a number. More...
 
FX_STRSIZE FX_ftoa (FX_FLOAT f, FX_LPSTR buf, int precision=0)
 Convert float to byte string. More...
 
bool operator!= (const CFX_WideString &s1, const CFX_WideString &s2)
 Comparison(!=) operator overload. Case-sensitive. More...
 
bool operator!= (const CFX_WideString &s1, const CFX_WideStringC &s2)
 Comparison(!=) operator overload. Case-sensitive. More...
 
bool operator!= (const CFX_WideString &s1, FX_LPCWSTR s2)
 Comparison(!=) operator overload. Case-sensitive. More...
 
bool operator!= (const CFX_WideStringC &s1, const CFX_WideString &s2)
 Comparison(!=) operator overload. Case-sensitive. More...
 
bool operator!= (FX_LPCWSTR s1, const CFX_WideString &s2)
 Comparison(!=) operator overload. Case-sensitive. More...
 
bool operator< (const CFX_WideString &lhs, const CFX_WideString &rhs)
 Comparison(<) operator overload. Case-sensitive. More...
 
bool operator== (const CFX_WideString &s1, const CFX_WideString &s2)
 Comparison(==) operator overload. Case-sensitive. More...
 
bool operator== (const CFX_WideString &s1, const CFX_WideStringC &s2)
 Comparison(==) operator overload. Case-sensitive. More...
 
bool operator== (const CFX_WideString &s1, FX_LPCWSTR s2)
 Comparison(==) operator overload. Case-sensitive. More...
 
bool operator== (const CFX_WideStringC &s1, const CFX_WideString &s2)
 Comparison(==) operator overload. Case-sensitive. More...
 
bool operator== (FX_LPCWSTR s1, const CFX_WideString &s2)
 Comparison(==) operator overload. Case-sensitive. More...
 
Basic Unicode character attribute routines
FX_WCHAR FXWCHAR_GetLower (FX_WCHAR wchar)
 Convert to lower-case letter. More...
 
FX_WCHAR FXWCHAR_GetUpper (FX_WCHAR wchar)
 Convert to upper-case letter. More...
 
FX_BOOL FXWCHAR_IsSpace (FX_WCHAR wchar)
 Check if the unicode is space. More...
 
FX_BOOL FXWCHAR_IsWordBreak (FX_WCHAR wchar)
 Check if the unicode can break a word. More...
 
Encode wide string into UTF-8 byte string
FX_DWORD FX_CreateCodePointFromUtf16SurrogatePair (FX_WCHAR first, FX_WCHAR second)
 Creates a Unicode code point from UTF16 surrogate pair. More...
 
FX_BOOL FX_CreateUtf16SurrogatePairFromCodePoint (FX_DWORD unicode, FX_WCHAR &first, FX_WCHAR &second)
 Creates UTF16 surrogate pair from a Unicode code point. More...
 
FX_BOOL FX_IsUtf16SurrogatePair (FX_WCHAR first, FX_WCHAR second)
 Determines if the arguments constitute UTF-16 surrogate pair. More...
 
CFX_ByteString FX_UTF8Encode (const CFX_WideString &wsStr)
 Encode a wide string into a UTF-8 string. More...
 
CFX_ByteString FX_UTF8Encode (FX_LPCWSTR pwsStr, FX_STRSIZE len)
 Encode a wide string into a UTF-8 string. More...
 
void FX_UTF8Encode (FX_LPCWSTR pwsStr, FX_STRSIZE len, CFX_ByteStringL &utf8Str, IFX_Allocator *pAllocator=NULL)
 
CFX_ByteString FX_UTF8Encode (FX_WSTR wsStr)
 Encode a wide string into a UTF-8 string. More...
 

Variables

const typedef CFX_ByteStringCFX_BSTR
 A reference to a constant CFX_ByteStringC object.
 

Byte string concatenation operation

Both side of the concatenation operator (+) can be:

  • A buffered byte string (const CFX_ByteString&);
  • A non-buffered byte string (const CFX_ByteStringC&, a.k.a FX_BSTR);
  • A zero-terminated C-style string (FX_LPCSTR);
  • A single character or byte (FX_CHAR);
typedef CFX_StringBufTemplate< 256 > CFX_StringBuf256
 A fixed 256-byte string buffer.
 
const typedef CFX_WideStringCFX_WSTR
 Type definition for a reference to a constant CFX_WideStringC object.
 
#define FX_WSTRC(wstr)   CFX_WideStringC((FX_LPCWSTR)wstr, sizeof(wstr) / sizeof(FX_WCHAR) - 1)
 All application should use the following macro when specifying a wide string constant. "wstr" must be a wide string constant. More...
 
CFX_ByteString operator+ (const CFX_ByteString &str1, const CFX_ByteString &str2)
 Concatenate a buffered byte string and a buffered byte string. More...
 
CFX_ByteString operator+ (const CFX_ByteString &str1, FX_BSTR str2)
 Concatenate a buffered byte string and a non-buffered byte string. More...
 
CFX_ByteString operator+ (const CFX_ByteString &str1, FX_CHAR ch)
 Concatenate a buffered byte string and a single character or byte. More...
 
CFX_ByteString operator+ (const CFX_ByteString &str1, FX_LPCSTR str2)
 Concatenate a buffered byte string and a zero-terminated C-style string. More...
 
CFX_ByteString operator+ (FX_BSTR str1, const CFX_ByteString &str2)
 Concatenate a non-buffered byte string and a buffered byte string. More...
 
CFX_ByteString operator+ (FX_BSTR str1, FX_BSTR str2)
 Concatenate a non-buffered byte string and a non-buffered byte string. More...
 
CFX_ByteString operator+ (FX_BSTR str1, FX_CHAR ch)
 Concatenate a non-buffered byte string and a single character or byte. More...
 
CFX_ByteString operator+ (FX_BSTR str1, FX_LPCSTR str2)
 Concatenate a non-buffered byte string and a zero-terminated C-style string. More...
 
CFX_ByteString operator+ (FX_CHAR ch, const CFX_ByteString &str2)
 Concatenate a single character or byte and a buffered byte string. More...
 
CFX_ByteString operator+ (FX_CHAR ch, FX_BSTR str2)
 Concatenate a single character or byte and a non-buffered byte string. More...
 
CFX_ByteString operator+ (FX_LPCSTR str1, const CFX_ByteString &str2)
 Concatenate a zero-terminated C-style string and a buffered byte string. More...
 
CFX_ByteString operator+ (FX_LPCSTR str1, FX_BSTR str2)
 Concatenate a zero-terminated C-style string and a non-buffered byte string. More...
 

text direction defines

int FXWCHAR_GetDirection (FX_WCHAR wchar)
 Get text direction. More...
 
#define FXWCHAR_LTR   0
 Left to right order.
 
#define FXWCHAR_RTL   1
 Right to left order.
 
#define FXWCHAR_UNKNOWN   2
 Not sure about the order or don't care.
 

Detailed Description

Header file for Strings, variable-length sequence of characters. There are two strings here, byte-string and wide-string.

Copyright (C) 2003-2024, Foxit Software Inc.. All Rights Reserved.

http://www.foxitsoftware.com

The following code is copyrighted and is the proprietary of Foxit Software Inc.. It is not allowed to distribute any parts of Foxit PDF SDK to third party or public without permission unless an agreement is signed between Foxit Software Inc. and customers to explicitly grant customers permissions.