Files
UnrealEngineUWP/Engine/Source/Developer/Windows/LiveCoding/Private/External/LC_StringUtil.h
Ben Marsh 0e6aa011b3 Copying //UE4/Dev-Build @ CL 11166028 to Dev-Main (//UE4/Dev-Main)
#rb none
#rnx

[CL 11166227 by Ben Marsh in Main branch]
2020-01-29 14:48:18 -05:00

54 lines
2.0 KiB
C++

// Copyright 2011-2019 Molecular Matters GmbH, all rights reserved.
#pragma once
#include "CoreTypes.h"
#include <string>
namespace string
{
std::wstring ToWideString(const char* utf8Str);
std::wstring ToWideString(const char* utf8Str, size_t count);
std::wstring ToWideString(const std::string& str);
std::string Replace(const std::string& str, const std::string& from, const std::string& to);
std::wstring Replace(const std::wstring& str, const std::wstring& from, const std::wstring& to);
std::wstring ReplaceAll(const std::wstring& str, const std::wstring& from, const std::wstring& to);
std::string EraseAll(const std::string& str, const std::string& subString);
std::wstring EraseAll(const std::wstring& str, const std::wstring& subString);
char* Find(char* str, const char* subString);
wchar_t* Find(wchar_t* str, const wchar_t* subString);
const char* Find(const char* str, const char* subString);
const wchar_t* Find(const wchar_t* str, const wchar_t* subString);
const wchar_t* Find(const wchar_t* str, size_t strLength, const wchar_t* subString, size_t subStringLength);
bool Matches(const char* str1, const char* str2);
bool Matches(const wchar_t* str1, const wchar_t* str2);
bool Contains(const char* str, const char* subString);
bool Contains(const wchar_t* str, const wchar_t* subString);
bool StartsWith(const char* str, const char* subString);
bool StartsWith(const wchar_t* str, const wchar_t* subString);
std::string ToUpper(const char* str);
std::string ToUpper(const std::string& str);
std::wstring ToUpper(const wchar_t* str);
std::wstring ToUpper(const std::wstring& str);
std::wstring ToLower(const wchar_t* str);
std::wstring ToLower(const std::wstring& str);
// Turns invalid characters (\ / : * ? " < > | : ; , .) in file names, names for OS objects, etc. into underscores
std::wstring MakeSafeName(const std::wstring& name);
template <typename T>
inline T StringToInt(const wchar_t* str)
{
return static_cast<T>(::_wtoi(str));
}
}