BWAPI
|
00001 #pragma once 00002 #define STRING_UTIL_BUFFER_SIZE 100 00003 00004 #include <string> 00005 #include <vector> 00006 00007 #include "RectangleArray.h" 00008 00009 namespace Util 00010 { 00012 class Strings 00013 { 00014 private : 00016 Strings(void); 00017 static char buffer[STRING_UTIL_BUFFER_SIZE]; 00018 public : 00024 static std::string intToString(long value); 00035 static unsigned long stringToInt(const std::string &input, const unsigned long begin = 0, const int distance = 9); 00036 static std::string stringToVariableName(const std::string &input); 00037 static void stringToFile(const std::string &input, FILE* f); 00038 static void saveToFile(const std::string &input, const std::string &fileName); 00039 static bool beginsWithNumber(const std::string &input); 00040 static bool endsWithNumber(const std::string &input); 00041 static std::string loadFromFile(FILE* f); 00042 static void loadFromFile(const std::string &fileName,std::string &Target,const long bufferSize); 00043 static std::string UTF8ToWindows1250(const std::string &input); 00044 static std::string Windows1250ToUTF8(const std::string &input); 00045 static std::string trimAll(std::string input); 00046 static std::string trim(std::string input); 00047 static std::string replace(const std::string &input, MultiString* values, const std::string &replacement); 00048 static RectangleArray<char> makeBorder(const RectangleArray<char>& input, bool coordinates = true); 00049 static char FrameCharacters[2][6]; 00050 static void makeWindow(RectangleArray<char>& input, 00051 unsigned int x, 00052 unsigned int y, 00053 unsigned int width, 00054 unsigned int height, 00055 unsigned int frameType = 0); 00056 static void printTo(RectangleArray<char>& input, const std::string& text, unsigned int x, unsigned int y); 00062 static std::string readLine(FILE* f); 00063 static const std::string& dereferenceString(const std::string* const input); 00074 static std::vector<std::string> splitString(const std::string& input, 00075 const std::string& delimiters = " \t"); 00076 template <class Type> 00077 std::string getBinary(Type value); 00078 static void skipSpace(const std::string& text, size_t& position); 00080 static std::string readWord(const std::string& text, size_t& position); 00081 static std::string readNumber(const std::string& text, size_t& position); 00082 static std::string ssprintf(const char* format, ...); 00083 }; 00084 } 00085