Revert "FX_BOOL considered harmful, part 2."
[pdfium.git] / core / include / fxcrt / fx_basic.h
index 3af8a60..d575df6 100644 (file)
@@ -27,7 +27,7 @@
 template <typename T, size_t N>
 char (&ArraySizeHelper(T (&array)[N]))[N];
 
-class CFX_BinaryBuf 
+class CFX_BinaryBuf
 {
 public:
     CFX_BinaryBuf();
@@ -43,7 +43,7 @@ public:
 
     void                                       AppendFill(uint8_t byte, FX_STRSIZE count);
 
-    void                                       AppendString(FX_BSTR str)
+    void                                       AppendString(const CFX_ByteStringC& str)
     {
         AppendBlock(str.GetPtr(), str.GetLength());
     }
@@ -66,7 +66,7 @@ public:
 
     void                                       Delete(int start_index, int count);
 
-    FX_LPBYTE                          GetBuffer() const
+    uint8_t*                           GetBuffer() const
     {
         return m_pBuffer;
     }
@@ -83,7 +83,7 @@ protected:
 
     FX_STRSIZE                         m_AllocStep;
 
-    FX_LPBYTE                          m_pBuffer;
+    uint8_t*                           m_pBuffer;
 
     FX_STRSIZE                         m_DataSize;
 
@@ -95,7 +95,7 @@ class CFX_ByteTextBuf : public CFX_BinaryBuf
 {
 public:
 
-    void                                       operator = (FX_BSTR str);
+    void                                       operator = (const CFX_ByteStringC& str);
 
     void                                       AppendChar(int ch)
     {
@@ -108,7 +108,7 @@ public:
 
     CFX_ByteTextBuf&           operator << (double f);
 
-    CFX_ByteTextBuf&           operator << (FX_BSTR lpsz);
+    CFX_ByteTextBuf&           operator << (const CFX_ByteStringC& lpsz);
 
     CFX_ByteTextBuf&           operator << (const CFX_ByteTextBuf& buf);
 
@@ -121,9 +121,9 @@ class CFX_WideTextBuf : public CFX_BinaryBuf
 {
 public:
 
-    void                                       operator = (FX_LPCWSTR lpsz);
+    void                                       operator = (const FX_WCHAR* lpsz);
 
-    void                                       operator = (FX_WSTR str);
+    void                                       operator = (const CFX_WideStringC& str);
 
     void                                       AppendChar(FX_WCHAR wch);
 
@@ -131,9 +131,9 @@ public:
 
     CFX_WideTextBuf&           operator << (double f);
 
-    CFX_WideTextBuf&           operator << (FX_LPCWSTR lpsz);
+    CFX_WideTextBuf&           operator << (const FX_WCHAR* lpsz);
 
-    CFX_WideTextBuf&           operator << (FX_WSTR str);
+    CFX_WideTextBuf&           operator << (const CFX_WideStringC& str);
     CFX_WideTextBuf&           operator << (const CFX_WideString &str);
 
     CFX_WideTextBuf&           operator << (const CFX_WideTextBuf& buf);
@@ -143,9 +143,9 @@ public:
         return m_DataSize / sizeof(FX_WCHAR);
     }
 
-    FX_LPWSTR                          GetBuffer() const
+    FX_WCHAR*                          GetBuffer() const
     {
-        return (FX_LPWSTR)m_pBuffer;
+        return (FX_WCHAR*)m_pBuffer;
     }
 
     void                                       Delete(int start_index, int count)
@@ -155,7 +155,7 @@ public:
 
     CFX_WideStringC                    GetWideString() const;
 };
-class CFX_ArchiveSaver 
+class CFX_ArchiveSaver
 {
 public:
     CFX_ArchiveSaver() : m_pStream(NULL) {}
@@ -170,9 +170,9 @@ public:
 
     CFX_ArchiveSaver&          operator << (double i);
 
-    CFX_ArchiveSaver&          operator << (FX_BSTR bstr);
+    CFX_ArchiveSaver&          operator << (const CFX_ByteStringC& bstr);
 
-    CFX_ArchiveSaver&          operator << (FX_LPCWSTR bstr);
+    CFX_ArchiveSaver&          operator << (const FX_WCHAR* bstr);
 
     CFX_ArchiveSaver&          operator << (const CFX_WideString& wstr);
 
@@ -183,7 +183,7 @@ public:
         return m_SavingBuf.GetSize();
     }
 
-    FX_LPCBYTE                         GetBuffer()
+    const uint8_t*                             GetBuffer()
     {
         return m_SavingBuf.GetBuffer();
     }
@@ -198,11 +198,11 @@ protected:
 
     IFX_FileStream*                    m_pStream;
 };
-class CFX_ArchiveLoader 
+class CFX_ArchiveLoader
 {
 public:
 
-    CFX_ArchiveLoader(FX_LPCBYTE pData, FX_DWORD dwSize);
+    CFX_ArchiveLoader(const uint8_t* pData, FX_DWORD dwSize);
 
     CFX_ArchiveLoader&         operator >> (uint8_t& i);
 
@@ -225,61 +225,64 @@ protected:
 
     FX_DWORD                           m_LoadingPos;
 
-    FX_LPCBYTE                         m_pLoadingBuf;
+    const uint8_t*                             m_pLoadingBuf;
 
     FX_DWORD                           m_LoadingSize;
+
 };
+
 class IFX_BufferArchive
 {
 public:
     IFX_BufferArchive(FX_STRSIZE size);
-    virtual ~IFX_BufferArchive() { }
-
-    virtual void                       Clear();
-
+    virtual ~IFX_BufferArchive() {}
 
-    FX_BOOL                                    Flush();
+    virtual void Clear();
 
+    FX_BOOL Flush();
 
-    int32_t                            AppendBlock(const void* pBuf, size_t size);
+    int32_t AppendBlock(const void* pBuf, size_t size);
 
-    int32_t                            AppendByte(uint8_t byte);
+    int32_t AppendByte(uint8_t byte);
 
-    int32_t                            AppendDWord(FX_DWORD i);
+    int32_t AppendDWord(FX_DWORD i);
 
 
-    int32_t                            AppendString(FX_BSTR lpsz);
+    int32_t AppendString(const CFX_ByteStringC& lpsz);
 
 protected:
 
-    virtual    FX_BOOL                 DoWork(const void* pBuf, size_t size) = 0;
+    virtual FX_BOOL DoWork(const void* pBuf, size_t size) = 0;
 
-    FX_STRSIZE                         m_BufSize;
+    FX_STRSIZE m_BufSize;
 
-    FX_LPBYTE                          m_pBuffer;
+    uint8_t* m_pBuffer;
 
-    FX_STRSIZE                         m_Length;
+    FX_STRSIZE m_Length;
 };
+
 class CFX_FileBufferArchive : public IFX_BufferArchive
 {
 public:
     CFX_FileBufferArchive(FX_STRSIZE size = 32768);
     ~CFX_FileBufferArchive() override;
-    virtual void                       Clear();
 
-    FX_BOOL                                    AttachFile(IFX_StreamWrite *pFile, FX_BOOL bTakeover = FALSE);
+    void Clear() override;
 
-    FX_BOOL                                    AttachFile(FX_LPCWSTR filename);
+    FX_BOOL AttachFile(IFX_StreamWrite *pFile, FX_BOOL bTakeover = FALSE);
 
-    FX_BOOL                                    AttachFile(FX_LPCSTR filename);
-private:
+    FX_BOOL AttachFile(const FX_WCHAR* filename);
 
-    virtual FX_BOOL                    DoWork(const void* pBuf, size_t size);
+    FX_BOOL AttachFile(const FX_CHAR* filename);
+
+private:
+    FX_BOOL DoWork(const void* pBuf, size_t size) override;
 
-    IFX_StreamWrite                    *m_pFile;
+    IFX_StreamWrite* m_pFile;
 
-    FX_BOOL                                    m_bTakeover;
+    FX_BOOL m_bTakeover;
 };
+
 struct CFX_CharMap {
 
     static CFX_CharMap*                GetDefaultMapper(int32_t codepage = 0);
@@ -332,7 +335,7 @@ public:
 
     void                       Input(FX_WCHAR unicode);
 
-    void                       AppendStr(FX_BSTR str)
+    void                       AppendStr(const CFX_ByteStringC& str)
     {
         m_UTF16First = 0;
         m_Buffer << str;
@@ -352,7 +355,7 @@ CFX_ByteString FX_UrlEncode(const CFX_WideString& wsUrl);
 CFX_WideString FX_UrlDecode(const CFX_ByteString& bsUrl);
 CFX_ByteString FX_EncodeURI(const CFX_WideString& wsURI);
 CFX_WideString FX_DecodeURI(const CFX_ByteString& bsURI);
-class CFX_BasicArray 
+class CFX_BasicArray
 {
 protected:
     CFX_BasicArray(int unit_size);
@@ -365,7 +368,7 @@ protected:
 
     FX_BOOL                    Copy(const CFX_BasicArray& src);
 
-    FX_LPBYTE          InsertSpaceAt(int nIndex, int nCount);
+    uint8_t*           InsertSpaceAt(int nIndex, int nCount);
 
     FX_BOOL                    RemoveAt(int nIndex, int nCount);
 
@@ -374,7 +377,7 @@ protected:
     const void*                GetDataPtr(int index) const;
 protected:
 
-    FX_LPBYTE          m_pData;
+    uint8_t*           m_pData;
 
     int                                m_nSize;
 
@@ -665,7 +668,7 @@ public:
 };
 typedef CFX_ObjectArray<CFX_ByteString> CFX_ByteStringArray;
 typedef CFX_ObjectArray<CFX_WideString> CFX_WideStringArray;
-class CFX_BaseSegmentedArray 
+class CFX_BaseSegmentedArray
 {
 public:
     CFX_BaseSegmentedArray(int unit_size = 1, int segment_units = 512, int index_size = 8);
@@ -713,7 +716,7 @@ private:
     void*                      m_pIndex;
     void**     GetIndex(int seg_index) const;
     void*      IterateIndex(int level, int& start, void** pIndex, FX_BOOL (*callback)(void* param, void* pData), void* param) const;
-    void*      IterateSegment(FX_LPCBYTE pSegment, int count, FX_BOOL (*callback)(void* param, void* pData), void* param) const;
+    void*      IterateSegment(const uint8_t* pSegment, int count, FX_BOOL (*callback)(void* param, void* pData), void* param) const;
 };
 template <class ElementType>
 class CFX_SegmentedArray : public CFX_BaseSegmentedArray
@@ -734,7 +737,7 @@ public:
     }
 };
 template <class DataType, int FixedSize>
-class CFX_FixedBufGrow 
+class CFX_FixedBufGrow
 {
 public:
     CFX_FixedBufGrow() : m_pData(NULL)
@@ -744,7 +747,7 @@ public:
         if (data_size > FixedSize) {
             m_pData = FX_Alloc(DataType, data_size);
         } else {
-            FXSYS_memset32(m_Data, 0, sizeof(DataType)*FixedSize);
+            FXSYS_memset(m_Data, 0, sizeof(DataType)*FixedSize);
         }
     }
     void SetDataSize(int data_size)
@@ -756,7 +759,7 @@ public:
         if (data_size > FixedSize) {
             m_pData = FX_Alloc(DataType, data_size);
         } else {
-            FXSYS_memset32(m_Data, 0, sizeof(DataType)*FixedSize);
+            FXSYS_memset(m_Data, 0, sizeof(DataType)*FixedSize);
         }
     }
     ~CFX_FixedBufGrow()
