SourcePP
Several modern C++20 libraries for sanely parsing Valve's formats.
Loading...
Searching...
No Matches
sourcepp::string Namespace Reference

Functions

bool contains (std::string_view s, char c)
 
bool matches (std::string_view in, std::string_view search)
 A very basic regex-like pattern checker for ASCII strings.
 
bool iequals (std::string_view s1, std::string_view s2)
 
void ltrim (std::string &s)
 
std::string_view ltrim (std::string_view s)
 
void rtrim (std::string &s)
 
std::string_view rtrim (std::string_view s)
 
void trim (std::string &s)
 
std::string_view trim (std::string_view s)
 
void trimInternal (std::string &s)
 
std::string trimInternal (std::string_view s)
 
void ltrim (std::string &s, std::string_view chars)
 
std::string_view ltrim (std::string_view s, std::string_view chars)
 
void rtrim (std::string &s, std::string_view chars)
 
std::string_view rtrim (std::string_view s, std::string_view chars)
 
void trim (std::string &s, std::string_view chars)
 
std::string_view trim (std::string_view s, std::string_view chars)
 
void trimInternal (std::string &s, std::string_view chars)
 
std::string trimInternal (std::string_view s, std::string_view chars)
 
std::vector< std::string > split (std::string_view s, char delim)
 
void toLower (std::string &input)
 
std::string toLower (std::string_view input)
 
void toUpper (std::string &input)
 
std::string toUpper (std::string_view input)
 
std::string createRandom (uint16_t length=32, std::string_view chars="0123456789_abcdefghijklmnopqrstuvwxyz-ABCDEFGHIJKLMNOPQRSTUVWXYZ")
 
std::string generateUUIDv4 ()
 
std::string padNumber (int64_t number, int width, char pad='0')
 
void normalizeSlashes (std::string &path, bool stripSlashPrefix=false, bool stripSlashSuffix=true)
 
void denormalizeSlashes (std::string &path, bool stripSlashPrefix=false, bool stripSlashSuffix=true)
 
std::from_chars_result toBool (std::string_view number, bool &out, int base=10)
 
std::from_chars_result toInt (std::string_view number, std::integral auto &out, int base=10)
 
std::from_chars_result toFloat (std::string_view number, std::floating_point auto &out)
 

Function Documentation

◆ contains()

bool sourcepp::string::contains ( std::string_view  s,
char  c 
)

Definition at line 20 of file String.cpp.

◆ createRandom()

std::string sourcepp::string::createRandom ( uint16_t  length = 32,
std::string_view  chars = "0123456789_abcdefghijklmnopqrstuvwxyz-ABCDEFGHIJKLMNOPQRSTUVWXYZ" 
)

Definition at line 185 of file String.cpp.

◆ denormalizeSlashes()

void sourcepp::string::denormalizeSlashes ( std::string &  path,
bool  stripSlashPrefix = false,
bool  stripSlashSuffix = true 
)

Definition at line 236 of file String.cpp.

◆ generateUUIDv4()

std::string sourcepp::string::generateUUIDv4 ( )

Definition at line 197 of file String.cpp.

◆ iequals()

bool sourcepp::string::iequals ( std::string_view  s1,
std::string_view  s2 
)

Definition at line 61 of file String.cpp.

◆ ltrim() [1/4]

void sourcepp::string::ltrim ( std::string &  s)

Definition at line 67 of file String.cpp.

◆ ltrim() [2/4]

void sourcepp::string::ltrim ( std::string &  s,
std::string_view  chars 
)

Definition at line 108 of file String.cpp.

◆ ltrim() [3/4]

std::string_view sourcepp::string::ltrim ( std::string_view  s)

Definition at line 71 of file String.cpp.

◆ ltrim() [4/4]

std::string_view sourcepp::string::ltrim ( std::string_view  s,
std::string_view  chars 
)

Definition at line 114 of file String.cpp.

◆ matches()

