SLProject
4.2.000
A platform independent 3D computer graphics framework for desktop OS, Android, iOS and online in web browsers
|
Utils provides utilities for string & file handling, logging and math functions. More...
Classes | |
class | Averaged |
Averaged template class provides an average value from a fixed size array. More... | |
struct | AverageTimingBlock |
concatenation of average value and timer More... | |
class | AverageTiming |
Singleton timing class for average measurement of different timing blocks in loops. More... | |
class | CustomLog |
Logger interface. More... | |
class | FileLog |
File logging class. More... | |
class | ComputerInfos |
Class for holding computer information. More... | |
Typedefs | |
typedef Utils::Averaged< float > | AvgFloat |
Functions | |
string | toString (float f, int roundedDecimals=1) |
Returns a string from a float with max. one trailing zero. More... | |
string | toString (double d, int roundedDecimals=1) |
Returns a string from a double with max. one trailing zero. More... | |
string | toLowerString (string s) |
Returns a string in lower case. More... | |
string | toUpperString (string s) |
Returns a string in upper case. More... | |
string | trimString (const string &s, const string &drop=" ") |
Trims a string at both end. More... | |
string | trimRightString (const string &s, const string &drop) |
trims a string at the right end More... | |
string | trimLeftString (const string &s, const string &drop) |
trims a string at the left end More... | |
void | splitString (const string &s, char delimiter, vector< string > &splits) |
Splits an input string at a delimiter character into a string vector. More... | |
void | replaceString (string &source, const string &from, const string &to) |
Replaces in the source string the from string by the to string. More... | |
vector< string > | getStringLines (const string &multiLineString) |
Returns a vector of string one per line of a multiline string. More... | |
string | readTextFileIntoString (const char *logTag, const string &pathAndFilename) |
Reads a text file into a string and returns it. More... | |
void | writeStringIntoTextFile (const char *logTag, const string &stringToWrite, const string &pathAndFilename) |
Writes a string into a text file. More... | |
string | replaceNonFilenameChars (string source, char replaceChar='-') |
replaces non-filename characters: /|?%*:"<>' More... | |
string | getLocalTimeString () |
Returns local time as string like "Wed Feb 13 15:46:11 2019". More... | |
string | getDateTime1String () |
Returns local time as string like "13.02.19-15:46". More... | |
string | getDateTime2String () |
Returns local time as string like "20190213-154611". More... | |
string | getHostName () |
Returns the computer name. More... | |
string | formatString (string fmt_str,...) |
Returns a formatted string as sprintf. More... | |
bool | containsString (const string &container, const string &search) |
Returns true if container contains the search string. More... | |
bool | startsWithString (const string &container, const string &startStr) |
Return true if the container string starts with the startStr. More... | |
bool | endsWithString (const string &container, const string &endStr) |
Return true if the container string ends with the endStr. More... | |
string | unifySlashes (const string &inputDir, bool withTrailingSlash=true) |
Returns the inputDir string with unified forward slashes, e.g.: "dirA/dirB/". More... | |
string | getPath (const string &pathFilename) |
Returns the path w. '\' of path-filename string. More... | |
bool | getFileContent (const string &fileName, vector< string > &vecOfStrings) |
Returns true if content of file could be put in a vector of strings. More... | |
bool | compareNatural (const string &a, const string &b) |
Naturally compares two strings (used for filename sorting) More... | |
string | getFileName (const string &pathFilename) |
Returns the filename of path-filename string. More... | |
string | getDirName (const string &pathFilename) |
Strip last component from file name. More... | |
string | getFileNameWOExt (const string &pathFilename) |
Returns the filename without extension. More... | |
string | getFileExt (const string &filename) |
Returns the file extension without dot in lower case. More... | |
vector< string > | getDirNamesInDir (const string &dirName, bool fullPath=true) |
Returns a vector directory names with path in dir. More... | |
vector< string > | getAllNamesInDir (const string &dirName, bool fullPath=true) |
Returns a vector of sorted names (files and directories) with path in dir. More... | |
vector< string > | getFileNamesInDir (const string &dirName, bool fullPath=true) |
Returns a vector of sorted filesnames in dirName. More... | |
bool | dirExists (const string &path) |
Returns true if a directory exists. More... | |
bool | makeDir (const string &path) |
Creates a directory with given path. More... | |
bool | makeDirRecurse (std::string path) |
void | removeDir (const string &path) |
RemoveDir deletes a directory with given path. More... | |
void | removeFile (const string &path) |
RemoveFile deletes a file with given path. More... | |
bool | fileExists (const string &pathfilename) |
Returns true if a file exists. More... | |
unsigned int | getFileSize (const string &filename) |
Returns the file size in bytes. More... | |
unsigned int | getFileSize (std::ifstream &fs) |
string | getAppsWritableDir (string appName="SLProject") |
Returns the writable configuration directory. More... | |
string | getCurrentWorkingDir () |
Returns the working directory. More... | |
bool | deleteFile (string &pathfilename) |
Deletes a file on the filesystem. More... | |
void | loopFileSystemRec (const string &path, function< void(string path, string baseName, int depth)> processFile, function< void(string path, string baseName, int depth)> processDir, const int depth=0) |
process all files and folders recursively naturally sorted More... | |
void | dumpFileSystemRec (const char *logtag, const string &folderpath) |
Dumps all folders and files recursovely. More... | |
string | findFile (const string &filename, const vector< string > &pathsToCheck) |
Tries to find a filename on various paths to check. More... | |
void | initFileLog (const string &logDir, bool forceFlush) |
void | log (const char *tag, const char *format,...) |
logs a formatted string platform independently More... | |
void | exitMsg (const char *tag, const char *msg, int line, const char *file) |
Terminates the application with a message. No leak checking. More... | |
void | warnMsg (const char *tag, const char *msg, int line, const char *file) |
Platform independent warn message output. More... | |
void | errorMsg (const char *tag, const char *msg, int line, const char *file) |
Platform independent error message output. More... | |
unsigned int | maxThreads () |
Returns in release config the max. NO. of threads otherwise 1. More... | |
int | gcd (int a, int b) |
Greatest common divisor of two integer numbers (ggT = grösster gemeinsame Teiler) More... | |
int | lcm (int a, int b) |
unsigned | closestPowerOf2 (unsigned num) |
Returns the closest power of 2 to a passed number. More... | |
unsigned | nextPowerOf2 (unsigned num) |
Returns the next power of 2 to a passed number. More... | |
bool | makeDirRecurse (string path) |
Creates a directory with given path recursively. More... | |
void | initFileLog (const std::string &logDir, bool forceFlush) |
Instantiates FileLog instance. More... | |
template<class T > | |
T | sign (T a) |
template<class T > | |
T | floor (T a) |
template<class T > | |
T | ceil (T a) |
template<class T > | |
T | fract (T a) |
template<class T > | |
T | abs (T a) |
template<class T > | |
T | mod (T a, T b) |
template<class T > | |
T | step (T edge, T x) |
template<class T > | |
T | pulse (T a, T b, T x) |
template<class T > | |
T | clamp (T a, T min, T max) |
template<class T > | |
T | mix (T mix, T a, T b) |
template<class T > | |
T | lerp (T x, T a, T b) |
bool | isPowerOf2 (unsigned int a) |
Returns true if a number is of power of 2. More... | |
float | random (float min, float max) |
Returns a uniform distributed random float number between min and max. More... | |
int | random (int min, int max) |
Returns a uniform distributed random int number between min and max. More... | |
Variables | |
std::unique_ptr< CustomLog > | customLog |
custom log instance, e.g. log to a ui log window More... | |
bool | onlyErrorLogs = false |
if this flag is set to true all calls to log get ignored More... | |
static std::unique_ptr< FileLog > | fileLog |
static const float | PI = 3.14159265358979f |
static const float | RAD2DEG = 180.0f / PI |
static const float | DEG2RAD = PI / 180.0f |
static const float | TWOPI = 2.0f * PI |
static const float | ONEOVERPI = 1.0f / PI |
static const float | HALFPI = PI * 0.5f |
Utils provides utilities for string & file handling, logging and math functions.
Function are grouped into sections:
typedef Utils::Averaged<float> Utils::AvgFloat |
Definition at line 85 of file Averaged.h.
|
inline |
|
inline |
|
inline |
unsigned Utils::closestPowerOf2 | ( | unsigned | num | ) |
Returns the closest power of 2 to a passed number.
bool Utils::compareNatural | ( | const string & | a, |
const string & | b | ||
) |
Naturally compares two strings (used for filename sorting)
String comparison as most filesystem do it. Source: https://www.o-rho.com/naturalsort
std::sort compareNatural
1.txt 1.txt 10.txt 1_t.txt 1_t.txt 10.txt 20 20 20.txt 20.txt ABc ABc aBCd aBCd aBCd(01) aBCd(1) aBCd(1) aBCd(01) aBCd(12) aBCd(2) aBCd(2) aBCd(12) aBc aBc aBcd aBcd aaA aaA aaa aaa z10.txt z2.txt z100.txt z10.txt z2.txt z100.txt
Definition at line 464 of file Utils.cpp.
bool Utils::containsString | ( | const string & | container, |
const string & | search | ||
) |
bool Utils::deleteFile | ( | string & | pathfilename | ) |
Deletes a file on the filesystem.
Definition at line 1008 of file Utils.cpp.
bool Utils::dirExists | ( | const string & | path | ) |
Returns true if a directory exists.
Definition at line 790 of file Utils.cpp.
void Utils::dumpFileSystemRec | ( | const char * | logtag, |
const string & | folderPath | ||
) |
Dumps all folders and files recursovely.
Definition at line 1051 of file Utils.cpp.
bool Utils::endsWithString | ( | const string & | container, |
const string & | endStr | ||
) |
void Utils::errorMsg | ( | const char * | tag, |
const char * | msg, | ||
const int | line, | ||
const char * | file | ||
) |
void Utils::exitMsg | ( | const char * | tag, |
const char * | msg, | ||
const int | line, | ||
const char * | file | ||
) |
Terminates the application with a message. No leak checking.
Definition at line 1135 of file Utils.cpp.
bool Utils::fileExists | ( | const string & | pathfilename | ) |
string Utils::findFile | ( | const string & | filename, |
const vector< string > & | pathsToCheck | ||
) |
Tries to find a filename on various paths to check.
Definition at line 1077 of file Utils.cpp.
|
inline |
string Utils::formatString | ( | string | fmt_str, |
... | |||
) |
int Utils::gcd | ( | int | a, |
int | b | ||
) |
Greatest common divisor of two integer numbers (ggT = grösster gemeinsame Teiler)
Definition at line 1207 of file Utils.cpp.
vector< string > Utils::getAllNamesInDir | ( | const string & | dirName, |
bool | fullPath | ||
) |
string Utils::getAppsWritableDir | ( | string | appName | ) |
Returns the writable configuration directory.
Definition at line 942 of file Utils.cpp.
string Utils::getCurrentWorkingDir | ( | ) |
string Utils::getDateTime1String | ( | ) |
string Utils::getDateTime2String | ( | ) |
string Utils::getDirName | ( | const string & | pathFilename | ) |
vector< string > Utils::getDirNamesInDir | ( | const string & | dirName, |
bool | fullPath | ||
) |
bool Utils::getFileContent | ( | const string & | fileName, |
vector< string > & | vecOfStrings | ||
) |
string Utils::getFileExt | ( | const string & | filename | ) |
Returns the file extension without dot in lower case.
Definition at line 629 of file Utils.cpp.
string Utils::getFileName | ( | const string & | pathFilename | ) |
vector< string > Utils::getFileNamesInDir | ( | const string & | dirName, |
bool | fullPath | ||
) |
string Utils::getFileNameWOExt | ( | const string & | pathFilename | ) |
Returns the filename without extension.
Definition at line 616 of file Utils.cpp.
unsigned int Utils::getFileSize | ( | const string & | pathfilename | ) |
unsigned int Utils::getFileSize | ( | std::ifstream & | fs | ) |
string Utils::getHostName | ( | ) |
string Utils::getLocalTimeString | ( | ) |
string Utils::getPath | ( | const string & | pathFilename | ) |
vector< string > Utils::getStringLines | ( | const string & | multiLineString | ) |
Returns a vector of string one per line of a multiline string.
Definition at line 195 of file Utils.cpp.
void Utils::initFileLog | ( | const std::string & | logDir, |
bool | forceFlush | ||
) |
Instantiates FileLog instance.
void Utils::initFileLog | ( | const string & | logDir, |
bool | forceFlush | ||
) |
|
inline |
int Utils::lcm | ( | int | a, |
int | b | ||
) |
|
inline |
void Utils::log | ( | const char * | tag, |
const char * | format, | ||
... | |||
) |
logs a formatted string platform independently
Definition at line 1103 of file Utils.cpp.
void Utils::loopFileSystemRec | ( | const string & | path, |
function< void(string path, string baseName, int depth)> | processFile, | ||
function< void(string path, string baseName, int depth)> | processDir, | ||
const int | depth | ||
) |
process all files and folders recursively naturally sorted
Definition at line 1016 of file Utils.cpp.
bool Utils::makeDir | ( | const string & | path | ) |
bool Utils::makeDirRecurse | ( | string | path | ) |
Creates a directory with given path recursively.
unsigned int Utils::maxThreads | ( | ) |
|
inline |
unsigned Utils::nextPowerOf2 | ( | unsigned | num | ) |
|
inline |
|
inline |
string Utils::readTextFileIntoString | ( | const char * | logTag, |
const string & | pathAndFilename | ||
) |
void Utils::removeDir | ( | const string & | path | ) |
void Utils::removeFile | ( | const string & | path | ) |
string Utils::replaceNonFilenameChars | ( | string | src, |
const char | replaceChar | ||
) |
void Utils::replaceString | ( | string & | source, |
const string & | from, | ||
const string & | to | ||
) |
|
inline |
void Utils::splitString | ( | const string & | s, |
char | delimiter, | ||
vector< string > & | splits | ||
) |
Splits an input string at a delimiter character into a string vector.
Definition at line 152 of file Utils.cpp.
bool Utils::startsWithString | ( | const string & | container, |
const string & | startStr | ||
) |
|
inline |
string Utils::toLowerString | ( | string | s | ) |
string Utils::toString | ( | double | d, |
int | roundedDecimals | ||
) |
string Utils::toString | ( | float | f, |
int | roundedDecimals | ||
) |
string Utils::toUpperString | ( | string | s | ) |
string Utils::trimLeftString | ( | const string & | s, |
const string & | drop | ||
) |
string Utils::trimRightString | ( | const string & | s, |
const string & | drop | ||
) |
string Utils::trimString | ( | const string & | s, |
const string & | drop | ||
) |
string Utils::unifySlashes | ( | const string & | inputDir, |
bool | withTrailingSlash | ||
) |
void Utils::warnMsg | ( | const char * | tag, |
const char * | msg, | ||
const int | line, | ||
const char * | file | ||
) |
void Utils::writeStringIntoTextFile | ( | const char * | logTag, |
const string & | stringToWrite, | ||
const string & | pathAndFilename | ||
) |
std::unique_ptr< CustomLog > Utils::customLog |
|
static |
bool Utils::onlyErrorLogs = false |