@@ -773,7 +776,7 @@ private:
     DataType           m_Data[FixedSize];
     DataType*          m_pData;
 };
-class CFX_MapPtrToPtr 
+class CFX_MapPtrToPtr
 {
 protected:
 
@@ -850,47 +853,8 @@ protected:
 
     CAssoc* GetAssocAt(void* key, FX_DWORD& hash) const;
 };
-template <class KeyType, class ValueType>
-class CFX_MapPtrTemplate : public CFX_MapPtrToPtr
-{
-public:
-    CFX_MapPtrTemplate() : CFX_MapPtrToPtr(10) {}
 
-    FX_BOOL    Lookup(KeyType key, ValueType& rValue) const
-    {
-        FX_LPVOID pValue = NULL;
-        if (!CFX_MapPtrToPtr::Lookup((void*)(uintptr_t)key, pValue)) {
-            return FALSE;
-        }
-        rValue = (ValueType)(uintptr_t)pValue;
-        return TRUE;
-    }
-
-    ValueType& operator[](KeyType key)
-    {
-        return (ValueType&)CFX_MapPtrToPtr::operator []((void*)(uintptr_t)key);
-    }
-
-    void SetAt(KeyType key, ValueType newValue)
-    {
-        CFX_MapPtrToPtr::SetAt((void*)(uintptr_t)key, (void*)(uintptr_t)newValue);
-    }
-
-    FX_BOOL    RemoveKey(KeyType key)
-    {
-        return CFX_MapPtrToPtr::RemoveKey((void*)(uintptr_t)key);
-    }
-
-    void GetNextAssoc(FX_POSITION& rNextPosition, KeyType& rKey, ValueType& rValue) const
-    {
-        void* pKey = NULL;
-        void* pValue = NULL;
-        CFX_MapPtrToPtr::GetNextAssoc(rNextPosition, pKey, pValue);
-        rKey = (KeyType)(uintptr_t)pKey;
-        rValue = (ValueType)(uintptr_t)pValue;
-    }
-};
-class CFX_CMapDWordToDWord 
+class CFX_CMapDWordToDWord
 {
 public:
 
@@ -907,7 +871,7 @@ protected:
 
     CFX_BinaryBuf      m_Buffer;
 };