bool sourcepp::string::matches ( std::string_view  in,
std::string_view  search 
)

A very basic regex-like pattern checker for ASCII strings.

Supports: %? - matches any character w - matches a whitespace character (defined by std::isspace) a - matches a letter (A-Z, a-z) u - matches an uppercase letter (A-Z) l - matches a lowercase letter (a-z) d - matches a single digit (0-9) %% - escaped percent character

Definition at line 24 of file String.cpp.

◆ normalizeSlashes()

void sourcepp::string::normalizeSlashes ( std::string &  path,
bool  stripSlashPrefix = false,
bool  stripSlashSuffix = true 
)

Definition at line 226 of file String.cpp.

◆ padNumber()

std::string sourcepp::string::padNumber ( int64_t  number,
int  width,
char  pad = '0' 
)

Definition at line 221 of file String.cpp.

◆ rtrim() [1/4]

void sourcepp::string::rtrim ( std::string &  s)

Definition at line 78 of file String.cpp.

◆ rtrim() [2/4]

void sourcepp::string::rtrim ( std::string &  s,
std::string_view  chars 
)

Definition at line 121 of file String.cpp.

◆ rtrim() [3/4]

std::string_view sourcepp::string::rtrim ( std::string_view  s)

Definition at line 82 of file String.cpp.

◆ rtrim() [4/4]

std::string_view sourcepp::string::rtrim ( std::string_view  s,
std::string_view  chars 
)

Definition at line 127 of file String.cpp.

◆ split()

std::vector< std::string > sourcepp::string::split ( std::string_view  s,
char  delim 
)

Definition at line 155 of file String.cpp.

◆ toBool()

std::from_chars_result sourcepp::string::toBool ( std::string_view  number,
bool &  out,
int  base = 10 
)

Definition at line 246 of file String.cpp.

◆ toFloat()

std::from_chars_result sourcepp::string::toFloat ( std::string_view  number,
std::floating_point auto &  out 
)
inline

Definition at line 85 of file String.h.

◆ toInt()

std::from_chars_result sourcepp::string::toInt ( std::string_view  number,
std::integral auto &  out,
int  base = 10 
)
inline

Definition at line 81 of file String.h.

◆ toLower() [1/2]

void sourcepp::string::toLower ( std::string &  input)

Definition at line 165 of file String.cpp.

◆ toLower() [2/2]

std::string sourcepp::string::toLower ( std::string_view  input)

Definition at line 169 of file String.cpp.

◆ toUpper() [1/2]

void sourcepp::string::toUpper ( std::string &  input)

Definition at line 175 of file String.cpp.

◆ toUpper() [2/2]

std::string sourcepp::string::toUpper ( std::string_view  input)

Definition at line 179 of file String.cpp.

◆ trim() [1/4]

void sourcepp::string::trim ( std::string &  s)

Definition at line 89 of file String.cpp.

◆ trim() [2/4]

void sourcepp::string::trim ( std::string &  s,
std::string_view  chars 
)

Definition at line 134 of file String.cpp.

◆ trim() [3/4]

std::string_view sourcepp::string::trim ( std::string_view  s)

Definition at line 94 of file String.cpp.

◆ trim() [4/4]

std::string_view sourcepp::string::trim ( std::string_view  s,
std::string_view  chars 
)

Definition at line 139 of file String.cpp.

◆ trimInternal() [1/4]

void sourcepp::string::trimInternal ( std::string &  s)

Definition at line 98 of file String.cpp.

◆ trimInternal() [2/4]

void sourcepp::string::trimInternal ( std::string &  s,
std::string_view  chars 
)

Definition at line 143 of file String.cpp.

◆ trimInternal() [3/4]

std::string sourcepp::string::trimInternal ( std::string_view  s)

Definition at line 102 of file String.cpp.

◆ trimInternal() [4/4]

std::string sourcepp::string::trimInternal ( std::string_view  s,
std::string_view  chars 
)

Definition at line 147 of file String.cpp.