Revert "FX_BOOL considered harmful, part 2."
[pdfium.git] / core / include / fxcrt / fx_basic.h
index 004b018..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());
     }
@@ -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);
 
@@ -123,7 +123,7 @@ public:
 
     void                                       operator = (const FX_WCHAR* lpsz);
 
-    void                                       operator = (FX_WSTR str);
+    void                                       operator = (const CFX_WideStringC& str);
 
     void                                       AppendChar(FX_WCHAR wch);
 
@@ -133,7 +133,7 @@ public:
 
     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);
@@ -155,7 +155,7 @@ public:
 
     CFX_WideStringC                    GetWideString() const;
 };
-class CFX_ArchiveSaver 
+class CFX_ArchiveSaver
 {
 public:
     CFX_ArchiveSaver() : m_pStream(NULL) {}
@@ -170,7 +170,7 @@ public:
 
     CFX_ArchiveSaver&          operator << (double i);
 
-    CFX_ArchiveSaver&          operator << (FX_BSTR bstr);
+    CFX_ArchiveSaver&          operator << (const CFX_ByteStringC& bstr);
 
     CFX_ArchiveSaver&          operator << (const FX_WCHAR* bstr);
 
@@ -198,7 +198,7 @@ protected:
 
     IFX_FileStream*                    m_pStream;
 };
-class CFX_ArchiveLoader 
+class CFX_ArchiveLoader
 {
 public:
 
@@ -228,58 +228,61 @@ protected:
     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;
 
-    uint8_t*                           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(const FX_WCHAR* filename);
+    FX_BOOL AttachFile(IFX_StreamWrite *pFile, FX_BOOL bTakeover = FALSE);
 
-    FX_BOOL                                    AttachFile(const FX_CHAR* 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);
 
-    IFX_StreamWrite                    *m_pFile;
+private:
+    FX_BOOL DoWork(const void* pBuf, size_t size) override;
 
-    FX_BOOL                                    m_bTakeover;
+    IFX_StreamWrite* m_pFile;
+
+    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);
@@ -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);
@@ -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
-    {
-        void* 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();
 
@@ -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();
@@ -1002,20 +966,20 @@ public:
 
     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:
 
@@ -1164,7 +1128,7 @@ protected:
 
     void                                       AddData(void* module_id, void* pData, PD_CALLBACK_FREEDATA callback, FX_BOOL bSelfDestruct);
 };
-class CFX_BitStream 
+class CFX_BitStream
 {
 public:
 
@@ -1197,7 +1161,7 @@ protected:
 
     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:
 
@@ -1413,7 +1377,7 @@ protected:
 };
 #define FX_DATALIST_LENGTH     1024
 template<size_t unit>
-class CFX_SortListArray 
+class CFX_SortListArray
 {
 protected:
 
@@ -1524,7 +1488,7 @@ protected:
     CFX_ArrayTemplate<DataList>        m_DataLists;
 };
 template<typename T1, typename T2>
-class CFX_ListArrayTemplate 
+class CFX_ListArrayTemplate
 {
 public:
 
@@ -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: