Chromium Code Reviews| Index: core/include/fxcrt/fx_ext.h | 
| diff --git a/core/include/fxcrt/fx_ext.h b/core/include/fxcrt/fx_ext.h | 
| index 0853c895311b19193b6b7e18d2d8804b4897bcd9..d36ecfde4e7c9cdbb216998496e60f22090d845d 100644 | 
| --- a/core/include/fxcrt/fx_ext.h | 
| +++ b/core/include/fxcrt/fx_ext.h | 
| @@ -10,9 +10,8 @@ | 
| #include "fx_string.h" | 
| #include "fx_system.h" | 
| -#ifdef __cplusplus | 
| -extern "C" { | 
| -#endif | 
| +#include <cctype> | 
| 
 
dsinclair
2015/11/16 17:44:48
Merge conflict.
 
 | 
| +#include <cwctype> | 
| FX_FLOAT FXSYS_tan(FX_FLOAT a); | 
| FX_FLOAT FXSYS_logb(FX_FLOAT b, FX_FLOAT x); | 
| @@ -39,6 +38,25 @@ inline int32_t FXSYS_toupper(int32_t ch) { | 
| return ch < 'a' || ch > 'z' ? ch : (ch - 0x20); | 
| } | 
| +inline int FXSYS_toHexDigit(const FX_CHAR c) { | 
| + if (!std::isxdigit(c)) | 
| + return 0; | 
| + char upchar = std::toupper(c); | 
| + return upchar > '9' ? upchar - 'A' + 10 : upchar - '0'; | 
| +} | 
| + | 
| +inline int FXSYS_toDecimalDigit(const FX_CHAR c) { | 
| + if (!std::isdigit(c)) | 
| + return 0; | 
| + return c - '0'; | 
| +} | 
| + | 
| +inline int FXSYS_toDecimalDigitWide(const FX_WCHAR c) { | 
| + if (!std::iswdigit(c)) | 
| + return 0; | 
| + return c - L'0'; | 
| +} | 
| + | 
| FX_DWORD FX_HashCode_String_GetA(const FX_CHAR* pStr, | 
| int32_t iLength, | 
| FX_BOOL bIgnoreCase = FALSE); | 
| @@ -46,13 +64,6 @@ FX_DWORD FX_HashCode_String_GetW(const FX_WCHAR* pStr, | 
| int32_t iLength, | 
| FX_BOOL bIgnoreCase = FALSE); | 
| -#ifdef __cplusplus | 
| -} | 
| -#endif | 
| -#ifdef __cplusplus | 
| -extern "C" { | 
| -#endif | 
| - | 
| void* FX_Random_MT_Start(FX_DWORD dwSeed); | 
| FX_DWORD FX_Random_MT_Generate(void* pContext); | 
| @@ -64,12 +75,6 @@ void FX_Random_GenerateBase(FX_DWORD* pBuffer, int32_t iCount); | 
| void FX_Random_GenerateMT(FX_DWORD* pBuffer, int32_t iCount); | 
| void FX_Random_GenerateCrypto(FX_DWORD* pBuffer, int32_t iCount); | 
| -#ifdef __cplusplus | 
| 
 
dsinclair
2015/11/16 17:44:48
Merge conflict.
 
 | 
| -} | 
| -#endif | 
| -#ifdef __cplusplus | 
| -extern "C" { | 
| -#endif | 
| typedef struct FX_GUID { | 
| FX_DWORD data1; | 
| @@ -84,9 +89,7 @@ void FX_GUID_CreateV4(FX_LPGUID pGUID); | 
| void FX_GUID_ToString(FX_LPCGUID pGUID, | 
| CFX_ByteString& bsStr, | 
| FX_BOOL bSeparator = TRUE); | 
| -#ifdef __cplusplus | 
| 
 
dsinclair
2015/11/16 17:44:48
Merge conflict.
 
 | 
| -} | 
| -#endif | 
| + | 
| template <class baseType> | 
| class CFX_SSortTemplate { | 
| public: |