-class CFX_MapByteStringToPtr 
+class CFX_MapByteStringToPtr
 {
 protected:
 
@@ -934,16 +898,16 @@ public:
         return m_nCount == 0;
     }
 
-    FX_BOOL Lookup(FX_BSTR key, void*& rValue) const;
+    FX_BOOL Lookup(const CFX_ByteStringC& key, void*& rValue) const;
 
-    void*& operator[](FX_BSTR key);
+    void*& operator[](const CFX_ByteStringC& key);
 
-    void SetAt(FX_BSTR key, void* newValue)
+    void SetAt(const CFX_ByteStringC& key, void* newValue)
     {
         (*this)[key] = newValue;
     }
 
-    FX_BOOL RemoveKey(FX_BSTR key);
+    FX_BOOL RemoveKey(const CFX_ByteStringC& key);
 
     void RemoveAll();
 
@@ -954,7 +918,7 @@ public:
 
     void GetNextAssoc(FX_POSITION& rNextPosition, CFX_ByteString& rKey, void*& rValue) const;
 
-    FX_LPVOID          GetNextValue(FX_POSITION& rNextPosition) const;
+    void*              GetNextValue(FX_POSITION& rNextPosition) const;
 
     FX_DWORD GetHashTableSize() const
     {
@@ -963,7 +927,7 @@ public:
 
     void InitHashTable(FX_DWORD hashSize, FX_BOOL bAllocNow = TRUE);
 
-    FX_DWORD HashKey(FX_BSTR key) const;
+    FX_DWORD HashKey(const CFX_ByteStringC& key) const;
 protected:
 
     CAssoc** m_pHashTable;
@@ -982,12 +946,12 @@ protected:
 
     void FreeAssoc(CAssoc* pAssoc);
 
-    CAssoc* GetAssocAt(FX_BSTR key, FX_DWORD& hash) const;
+    CAssoc* GetAssocAt(const CFX_ByteStringC& key, FX_DWORD& hash) const;
 public:
 
     ~CFX_MapByteStringToPtr();
 };
