port from perforce

This commit is contained in:
2026-04-18 22:31:51 +02:00
commit 8d0ab5b7cc
8409 changed files with 3972376 additions and 0 deletions

View File

@@ -0,0 +1,6 @@
#pragma once
#include <string>
typedef unsigned int uint32;
typedef std::wstring string16;
typedef std::string string8;

View File

@@ -0,0 +1,101 @@
#pragma once
#include <iostream>
#include <windows.h>
namespace std
{
inline std::ostream& blue(std::ostream &s)
{
HANDLE hStdout = GetStdHandle(STD_OUTPUT_HANDLE);
SetConsoleTextAttribute(hStdout, FOREGROUND_BLUE
|FOREGROUND_GREEN|FOREGROUND_INTENSITY);
return s;
}
inline std::ostream& red(std::ostream &s)
{
HANDLE hStdout = GetStdHandle(STD_OUTPUT_HANDLE);
SetConsoleTextAttribute(hStdout,
FOREGROUND_RED|FOREGROUND_INTENSITY);
return s;
}
inline std::ostream& green(std::ostream &s)
{
HANDLE hStdout = GetStdHandle(STD_OUTPUT_HANDLE);
SetConsoleTextAttribute(hStdout,
FOREGROUND_GREEN|FOREGROUND_INTENSITY);
return s;
}
inline std::ostream& yellow(std::ostream &s)
{
HANDLE hStdout = GetStdHandle(STD_OUTPUT_HANDLE);
SetConsoleTextAttribute(hStdout,
FOREGROUND_GREEN|FOREGROUND_RED|FOREGROUND_INTENSITY);
return s;
}
inline std::ostream& white(std::ostream &s)
{
HANDLE hStdout = GetStdHandle(STD_OUTPUT_HANDLE);
SetConsoleTextAttribute(hStdout,
FOREGROUND_RED|FOREGROUND_GREEN|FOREGROUND_BLUE);
return s;
}
struct color {
color(WORD attribute):m_color(attribute){};
WORD m_color;
};
template <class _Elem, class _Traits>
std::basic_ostream<_Elem,_Traits>&
operator<<(std::basic_ostream<_Elem,_Traits>& i, color& c)
{
HANDLE hStdout=GetStdHandle(STD_OUTPUT_HANDLE);
SetConsoleTextAttribute(hStdout,c.m_color);
return i;
}
//////////////////////////////////////////////////////////////////////////
inline std::wostream& blue(std::wostream &s)
{
HANDLE hStdout = GetStdHandle(STD_OUTPUT_HANDLE);
SetConsoleTextAttribute(hStdout, FOREGROUND_BLUE
|FOREGROUND_GREEN|FOREGROUND_INTENSITY);
return s;
}
inline std::wostream& red(std::wostream &s)
{
HANDLE hStdout = GetStdHandle(STD_OUTPUT_HANDLE);
SetConsoleTextAttribute(hStdout,
FOREGROUND_RED|FOREGROUND_INTENSITY);
return s;
}
inline std::wostream& green(std::wostream &s)
{
HANDLE hStdout = GetStdHandle(STD_OUTPUT_HANDLE);
SetConsoleTextAttribute(hStdout,
FOREGROUND_GREEN|FOREGROUND_INTENSITY);
return s;
}
inline std::wostream& yellow(std::wostream &s)
{
HANDLE hStdout = GetStdHandle(STD_OUTPUT_HANDLE);
SetConsoleTextAttribute(hStdout,
FOREGROUND_GREEN|FOREGROUND_RED|FOREGROUND_INTENSITY);
return s;
}
inline std::wostream& white(std::wostream &s)
{
HANDLE hStdout = GetStdHandle(STD_OUTPUT_HANDLE);
SetConsoleTextAttribute(hStdout,
FOREGROUND_RED|FOREGROUND_GREEN|FOREGROUND_BLUE);
return s;
}
}

View File

@@ -0,0 +1,57 @@
#pragma once
#include <cstring>
#include <string>
#include <string>
#include <vector>
#include <locale>
#include <functional>
#include <iostream>
#pragma warning(disable:4996)
namespace std
{
inline bool equal_nocase(const std::string &argStringA, const std::string &argStringB)
{
return 0 == stricmp (argStringA.c_str(), argStringB.c_str());
}
inline bool equal_nocase(const std::wstring &argStringA, const std::wstring &argStringB)
{
return 0 == wcsicmp(argStringA.c_str(), argStringB.c_str());
}
inline std::string to_string8(const std::wstring& argString)
{
if (argString.empty())
return std::string();
const std::ctype<wchar_t>* cType = &std::use_facet<std::ctype<wchar_t> >(std::locale());
std::wstring::size_type srcLen = argString.length();
const wchar_t* srcBegin = argString.c_str();
std::vector<char> tmp(srcLen);
cType->narrow(srcBegin, srcBegin + srcLen, '\0', &tmp[0]);
return std::string(&tmp[0], srcLen);
}
inline std::wstring to_string16(const std::string& argString)
{
if (argString.empty())
return std::wstring();
const std::ctype<wchar_t>* cType = &std::use_facet<std::ctype<wchar_t> >(std::locale());
std::wstring::size_type srcLen = argString.length();
const char* srcBegin = argString.c_str();
std::vector<wchar_t> tmp(srcLen);
cType->widen(srcBegin, srcBegin + srcLen, &tmp[0]);
return std::wstring(&tmp[0], srcLen);
}
}
#pragma warning(default:4996)