42 #ifndef _FX_EXCEPTION_H_ 130 if (m_AllocSize <= m_DataSize)
132 m_pBuffer[m_DataSize++] = byte;
185 void Delete(
int start_index,
int count);
456 void GetWideStringL(CFX_WideStringL& wideText)
const;
746 virtual void Clear();
810 virtual FX_BOOL DoWork(
const void* pBuf,
size_t size) = 0;
847 virtual void Clear();
893 virtual FX_BOOL DoWork(
const void* pBuf,
size_t size);
1018 void GetResult(CFX_WideStringL &result)
const {m_Buffer.GetWideStringL(result);}
1172 FX_BOOL SetSize(
int nNewSize,
int nGrowBy);
1200 FX_LPBYTE InsertSpaceAt(
int nIndex,
int nCount);
1210 FX_BOOL RemoveAt(
int nIndex,
int nCount);
1229 const void* GetDataPtr(
int index)
const;
1245 template<
class TYPE>
1292 const char *errorMsg[] = {
1293 "Invalid array size",
1294 "Memory allocation error",
1298 fprintf(stderr,
"%s\n", errorMsg[error]);
1300 fprintf(stderr,
"%i\n", badIndex);
1328 return CFX_BasicArray::SetSize(nNewSize, nGrowBy);
1346 if (nIndex < 0 || nIndex >= m_nSize)
1350 return ((
const TYPE*)m_pData)[nIndex];
1362 if (nIndex < 0 || nIndex >= m_nSize)
return FALSE;
1363 ((TYPE*)m_pData)[nIndex] = newElement;
1376 if (nIndex < 0 || nIndex >= m_nSize)
1380 return ((TYPE*)m_pData)[nIndex];
1388 const TYPE*
GetData()
const {
return (
const TYPE*)m_pData; }
1407 if (nIndex < 0)
return FALSE;
1408 if (nIndex >= m_nSize)
1410 ((TYPE*)m_pData)[nIndex] = newElement;
1423 if (m_nSize < m_nMaxSize)
1427 ((TYPE*)m_pData)[m_nSize-1] = newElement;
1456 TYPE*
GetDataPtr(
int index) {
return (TYPE*)CFX_BasicArray::GetDataPtr(index); }
1463 TYPE*
AddSpace() {
return (TYPE*)CFX_BasicArray::InsertSpaceAt(m_nSize, 1); }
1473 TYPE*
InsertSpaceAt(
int nIndex,
int nCount) {
return (TYPE*)CFX_BasicArray::InsertSpaceAt(nIndex, nCount); }
1493 if (nIndex < 0 || nIndex >= m_nSize)
1495 *(
volatile char*)0 =
'\0';
1496 return ((
const TYPE*)m_pData)[nIndex];
1509 if (nIndex < 0 || nIndex >= m_nSize)
1511 *(
volatile char*)0 =
'\0';
1512 return ((TYPE*)m_pData)[nIndex];
1528 ((TYPE*)m_pData)[nIndex++] = newElement;
1540 FX_BOOL RemoveAt(
int nIndex,
int nCount = 1) {
return CFX_BasicArray::RemoveAt(nIndex, nCount); }
1559 int Find(
const TYPE& data,
int iStart = 0)
const 1561 if (iStart < 0)
return -1;
1562 for (; iStart < (int)m_nSize; iStart ++)
1563 if (((TYPE*)m_pData)[iStart] == data)
return iStart;
1593 template <
class ObjectClass>
1643 void Add(
const ObjectClass& data)
1645 #ifndef _FX_NOPLACEMENTNEW_ 1646 new ((
void*)InsertSpaceAt(m_nSize, 1)) ObjectClass(data);
1648 ::new ((
void*)InsertSpaceAt(m_nSize, 1)) ObjectClass(data);
1662 #ifndef _FX_NOPLACEMENTNEW_ 1663 return *(ObjectClass*)
new ((
void*)InsertSpaceAt(m_nSize, 1)) ObjectClass();
1665 return *(ObjectClass*) ::
new ((
void*)InsertSpaceAt(m_nSize, 1)) ObjectClass();
1678 return InsertSpaceAt(m_nSize, 1);
1693 if (nCount == 0)
return 0;
1695 if (!nSize)
return 0;
1697 if (nCount < 0) nCount = nSize;
1698 if (nStart + nCount > nSize) nCount = nSize - nStart;
1699 if (nCount < 1)
return 0;
1701 InsertSpaceAt(m_nSize, nCount);
1702 ObjectClass* pStartObj = (ObjectClass*)
GetDataPtr(nSize);
1703 nSize = nStart + nCount;
1704 for (
FX_INT32 i = nStart; i < nSize; i ++, pStartObj++)
1706 #ifndef _FX_NOPLACEMENTNEW_ 1707 new ((
void*)pStartObj) ObjectClass(src[i]);
1709 ::new ((
void*)pStartObj) ObjectClass(src[i]);
1728 if (
this == &src)
return 0;
1730 if (nCount == 0)
return 0;
1732 if (!nSize)
return 0;
1734 if (nCount < 0) nCount = nSize;
1735 if (nStart + nCount > nSize) nCount = nSize - nStart;
1736 if (nCount < 1)
return 0;
1737 nSize = nStart + nCount;
1738 SetSize(nCount, -1);
1739 ObjectClass* pStartObj = (ObjectClass*)m_pData;
1740 for (
FX_INT32 i = nStart; i < nSize; i ++, pStartObj++)
1742 #ifndef _FX_NOPLACEMENTNEW_ 1743 new ((
void*)pStartObj) ObjectClass(src[i]);
1745 ::new ((
void*)pStartObj) ObjectClass(src[i]);
1770 return *(ObjectClass*)CFX_BasicArray::GetDataPtr(index);
1780 ObjectClass*
GetDataPtr(
int index)
const {
return (ObjectClass*)CFX_BasicArray::GetDataPtr(index);}
1792 ((ObjectClass*)
GetDataPtr(index))->~ObjectClass();
1793 CFX_BasicArray::RemoveAt(index, 1);
1803 for (
int i = 0; i < m_nSize; i ++)
1804 ((ObjectClass*)
GetDataPtr(i))->~ObjectClass();
1805 CFX_BasicArray::SetSize(0, -1);
1817 template <
class TYPE>
1831 return m_Container.GetSize() == 0;
1841 return m_Container.GetSize();
1851 return m_Container[
Size() - 1];
1861 m_Container.RemoveAt(
Size() - 1);
1873 m_Container.Add(val);
1897 return m_Container.GetSize() == 0;
1907 return m_Container.GetSize();
1917 return m_Container[
Size() - 1];
1927 m_Container.RemoveAt(
Size() - 1);
1939 m_Container.Add(val);
1976 void SetUnitSize(
int unit_size,
int segment_units,
int index_size = 8);
1992 void*
GetAt(
int index)
const;
2009 void Delete(
int index,
int count = 1);
2040 void*
Iterate(
FX_BOOL (*callback)(
void* param,
void* pData),
void* param)
const;
2048 short m_SegmentSize;
2058 void** GetIndex(
int seg_index)
const;
2059 void* IterateIndex(
int level,
int& start,
void** pIndex,
FX_BOOL (*callback)(
void* param,
void* pData),
void* param)
const;
2060 void* IterateSegment(
FX_LPCBYTE pSegment,
int count,
FX_BOOL (*callback)(
void* param,
void* pData),
void* param)
const;
2066 template <
class ElementType>
2110 template <
class DataType,
int FixedSize>
2121 : m_pAllocator(pAllocator)
2133 : m_pAllocator(pAllocator)
2136 if (data_size > FixedSize)
2154 if (data_size > FixedSize)
2166 operator DataType*() {
return m_pData ? m_pData : m_Data; }
2171 DataType m_Data[FixedSize];
2178 template <
class DataType>
2199 DataType& operator[](
int i) {
FXSYS_assert(m_pData !=
NULL);
return m_pData[i]; }
2200 operator DataType*()
const {
return m_pData; }
2297 void SetAt(
void* key,
void* newValue) { (*this)[key] = newValue; }
2359 CAssoc** m_pHashTable;
2365 CAssoc* m_pFreeList;
2367 struct CFX_Plex* m_pBlocks;
2392 void FreeAssoc(CAssoc* pAssoc);
2401 CAssoc* GetAssocAt(
void* key,
FX_DWORD& hash)
const;
2409 CAssoc* GetCurrentAssoc(
FX_POSITION& rNextPosition)
const;
2423 template <
class KeyType,
class ValueType>
2490 void* pKey =
NULL;
void* pValue =
NULL;
2720 CAssoc** m_pHashTable;
2726 CAssoc* m_pFreeList;
2728 struct CFX_Plex* m_pBlocks;
2745 void FreeAssoc(CAssoc* pAssoc);
2762 CAssoc* GetCurrentAssoc(
FX_POSITION& rNextPosition)
const;
3072 struct CFX_Plex* m_pBlocks;
3084 CNode* NewNode(CNode* pPrev, CNode* pNext);
3090 void FreeNode(CNode* pNode);
3211 if (!module_id)
return FALSE;
3213 for (
FX_DWORD n = 0; n < nCount; n ++) {
3214 if (m_DataList[n].m_pModuleId == module_id) {
3215 pData = m_DataList[n].m_pData;
3359 m_pObject = ref.m_pObject;
3368 if (!m_pObject)
return;
3391 if (!m_pObject)
return NULL;
3412 m_pObject = ref.m_pObject;
3425 if (m_pObject ==
NULL)
return;
3432 #if defined(_FX_MANAGED_CODE_) && defined(GetObject) 3449 operator const ObjClass*()
const 3461 return m_pObject ==
NULL;
3470 return m_pObject !=
NULL;
3483 if (m_pObject ==
NULL) {
3505 if (m_pObject ==
NULL)
return;
3521 return m_pObject == ref.m_pObject;
3531 return m_pObject ? m_pObject->
m_RefCount : 0;
3541 if (m_pObject ==
NULL)
return;
3552 if (m_pObject ==
NULL)
return;
3562 CountedObj* m_pObject;
3674 virtual void v_ResetStatistics() {};
3694 template<
typename T>
3703 m_Location = location;
3704 m_OldValue = *location;
3754 #define FX_DATALIST_LENGTH 1024 3757 template<
size_t unit>
3798 for (
FX_INT32 i = m_DataLists.GetUpperBound(); i >= 0; i--){
3799 DataList list = m_DataLists.ElementAt(i);
3802 m_DataLists.RemoveAll();
3816 if (nStart < 0)
return;
3825 if (!list.data)
break;
3827 list.
start = nStart;
3828 list.
count = temp_count;
3833 nCount -= temp_count;
3834 nStart += temp_count;
3853 if (nIndex < 0)
return NULL;
3854 if (m_CurList < 0 || m_CurList >= m_DataLists.GetSize())
return NULL;
3855 DataList *pCurList = m_DataLists.GetDataPtr(m_CurList);
3856 if (!pCurList || nIndex < pCurList->start || nIndex >= pCurList->
start + pCurList->
count){
3859 FX_INT32 iEnd = m_DataLists.GetUpperBound();
3860 while (iStart <= iEnd){
3861 FX_INT32 iMid = (iStart + iEnd) / 2;
3862 DataList* list = m_DataLists.GetDataPtr(iMid);
3863 if (nIndex < list->start)
3865 else if (nIndex >= list->
start + list->
count)
3874 return pCurList ? pCurList->data + (nIndex - pCurList->
start) * unit :
NULL;
3881 FX_INT32 iEnd = m_DataLists.GetUpperBound();
3883 while (iStart <= iEnd){
3884 FX_INT32 iMid = (iStart + iEnd) / 2;
3885 DataList* cur_list = m_DataLists.GetDataPtr(iMid);
3886 if (list.start == cur_list->start){
3888 }
else if (list.start < cur_list->start + cur_list->count)
3895 DataList* next_list = m_DataLists.GetDataPtr(iMid + 1);
3896 if (list.start == next_list->start){
3898 }
else if (list.start < next_list->start){
3906 m_DataLists.InsertAt(iFind, list);
3915 template<
typename T1,
typename T2>
3939 m_Data.Append(nStart, nCount);
3954 return (T2&)(*(
volatile T2*)data);
3966 return (T2*)m_Data.GetAt(nIndex);
3997 #define ProgressiveStatus FX_ProgressiveStatus 3999 #ifdef _FX_NO_NAMESPACE_ 4001 #define FX_NAMESPACE_DECLARE(namespace, type) type 4005 #define FX_NAMESPACE_DECLARE(namespace, type) namespace::type 4032 #define FX_IsOdd(a) ((a) & 1) 4037 #endif // _FX_BASIC_H_ Definition: fx_basic.h:3581
void GetNextAssoc(FX_POSITION &rNextPosition, CFX_ByteString &rKey, void *&rValue) const
Get the current association and set the position to next association.
void SetAt(FX_BSTR key, void *newValue)
Add a new (key, value) pair. Add if not exist, otherwise modify.
Definition: fx_basic.h:2641
FX_POSITION GetStartPosition() const
Get the first key-value pair position. iterating all (key, value) pairs.
Definition: fx_basic.h:3137
CFX_WideTextBuf & operator<<(int i)
Left shifts(<<) operator overload. Output a integer to the wide text buffer.
CNode * pNext
Pointer to next node.
Definition: fx_basic.h:2899
CFX_WideStringC GetResult() const
Get the result.
Definition: fx_basic.h:1009
void * FX_LPVOID
Pointer to any type.
Definition: fx_system.h:633
void RemoveAll()
Remove all the (key, value) pairs in the map.
Definition: fx_basic.h:52
Definition: fx_basic.h:1949
Definition: fx_basic.h:4010
Ready.
Definition: fx_basic.h:3984
~CFX_MapByteStringToPtr()
The destructor.
void Add(const ObjectClass &data)
Add a copy of an existing object to the array.
Definition: fx_basic.h:1643
Header file for Streams related definitions and classes.
wchar_t FX_WCHAR
Compiler dependant Unicode character (16-bit for Microsoft Compiler, 32-bit for gcc).
Definition: fx_system.h:708
Bidirectional node in CFX_PtrList.
Definition: fx_basic.h:2896
FX_LPVOID m_pModuleId
Module ID.
Definition: fx_basic.h:3119
CFX_ByteStringC GetResult() const
Get the result.
Definition: fx_basic.h:1065
TYPE & operator[](int nIndex)
Subscript([]) operator overload. This function returns a reference to the specified element specified...
Definition: fx_basic.h:1507
unsigned long FX_DWORD
32-bit unsigned integer.
Definition: fx_system.h:698
Definition: fx_basic.h:1032
FX_BOOL RemovePrivateData(FX_LPVOID module_id)
Remove previously stored private data. FPDFAPI assumes the module has deallocated the data...
FX_BOOL AppendChar(FX_WCHAR wch)
Append a single wide character.
int Size() const
Get size of the container.
Definition: fx_basic.h:1905
FX_BOOL IsEmpty() const
Verify whether the map is empty.
Definition: fx_basic.h:2259
FX_POSITION InsertAfter(FX_POSITION pos, void *newElement)
Insert a value after specified position.
CONSTANT WIDE STRING CLASS.
Definition: fx_string.h:1216
ElementType & operator[](int index)
Subscript([]) operator overload. This function returns a ref to the specified element specified by th...
Definition: fx_basic.h:2101
Not Found.
Definition: fx_basic.h:3990
Association in CFX_MapByteStringToPtr.
Definition: fx_basic.h:2577
IFX_Allocator * m_pAllocator
Special allocator pointer. NULL to use default allocator.
Definition: fx_basic.h:1129
void Incref()
Increase the reference.
Definition: fx_basic.h:3539
void Delete(int index, int count=1)
Delete a number of elements.
Definition: fx_basic.h:1818
~CFX_ObjectArray()
The destructor.
Definition: fx_basic.h:1607
void GetNextAssoc(FX_POSITION &rNextPosition, void *&rKey, void *&rValue) const
Get the current association and set the position to next association.
#define FX_Allocator_Alloc(fxAllocator, type, size)
Release-mode allocation on an allocator.
Definition: fx_memory.h:1050
FX_STRSIZE GetLength() const
Get the length of the byte string.
Definition: fx_string.h:227
CFX_ArrayTemplate< FX_DWORD > CFX_DWordArray
Type definition for a double-word array type.
Definition: fx_basic.h:1573
TYPE & ElementAt(int nIndex)
This method retrieves a ref to an element specified by an index number.
Definition: fx_basic.h:1374
CFX_ObjectArray(const CFX_ObjectArray &other, IFX_Allocator *pAllocator=0)
The copy constructor.
Definition: fx_basic.h:1615
void AddValue(FX_BSTR key, void *pValue)
Add a key-value pair to the dictionary, assuming there is no duplicated key existing.
T2 * GetPtrAt(FX_INT32 nIndex)
Get a point to data.
Definition: fx_basic.h:3964
void Push(const CFX_ByteString &val)
Push the byte string to stack.
Definition: fx_basic.h:1937
CFX_ArrayTemplate< FX_WORD > CFX_WordArray
Type definition for a word array type.
Definition: fx_basic.h:1571
void RemoveAll()
Remove all nodes in the list.
int GetCount() const
Get the number of key-value pairs.
CFX_ByteTextBuf & operator<<(int i)
Left shifts(<<) operator overload. Output an integer to the byte text buffer.
FX_BOOL IsNull() const
Check if the pointer of the object is NULL.
Definition: fx_basic.h:3459
CFX_FixedBufGrow(IFX_Allocator *pAllocator=0)
Construct with allocator.
Definition: fx_basic.h:2120
void * data
Node data.
Definition: fx_basic.h:2903
void SetAt(FX_DWORD key, FX_DWORD value)
Add a new (key, value) pair. Add if not exist, otherwise modify.
static CFX_CharMap * GetDefaultMapper(FX_INT32 codepage=0)
Get a character mapper according to Windows code page or other encoding system. This char maps are ma...
void Init(FX_LPCBYTE pData, FX_DWORD dwSize)
Initialize the bit-stream with a memory block. Must call Init() first.
CFX_ByteString key
Key data.
Definition: fx_basic.h:2585
void SetAt(KeyType key, ValueType newValue)
Add a new (key, value) pair. Add if not exist, otherwise modify.
Definition: fx_basic.h:2468
FX_POSITION GetStartPosition() const
Get the first key-value pair position. iterating all (key, value) pairs.
Definition: fx_basic.h:2664
FX_INT32(* m_GetCodePage)()
A pointer type to GetCodePage function. The function return a code page of the platform.
Definition: fx_basic.h:951
void GetByteStringL(CFX_ByteStringL &str) const
Get a byte string from current buffer object.
CFX_BinaryBuf(IFX_Allocator *pAllocator=0)
A default constructor creating an empty buffer.
void SetAt(void *key, void *newValue)
Add a new (key, value) pair. Add if not exist, otherwise modify.
Definition: fx_basic.h:2297
void(* PD_CALLBACK_FREEDATA)(FX_LPVOID pData)
Definition: fx_basic.h:3104
wchar_t const * FX_LPCWSTR
Pointer to constant Unicode characters.
Definition: fx_system.h:712
CFX_ObjectArray & operator=(const CFX_ObjectArray &other)
The assignment operator.
Definition: fx_basic.h:1628
FX_BOOL m_bSelfDestruct
A boolean value to decide whether it is using self destruct for private data. If this is TRUE...
Definition: fx_basic.h:3131
void * Add()
Add an element.
#define GetObject
Get object information. GetObjectW defined for unicode-mode, GetObjectA for ansi-mode.
Definition: fx_system.h:541
FX_LPVOID m_pData
Private data.
Definition: fx_basic.h:3122
CFX_WideTextBuf(IFX_Allocator *pAllocator=0)
Construct with allocator.
Definition: fx_basic.h:341
FX_BOOL Flush()
Flush internal buffer of the file.
void FilterFinish(CFX_BinaryBuf &dest_buf)
Indicate the input finished. For some filters, there might be some last output generated.
FX_INT32 start
The start index.
Definition: fx_basic.h:3764
CFX_Stack()
Construct.
Definition: fx_basic.h:1888
~CFX_CountRef()
Destruct a reference and release the object it refers to.
Definition: fx_basic.h:3366
void RemoveAt(int index)
Remove an object at specified position.
Definition: fx_basic.h:1789
int GetSize() const
Get number of elements in the array.
Definition: fx_basic.h:2016
CFX_PtrList(int nBlockSize=10, IFX_Allocator *pAllocator=0)
Construct with block size and allocator.
void Clear()
Clear the decoding status and set the output wide text buffer to be empty.
virtual ~CFX_DataFilter()
The destructor. Destroy this filter and all its chain.
void ByteAlign()
Get to byte boundary. If current bit position is not multiplication of 8, the rest of the current byt...
void SetUnitSize(int unit_size, int segment_units, int index_size=8)
Change the unit size and the segment units. This can only be called when array is empty...
void FilterIn(FX_LPCBYTE src_buf, size_t src_size, CFX_BinaryBuf &dest_buf)
Input a data block to the filter (and its filter chain), and receive the final output.
void ClearAll()
Release all remaining data.
int GetSize() const
Get the number of elements in the array.
Definition: fx_basic.h:1309
FX_BOOL Flush()
Flush internal buffer.
FX_BOOL EstimateSize(FX_STRSIZE size, FX_STRSIZE alloc_step=0)
Change the allocated buffer size, and set the allocation step if alloc_step is non-zero.
FX_POSITION GetNextPosition(FX_POSITION pos) const
Get the next position.
Definition: fx_basic.h:2957
Definition: fx_basic.h:723
FX_LPVOID GetPrivateData(FX_LPVOID module_id)
Get previously stored private data. Returns NULL for not stored.
FX_INT32 Copy(const CFX_ObjectArray &src, FX_INT32 nStart=0, FX_INT32 nCount=-1)
Copy from an array.
Definition: fx_basic.h:1726
Definition: fx_basic.h:2067
CFX_UTF8Encoder(IFX_Allocator *pAllocator=0)
A constructor. Set the encoder to initial.
Definition: fx_basic.h:1040
void SetStream(IFX_FileStream *pStream)
Set the attached stream.
Definition: fx_basic.h:597
void operator=(FX_LPCWSTR lpsz)
Assignment(=) operator overload. From a zero terminated wide character string.
CFX_TempBuf(int size, IFX_Allocator *pAllocator=0)
Construct with allocator.
Definition: fx_basic.h:2189
#define FX_MIN(a, b)
A macro that returns the minimum of a and b.
Definition: fx_system.h:801
FX_BOOL Abort() const
Indicate whether to abort the filter process.
Definition: fx_basic.h:3652
void GetResult(CFX_ByteStringL &result) const
Get the result.
Definition: fx_basic.h:1074
CFX_CMapDWordToDWord(IFX_Allocator *pAllocator=0)
Constructor with allocator.
Definition: fx_basic.h:2508
int GetUnitSize() const
Get number of bytes for each element.
Definition: fx_basic.h:2030
WIDE STRING CLASS.
Definition: fx_string.h:1463
FX_BOOL AppendFill(FX_BYTE byte, FX_STRSIZE count)
Append a byte for specified number times. Not a byte-by-byte processing, but a byte filling processin...
CFX_ListArrayTemplate< CFX_SortListArray< sizeof(FX_INT64)>, FX_INT64 > CFX_FileSizeListArray
Type definition for file size list array.
Definition: fx_basic.h:3973
CFX_UTF8Decoder(IFX_Allocator *pAllocator=0)
A constructor. Set the decoder to initial.
Definition: fx_basic.h:970
CFX_CountRef< ObjClass > Ref
Type definition: it is used short for CFX_CountRef<ObjClass>.
Definition: fx_basic.h:3322
CFX_ObjectArray(IFX_Allocator *pAllocator=0)
The constructor.
Definition: fx_basic.h:1602
Stream writing interface.
Definition: fx_stream.h:422
CFX_Stack()
Construct.
Definition: fx_basic.h:1822
virtual FX_DWORD AddRef()=0
Increments reference count.
CFX_MapByteStringToPtr(int nBlockSize=10, IFX_Allocator *pAllocator=0)
Construct with specified block size.
void * FX_POSITION
A value used to denote the position of an element in a collection.
Definition: fx_system.h:637
CFX_PrivateData(IFX_Allocator *pAllocator=0)
Construct with allocator.
Definition: fx_basic.h:3145
virtual FX_DWORD Release()=0
Decrements reference count and release the current object.
int GetSegmentSize() const
Get number of elements in each segment.
Definition: fx_basic.h:2023
void Input(FX_WCHAR unicode)
Input a unicode.
FX_INTPTR GetLength() const
Get the length of saved data.
Definition: fx_basic.h:581
Memory allocation error.
Definition: fx_basic.h:1259
FX_LPCBYTE GetBuffer() const
Get the constant byte pointer to the saved data.
Definition: fx_basic.h:588
FX_BOOL Read(void *pBuf, FX_DWORD dwSize)
De-serialize a memory block.
virtual FX_BOOL NeedToPauseNow()=0
Check whether callers need to pause now.
T & operator*(void)
Get the object reference operator.
Definition: fx_basic.h:3741
ObjectClass & operator[](int index) const
Subscript([]) operator overload. This function returns a reference to the specified object specified ...
Definition: fx_basic.h:1767
FX_BOOL Copy(const CFX_ArrayTemplate &src)
Copy from an array.
Definition: fx_basic.h:1447
FX_BOOL SetSize(int nNewSize, int nGrowBy=-1)
Change the allocated size and the grow amount.
Definition: fx_basic.h:1326
FX_LPCBYTE GetPtr() const
Get a constant byte string pointer to the byte string.
Definition: fx_string.h:215
void Clear()
Set the binary buffer to be empty.
void SetPrivateObj(FX_LPVOID module_id, CFX_DestructObject *pObj)
Set private object.
Definition: fx_basic.h:332
FX_DWORD HashKey(FX_BSTR key) const
Routine used to user-provided hash keys.
IFX_Allocator * m_pAllocator
Special allocator pointer. NULL means to use default allocator.
Definition: fx_basic.h:225
int m_RefCount
The reference count.
Definition: fx_basic.h:3341
FX_BOOL AttachFile(IFX_StreamWrite *pFile, FX_BOOL bTakeover=0)
Attach file.
Definition: fx_basic.h:3716
CFX_FileBufferArchive(FX_STRSIZE size=32768, IFX_Allocator *pAllocator=0)
A constructor with size and allocator.
Header file for Strings, variable-length sequence of characters. There are two strings here...
void * value
Value data.
Definition: fx_basic.h:2228
CFX_MapPtrToPtr(int nBlockSize=10, IFX_Allocator *pAllocator=0)
Construct with specified block size.
FX_INT64 GetSrcPos() const
Get current position in the source stream (byte offset from the beginning of all input data)...
Definition: fx_basic.h:3610
FX_BOOL Append(const CFX_ArrayTemplate &src)
Append an array.
Definition: fx_basic.h:1438
FX_BOOL RemoveKey(KeyType key)
Remove existing (key, ?) pair.
Definition: fx_basic.h:2477
int FX_INT32
32-bit signed integer.
Definition: fx_system.h:662
FX_BOOL Lookup(KeyType key, ValueType &rValue) const
Lookup by a key.
Definition: fx_basic.h:2442
void * FXSYS_memset32(void *dst, FX_INT32 v, size_t size)
Set buffer data to specified value.
CFX_CountRef()
Construct a null reference.
Definition: fx_basic.h:3347
int FX_STRSIZE
String size is limited to 2^31-1.
Definition: fx_string.h:35
void RemoveAll()
Clean up the array.
Definition: fx_basic.h:1336
FX_POSITION GetHeadPosition() const
Get the header position.
Definition: fx_basic.h:2921
FX_POSITION GetStartPosition() const
Get the first key-value pair position. iterating all (key, value) pairs.
FX_BOOL Add(TYPE newElement)
Add an element at the tail. Potentially growing the array.
Definition: fx_basic.h:1421
CFX_ArrayTemplate< FX_INT32 > CFX_Int32Array
Type definition for INT32 array.
Definition: fx_basic.h:1581
Definition: fx_basic.h:2785
Definition: fx_basic.h:247
FX_BOOL IsEOF()
Check whether de-serializing is to the end of the loading buffer.
CFX_ByteTextBuf(IFX_Allocator *pAllocator=0)
Construct with allocator.
Definition: fx_basic.h:256
T * operator->(void)
Get the object pointer operator.
Definition: fx_basic.h:3748
Association in CFX_MapPtrToPtr.
Definition: fx_basic.h:2221
int GetCount() const
Get the number of elements.
Definition: fx_basic.h:2605
~CFX_PrivateData()
The destructor.
~CFX_BinaryBuf()
The destructor.
void * Iterate(FX_BOOL(*callback)(void *param, void *pData), void *param) const
Iterate all units, with a callback function for each unit.
int FX_BOOL
Boolean variable (should be TRUE or FALSE).
Definition: fx_system.h:666
ErrorType
Enumeration for error type.
Definition: fx_basic.h:1254
void RemoveAll()
Remove all (key, value) pair.
Definition: fx_basic.h:2563
virtual void Clear()
Clear the text buffer.
~CFX_TempBuf()
The Destructor.
Definition: fx_basic.h:2195
Definition: fx_basic.h:3758
void SetDestFilter(CFX_DataFilter *pFilter)
Set destination filter. Note the filter will be appended to the end of current filter chain...
Definition: fx_basic.h:3916
CFX_ArchiveSaver & operator<<(FX_BYTE i)
Left shifts(<<) operator overload. Serialize a single byte.
char const * FX_LPCSTR
Pointer to constant 8-bit Windows (ANSI) characters.
Definition: fx_system.h:679
void AppendChar(FX_DWORD ch)
Append characters to wide text buffer.
Definition: fx_basic.h:2892
FX_INT32 Append(const CFX_ObjectArray &src, FX_INT32 nStart=0, FX_INT32 nCount=-1)
Append an array.
Definition: fx_basic.h:1691
FX_INT32 count
The data count.
Definition: fx_basic.h:3766
T * Get(void)
Get the object pointer.
Definition: fx_basic.h:3734
CFX_WideString FX_DecodeURI(const CFX_ByteString &bsURI)
A simple URI Decode.
CFX_WideString(* m_GetWideString)(CFX_CharMap *pMap, const CFX_ByteString &bstr)
A pointer type to GetWideString function.
Definition: fx_basic.h:931
The data list.
Definition: fx_basic.h:3762
void GetNextAssoc(FX_POSITION &rNextPosition, KeyType &rKey, ValueType &rValue) const
Get the current association and set the position to next association.
Definition: fx_basic.h:2488
FX_BOOL IsExhaustBuffer() const
Indicate whether this filter exhausts the input buffer.
Definition: fx_basic.h:3638
FX_LPBYTE GetAt(FX_INT32 nIndex)
Get the data.
Definition: fx_basic.h:3851
File stream interface, reading & writing.
Definition: fx_stream.h:649
FX_BOOL SetAtGrow(int nIndex, TYPE newElement)
Set an element value at specified position. Potentially growing the array.
Definition: fx_basic.h:1405
void InitHashTable(FX_DWORD hashSize, FX_BOOL bAllocNow=1)
Initialize the hash table.
Found.
Definition: fx_basic.h:3988
void AppendStr(FX_BSTR str)
Append a non-buffered byte string.
Definition: fx_basic.h:1058
FX_INT32 AppendBlock(const void *pBuf, size_t size)
Append a binary buffer block.
void GetResult(CFX_WideStringL &result) const
Get the result.
Definition: fx_basic.h:1018
CFX_ArrayTemplate< FX_INT64 > CFX_FileSizeArray
Type definition for file size array type.
Definition: fx_basic.h:1577
UINT_PTR FX_UINTPTR
Unsigned integral type for pointer precision.
Definition: fx_system.h:729
TYPE * InsertSpaceAt(int nIndex, int nCount)
Insert a number of elements.
Definition: fx_basic.h:1473
void RemoveAt(FX_POSITION pos)
Remove a node at specified position.
FX_BOOL RemoveKey(FX_BSTR key)
Remove existing key.
int RefCount() const
Get the reference count.
Definition: fx_basic.h:3529
FX_BOOL RemoveAt(int nIndex, int nCount=1)
Remove a number of elements at specified position.
Definition: fx_basic.h:1540
Definition: fx_basic.h:3566
void Rewind()
Rewind a bit-stream. Simply set the current bit position to be zero.
Definition: fx_basic.h:3303
FX_DWORD GetHashTableSize() const
Get the internal hash table size. Advanced features for derived classes.
Definition: fx_basic.h:2691
CFX_ObjectArray< CFX_WideString > CFX_WideStringArray
Type definition for a CFX_WideString array type.
Definition: fx_basic.h:1812
void *& operator[](void *key)
Subscript([]) operator overload. Lookup and add if not there.
void AttachData(void *pBuf, FX_STRSIZE size)
Attach to a buffer (this buffer will belong to this object). The buffer must be allocated by FX_Alloc...
void operator=(const Ref &ref)
Assignment(=) operator overload. Assign from another reference.
Definition: fx_basic.h:3403
void * GetNext(FX_POSITION &rPosition) const
Get the the current value and set the position to next node.
Definition: fx_basic.h:2937
FX_DWORD nHashValue
Cached hash value, needed for efficient iteration.
Definition: fx_basic.h:2583
void DetachBuffer()
Detach the buffer. Just set buffer pointer to NULL, and set the binary buffer size to zero...
void * GetPrev(FX_POSITION &rPosition) const
Get the the current value and set the position to previous node.
Definition: fx_basic.h:2947
CFX_ArrayTemplate(const CFX_ArrayTemplate &other, IFX_Allocator *pAllocator=0)
The copy constructor.
Definition: fx_basic.h:1279
void * AddSpace()
Add an empty space to the array.
Definition: fx_basic.h:1676
FX_POSITION AddTail(void *newElement)
Add a value to the tail.
void Write(const void *pData, FX_STRSIZE dwSize)
Serialize a memory block.
CFX_SmartPointer(T *pObj)
The constructor.
Definition: fx_basic.h:3724
Definition: fx_basic.h:3318
void ResetStatistics()
Reset statistics.
Definition: fx_basic.h:1246
T2 & operator[](FX_INT32 nIndex)
Subscript([]) operator overload.
Definition: fx_basic.h:3949
const TYPE GetAt(int nIndex) const
This method retrieves an element specified by an index number.
Definition: fx_basic.h:1345
ObjectClass & Add()
Add an empty object to the array.
Definition: fx_basic.h:1660
CFX_ArrayTemplate(IFX_Allocator *pAllocator=0)
Constructor, from an allocator.
Definition: fx_basic.h:1270
unsigned char * FX_LPBYTE
Pointer to a FX_BYTE.
Definition: fx_system.h:646
FX_POSITION Find(void *searchValue, FX_POSITION startAfter=0) const
Find a value starting after specified position.
CFX_ByteString FX_EncodeURI(const CFX_WideString &wsURI)
A simple URI encode.
void Append(FX_INT32 nStart, FX_INT32 nCount)
Append a list data.
Definition: fx_basic.h:3814
void EstimateSize(FX_DWORD size, FX_DWORD grow_by)
Change internal allocation size and grow amount.
CountedObj(const CountedObj &src)
The copy constructor.
Definition: fx_basic.h:3338
FX_BOOL Lookup(FX_DWORD key, FX_DWORD &value) const
Lookup by a key.
FX_BOOL AppendBlock(const void *pBuf, FX_STRSIZE size)
Append a binary buffer block.
const TYPE * GetData() const
Direct Access to the element data (may return NULL).
Definition: fx_basic.h:1388
CFX_ArrayTemplate & operator=(const CFX_ArrayTemplate &src)
Assignment operator overload.
Definition: fx_basic.h:1482
void FreeData()
Free the private data pointed by m_pData.
const TYPE operator[](int nIndex) const
Subscript([]) operator overload. It retrieves a element specified by the zero-based index in nIndex...
Definition: fx_basic.h:1491
CFX_ArrayTemplate< FX_BYTE > CFX_ByteArray
Type definition for a byte array type.
Definition: fx_basic.h:1569
Foxit allocator interface.
Definition: fx_memory.h:960
void AppendChar(int ch)
Append a single character or byte.
Definition: fx_basic.h:274
void SkipBits(FX_DWORD nBits)
Skip a number of bits.
Definition: fx_basic.h:3296
CFX_SegmentedArray(int segment_units, int index_size=8, IFX_Allocator *pAllocator=0)
Construct with specified segment units.
Definition: fx_basic.h:2077
CNode * pPrev
Pointer to previous node.
Definition: fx_basic.h:2901
void Pop()
Pop the byte string from stack.
Definition: fx_basic.h:1925
Definition: fx_basic.h:905
void RemoveAll()
Remove all key-value pairs in the map.
Invalid array size.
Definition: fx_basic.h:1256
FX_STRSIZE GetLength() const
Get the length of the wide text buffer.
Definition: fx_basic.h:429
CFX_ListArrayTemplate< CFX_SortListArray< sizeof(FX_DWORD)>, FX_DWORD > CFX_DWordListArray
Type definition for FX_DWORD list array.
Definition: fx_basic.h:3975
void Add(ElementType data)
Add an element.
Definition: fx_basic.h:2089
float FX_FLOAT
32-bit floating-point number.
Definition: fx_system.h:664
FX_BOOL IsEmpty() const
Verify whether the map is empty.
Definition: fx_basic.h:2612
FX_POSITION FindIndex(int index) const
Find a value by index number.
CFX_CountRef(const Ref &ref)
Copy constructor from another reference.
Definition: fx_basic.h:3357
#define FXSYS_assert
Assertion.
Definition: fx_system.h:779
TYPE * AddSpace()
Add an element's space.
Definition: fx_basic.h:1463
CFX_ArchiveLoader & operator>>(FX_BYTE &i)
Right shifts(>>) operator overload. De-serialize a byte.
CAssoc * pNext
Pointer to next association.
Definition: fx_basic.h:2580
TYPE * GetDataPtr(int index)
Get a pointer to the specified element in the array. Direct pointer access.
Definition: fx_basic.h:1456
FX_INT32 AppendByte(FX_BYTE byte)
Append a single byte.
int GetCount() const
Get the number of elements.
Definition: fx_basic.h:2252
void SetAt(FX_POSITION pos, void *newElement)
Change the value at specified position.
Definition: fx_basic.h:3011
FX_POSITION AddHead(void *newElement)
Add a value to the head.
CFX_ArchiveSaver(IFX_Allocator *pAllocator=0)
Construct with allocator.
Definition: fx_basic.h:479
virtual void Clear()
Clear buffer.
void Delete(int start_index, int count)
Delete a inter-zone buffer defining by parameters start_index and count in the wide text buffer...
Definition: fx_basic.h:446
FX_BOOL SetAt(int nIndex, TYPE newElement)
This method overwrites an element specified by an index number.
Definition: fx_basic.h:1361
int GetSize() const
Get the size of the array.
Definition: fx_basic.h:1757
CFX_ByteString & Top()
Get the top byte string.
Definition: fx_basic.h:1915
FX_BOOL InsertBlock(FX_STRSIZE pos, const void *pBuf, FX_STRSIZE size)
Insert a binary buffer block at the specified position.
void * GetAt(FX_POSITION rPosition) const
Get an value at specified position.
Definition: fx_basic.h:2975
FX_POSITION GetTailPosition() const
Get the tail position.
Definition: fx_basic.h:2928
FX_BOOL Empty() const
Empty the container.
Definition: fx_basic.h:1829
~CFX_AutoRestorer()
The destructor.
Definition: fx_basic.h:3708
~CFX_BaseSegmentedArray()
The destructor.
#define TRUE
Keyword which value is 1.
Definition: fx_system.h:757
CFX_MapPtrTemplate(IFX_Allocator *pAllocator=0)
Default constructor.
Definition: fx_basic.h:2432
Definition: fx_basic.h:960
FX_STRSIZE GetLength() const
Get the length of the byte text buffer.
Definition: fx_basic.h:326
Definition: fx_basic.h:2424
void AppendString(FX_BSTR str)
Append a non-buffered byte string.
Definition: fx_basic.h:119
FX_BOOL Empty() const
Empty the container.
Definition: fx_basic.h:1895
void InitHashTable(FX_DWORD hashSize, FX_BOOL bAllocNow=1)
Initialize the hash table.
Definition: fx_basic.h:3109
Definition: fx_basic.h:2179
FX_LPVOID GetNextValue(FX_POSITION &rNextPosition) const
Get the the current value and set the position to next association.
Definition: fx_basic.h:609
void GetNextAssoc(FX_POSITION &rNextPosition, CFX_ByteString &rKey, void *&rValue) const
Get the current association and set the position to next association.
CFX_SortListArray(IFX_Allocator *pAllocator=0)
The constructor.
Definition: fx_basic.h:3781
CFX_BinaryBuf m_Buffer
Definition: fx_basic.h:2567
Failed.
Definition: fx_basic.h:3992
void * key
Key data.
Definition: fx_basic.h:2226
FX_LPWSTR GetBuffer() const
Get a wide character pointer.
Definition: fx_basic.h:436
~CFX_FixedBufGrow()
The Destructor.
Definition: fx_basic.h:2164
Done.
Definition: fx_basic.h:3994
void FX_Error(ErrorType error, FX_INT32 badIndex=0) const
The function is called when raise a fatal error.Print error info an exit(1).
Definition: fx_basic.h:1290
CFX_FixedBufGrow(int data_size, IFX_Allocator *pAllocator=0)
Construct with allocator.
Definition: fx_basic.h:2132
CONSTANT BYTE STRING CLASS.
Definition: fx_string.h:51
TYPE * GetData()
Direct Access to the element data (may return NULL).
Definition: fx_basic.h:1395
Definition: fx_basic.h:1594
CFX_ObjectArray< CFX_ByteString > CFX_ByteStringArray
Type definition for a CFX_ByteString array type.
Definition: fx_basic.h:1810
FX_BOOL LookupPrivateData(FX_LPVOID module_id, FX_LPVOID &pData) const
Lookup a private data.
Definition: fx_basic.h:3209
~CFX_SmartPointer()
The destructor.
Definition: fx_basic.h:3727
ObjClass * New()
Create a new object and refer to it. The returned pointer to the object can be used to modify the con...
Definition: fx_basic.h:3382
Define a class here derived from user data class, with an additional reference count member...
Definition: fx_basic.h:3327
CFX_ArrayTemplate< FX_FLOAT > CFX_FloatArray
Type definition for float array.
Definition: fx_basic.h:1579
void ClearStatus()
Clear the decoding status.
Definition: fx_basic.h:1002
~CFX_SortListArray()
The destructor.
Definition: fx_basic.h:3784
IFX_BufferArchive(FX_STRSIZE size, IFX_Allocator *pAllocator=0)
Construct with buffer size and special allocator.
FX_DWORD GetHashTableSize() const
Get the internal hash table size. Advanced features for derived classes.
Definition: fx_basic.h:2341
void *& operator[](FX_BSTR key)
Subscript([]) operator overload. Lookup and add if not there.
FX_BOOL NotNull() const
Check if the pointer of the object is not NULL.
Definition: fx_basic.h:3468
TYPE & Top()
Get the top byte data.
Definition: fx_basic.h:1849
FX_BOOL RemoveKey(void *key)
Removing existing (key, ?) pair.
FX_INT32 AppendDWord(FX_DWORD i)
Append a FX_DWORD value.
FX_BOOL Lookup(FX_BSTR key, void *&rValue) const
Lookup by a key.
void SetAt(FX_BSTR key, void *value)
Add a new (key, value) pair. Add if not exist, otherwise modify.
Definition: fx_basic.h:2111
FX_BOOL InsertAt(int nStartIndex, const CFX_BasicArray *pNewArray)
Inset an array at specified position.
Definition: fx_basic.h:1550
~CFX_FileBufferArchive()
The destructor.
void Clear()
Clear data.
Definition: fx_basic.h:3924
void Delete(int start_index, int count)
Delete a inter-zone buffer defining by parameters start_index and count in the binary buffer...
To be continued.
Definition: fx_basic.h:3986
CFX_WideString FX_UrlDecode(const CFX_ByteString &bsUrl)
A simple URL decode.
FX_DWORD GetBits(FX_DWORD nBits)
Get specified number of bits (maximum 32 bits).
ValueType & operator[](KeyType key)
Subscript([]) operator overload. Lookup and add if not there.
Definition: fx_basic.h:2458
BYTE STRING CLASS.
Definition: fx_string.h:317
FX_BOOL Lookup(FX_BSTR key, void *&rValue) const
Lookup by a key.
void SetPrivateData(FX_LPVOID module_id, FX_LPVOID pData, PD_CALLBACK_FREEDATA callback)
Set private data.
void operator=(FX_BSTR str)
Assignment(=) operator overload. From a non-buffered byte string.
CFX_CMapByteStringToPtr(IFX_Allocator *pAllocator=0)
The constructor.
void AppendByte(FX_BYTE byte)
Append a single byte.
Definition: fx_basic.h:128
virtual ~IFX_BufferArchive()
The destructor.
Definition: fx_basic.h:739
Definition: fx_basic.h:1125
FX_BOOL CopyData(const void *pBuf, FX_STRSIZE size)
Copy from another buffer.
CFX_AutoRestorer(T *location)
The constructor.
Definition: fx_basic.h:3702
unsigned char const * FX_LPCBYTE
Pointer to a constant FX_BYTE.
Definition: fx_system.h:648
FX_LPBYTE GetBuffer() const
Get a byte pointer to the binary buffer.
Definition: fx_basic.h:192
Header file for Memory management related definitions and classes.
void SetDataSize(int data_size)
Construct with allocator.
Definition: fx_basic.h:2150
FX_BOOL Lookup(void *key, void *&rValue) const
Lookup by a key.
FX_ProgressiveStatus
Enumeration for progressive status.
Definition: fx_basic.h:3982
#define FALSE
Keyword which value is 0.
Definition: fx_system.h:762
void Pop()
Pop the data from stack.
Definition: fx_basic.h:1859
wchar_t * FX_LPWSTR
Pointer to Unicode characters.
Definition: fx_system.h:710
FX_BOOL NeedNewSrc()
Indicate whether this filter needs to input new src data.
FX_BOOL InsertAt(int nIndex, TYPE newElement, int nCount=1)
Inset one or more continuous element at specified position.
Definition: fx_basic.h:1524
Index out of range.
Definition: fx_basic.h:1262
IFX_Allocator * m_pAllocator
Special allocator pointer. NULL means to use default allocator.
Definition: fx_basic.h:2043
FX_BOOL IsEOF() const
Detect EOF.
Definition: fx_basic.h:3603
~CFX_CMapByteStringToPtr()
The destructor.
void TakeOver(CFX_BinaryBuf &other)
Takeover another buffer.
#define NULL
The null-pointer value.
Definition: fx_system.h:767
void * GetValueAt(void *key) const
Get a value pointer by a key.
FX_INT32 AppendInt64(FX_INT64 i)
Append a FX_INT64 value.
int GetUpperBound() const
Get the upper bound in the array, actually the maximum valid index.
Definition: fx_basic.h:1316
void RemoveKey(FX_BSTR key)
Removing existing (key, ?) pair.
Definition: fx_basic.h:2500
Definition: fx_basic.h:2215
FX_BOOL IsEOF() const
Check if reached end of the stream.
Definition: fx_basic.h:3287
CFX_ByteString FX_UrlEncode(const CFX_WideString &wsUrl)
A simple URL encode.
void Push(const TYPE &val)
Push the data to stack.
Definition: fx_basic.h:1871
#define FX_FILESIZE
Support large file directly.
Definition: fx_stream.h:138
FX_POSITION GetStartPosition() const
Get the first key-value pair position. iterating all (key, value) pairs.
Definition: fx_basic.h:2320
Definition: fx_basic.h:2571
void Clear()
Clear the data list.
Definition: fx_basic.h:3794
CountedObj()
The constructor.
Definition: fx_basic.h:3331
void RemoveAll()
Remove all objects in the array.
Definition: fx_basic.h:1801
int GetCount() const
Get the number of nodes.
Definition: fx_basic.h:2983
FX_BOOL AbortAll()
Indicate whether to abort the filter process, including all dest filter.
ObjClass * GetModify()
Get a modifiable copy of the object.
Definition: fx_basic.h:3481
void GetNextAssoc(FX_POSITION &pos, FX_DWORD &key, FX_DWORD &value) const
Get the next association.
void RemoveAll()
Remove all the (key, value) pairs in the map.
int Size() const
Get size of the container.
Definition: fx_basic.h:1839
#define FX_Allocator_Free(fxAllocator, ptr)
Free memory block on an allocator.
Definition: fx_memory.h:1057
FX_POSITION GetPrevPosition(FX_POSITION pos) const
Get the previous position.
Definition: fx_basic.h:2966
CFX_WideStringC GetWideString() const
Get a wide string from the wide text buffer.
~CFX_MapPtrToPtr()
The Destructor.
CFX_ArchiveLoader(FX_LPCBYTE pData, FX_DWORD dwSize)
Construct a loading archive.
PD_CALLBACK_FREEDATA m_pCallback
Pointer of a callback function provided by custom module for deallocating private data...
Definition: fx_basic.h:3125
FX_STRSIZE GetSize() const
Get the length of the binary buffer.
Definition: fx_basic.h:199
CFX_ByteString(* m_GetByteString)(CFX_CharMap *pMap, const CFX_WideString &wstr)
A pointer type to GetByteString function.
Definition: fx_basic.h:944
Definition: fx_basic.h:3253
void SetNull()
Set the pointer of the object to be null.
Definition: fx_basic.h:3503
Definition: fx_basic.h:3695
CFX_ArrayTemplate< FX_WCHAR > CFX_WCHARArray
Type definition for FX_WHAR array.
Definition: fx_basic.h:1583
FX_INT32 AppendString(FX_BSTR lpsz)
Append a byte string value.
FX_BOOL operator==(const Ref &ref) const
Comparison(==) operator overload. Compare with another reference.
Definition: fx_basic.h:3519
ObjectClass * GetDataPtr(int index) const
Get a pointer to the specified element in the array. Direct pointer access.
Definition: fx_basic.h:1780
void * value
Value data.
Definition: fx_basic.h:2587
INT_PTR FX_INTPTR
Signed integral type for pointer precision.
Definition: fx_system.h:727
Header file for exception class.
unsigned char FX_BYTE
Byte (8 bits).
Definition: fx_system.h:644
void * GetAt(int index) const
Get a typeless pointer to an element data.
void RemoveAll()
Remove all elements in the array.
Definition: fx_basic.h:826
void Decref()
Decrease the reference.
Definition: fx_basic.h:3550
virtual ~IFX_Pause()
Destructor.
Definition: fx_basic.h:3570
CFX_ArrayTemplate< void * > CFX_PtrArray
Type definition for: a typeless pointer array type.
Definition: fx_basic.h:1575
Definition: fx_basic.h:470
CFX_BaseSegmentedArray(int unit_size=1, int segment_units=512, int index_size=8, IFX_Allocator *pAllocator=0)
Construct with specified unit size, segment units, and number of index levels.
int Find(const TYPE &data, int iStart=0) const
Find an element from specified position to last.
Definition: fx_basic.h:1559
void Input(FX_BYTE byte)
Input a byte.
Header file for system related definitions.
FX_LPVOID GetNextValue(FX_POSITION &rNextPosition) const
Get the the current value and set the position to next association.
CFX_ByteStringC GetByteString() const
Get a byte string from the buffer.
void Add(FX_INT32 nStart, FX_INT32 nCount)
Add a list data.
Definition: fx_basic.h:3937
CAssoc * pNext
Pointer to next association.
Definition: fx_basic.h:2224