-class CFX_CMapByteStringToPtr 
+class CFX_CMapByteStringToPtr
 {
 public:
     CFX_CMapByteStringToPtr();
@@ -1000,22 +964,22 @@ public:
 
     void                       GetNextAssoc(FX_POSITION& rNextPosition, CFX_ByteString& rKey, void*& rValue) const;
 
-    FX_LPVOID          GetNextValue(FX_POSITION& rNextPosition) const;
+    void*              GetNextValue(FX_POSITION& rNextPosition) const;
 
-    FX_BOOL                    Lookup(FX_BSTR key, void*& rValue) const;
+    FX_BOOL                    Lookup(const CFX_ByteStringC& key, void*& rValue) const;
 
-    void                       SetAt(FX_BSTR key, void* value);
+    void                       SetAt(const CFX_ByteStringC& key, void* value);
 
-    void                       RemoveKey(FX_BSTR key);
+    void                       RemoveKey(const CFX_ByteStringC& key);
 
     int                                GetCount() const;
 
-    void                       AddValue(FX_BSTR key, void* pValue);
+    void                       AddValue(const CFX_ByteStringC& key, void* pValue);
 private:
 
     CFX_BaseSegmentedArray                     m_Buffer;
 };
-class CFX_PtrList 
+class CFX_PtrList
 {
 protected:
 
@@ -1115,14 +1079,14 @@ public:
 
     ~CFX_PtrList();
 };
-typedef void (*PD_CALLBACK_FREEDATA)(FX_LPVOID pData);
+typedef void (*PD_CALLBACK_FREEDATA)(void* pData);
 struct FX_PRIVATEDATA {
 
     void                                       FreeData();
 
-    FX_LPVOID                          m_pModuleId;
+    void*                              m_pModuleId;
 
-    FX_LPVOID                          m_pData;
+    void*                              m_pData;
 
     PD_CALLBACK_FREEDATA       m_pCallback;
 
@@ -1136,13 +1100,13 @@ public:
 
     void                                       ClearAll();
 
-    void                                       SetPrivateData(FX_LPVOID module_id, FX_LPVOID pData, PD_CALLBACK_FREEDATA callback);
+    void                                       SetPrivateData(void* module_id, void* pData, PD_CALLBACK_FREEDATA callback);
 
-    void                                       SetPrivateObj(FX_LPVOID module_id, CFX_DestructObject* pObj);
+    void                                       SetPrivateObj(void* module_id, CFX_DestructObject* pObj);
 
-    FX_LPVOID                          GetPrivateData(FX_LPVOID module_id);
+    void*                              GetPrivateData(void* module_id);
 
-    FX_BOOL                                    LookupPrivateData(FX_LPVOID module_id, FX_LPVOID &pData) const
+    FX_BOOL                                    LookupPrivateData(void* module_id, void* &pData) const
     {
         if (!module_id) {
             return FALSE;
@@ -1157,18 +1121,18 @@ public:
         return FALSE;
     }
 
-    FX_BOOL                                    RemovePrivateData(FX_LPVOID module_id);
+    FX_BOOL                                    RemovePrivateData(void* module_id);
 protected:
 
     CFX_ArrayTemplate<FX_PRIVATEDATA>  m_DataList;
 
-    void                                       AddData(FX_LPVOID module_id, FX_LPVOID pData, PD_CALLBACK_FREEDATA callback, FX_BOOL bSelfDestruct);
+    void                                       AddData(void* module_id, void* pData, PD_CALLBACK_FREEDATA callback, FX_BOOL bSelfDestruct);
 };
-class CFX_BitStream 
+class CFX_BitStream
 {
 public:
 
-    void                               Init(FX_LPCBYTE pData, FX_DWORD dwSize);
+    void                               Init(const uint8_t* pData, FX_DWORD dwSize);
 
 
     FX_DWORD                   GetBits(FX_DWORD nBits);
@@ -1195,9 +1159,9 @@ protected:
 
     FX_DWORD                   m_BitSize;
 
-    FX_LPCBYTE                 m_pData;
+    const uint8_t*                     m_pData;
 };
-template <class ObjClass> class CFX_CountRef 
+template <class ObjClass> class CFX_CountRef
 {
 public:
 
@@ -1338,7 +1302,7 @@ public:
     virtual ~IFX_Pause() { }
     virtual FX_BOOL    NeedToPauseNow() = 0;
 };
-class CFX_DataFilter 
+class CFX_DataFilter
 {
 public:
 
@@ -1356,13 +1320,13 @@ public:
         return m_SrcPos;
     }
 
-    void                       FilterIn(FX_LPCBYTE src_buf, FX_DWORD src_size, CFX_BinaryBuf& dest_buf);
+    void                       FilterIn(const uint8_t* src_buf, FX_DWORD src_size, CFX_BinaryBuf& dest_buf);
 
     void                       FilterFinish(CFX_BinaryBuf& dest_buf);
 protected:
 
     CFX_DataFilter();
-    virtual void       v_FilterIn(FX_LPCBYTE src_buf, FX_DWORD src_size, CFX_BinaryBuf& dest_buf) = 0;
+    virtual void       v_FilterIn(const uint8_t* src_buf, FX_DWORD src_size, CFX_BinaryBuf& dest_buf) = 0;
     virtual void       v_FilterFinish(CFX_BinaryBuf& dest_buf) = 0;
     void                       ReportEOF(FX_DWORD left_input);
 
@@ -1413,7 +1377,7 @@ protected:
 };
 #define FX_DATALIST_LENGTH     1024
 template<size_t unit>
-class CFX_SortListArray 
+class CFX_SortListArray
 {
 protected:
 
@@ -1422,7 +1386,7 @@ protected:
         int32_t        start;
 
         int32_t        count;
-        FX_LPBYTE      data;
+        uint8_t*       data;
     };
 public:
 
@@ -1463,7 +1427,7 @@ public:
         }
     }
 
-    FX_LPBYTE          GetAt(int32_t nIndex)
+    uint8_t*           GetAt(int32_t nIndex)
     {
         if (nIndex < 0) {
             return NULL;
@@ -1524,7 +1488,7 @@ protected:
     CFX_ArrayTemplate<DataList>        m_DataLists;
 };
 template<typename T1, typename T2>
-class CFX_ListArrayTemplate 
+class CFX_ListArrayTemplate
 {
 public:
 
@@ -1540,7 +1504,7 @@ public:
 
     T2&                                operator [] (int32_t nIndex)
     {
-        FX_LPBYTE data = m_Data.GetAt(nIndex);
+        uint8_t* data = m_Data.GetAt(nIndex);
         FXSYS_assert(data != NULL);
         return (T2&)(*(volatile T2*)data);
     }
@@ -1565,7 +1529,7 @@ typedef enum {
 #define ProgressiveStatus      FX_ProgressiveStatus
 #define FX_NAMESPACE_DECLARE(namespace, type)       namespace::type
 
-class CFX_Vector_3by1 
+class CFX_Vector_3by1
 {
 public:
 
@@ -1581,7 +1545,7 @@ public:
     FX_FLOAT b;
     FX_FLOAT c;
 };
-class CFX_Matrix_3by3 
+class CFX_Matrix_3by3
 {
 public: