omw
0.2.1-beta
|
Classes | |
class | omw::StringReplacePair |
class | omw::string |
Typedefs | |
using | omw::stdStringVector_t = std::vector< std::string > |
using | omw::stringVector_t = std::vector< omw::string > |
Functions | |
omw::string | omw::join (const omw::stringVector_t &strings) |
omw::string | omw::join (const omw::stringVector_t &strings, char delimiter) |
size_t | omw::peekNewLine (const char *p) |
size_t | omw::peekNewLine (const char *p, const char *end) |
omw::string | omw::readString (const uint8_t *data, size_t count) |
omw::string | omw::readString (const std::vector< uint8_t > &data, std::vector< uint8_t >::size_type pos, std::vector< uint8_t >::size_type count) |
void | omw::writeString (uint8_t *buffer, const uint8_t *end, const std::string &str) |
void | omw::writeString (std::vector< uint8_t > &buffer, std::vector< uint8_t >::size_type pos, const std::string &str) |
omw::string Implementation Functions | |
OMW_STDSTRING_CONSTEXPR bool | omw::contains (const std::string &str, char ch) |
OMW_STDSTRING_CONSTEXPR bool | omw::contains (const std::string &str, const char *s) |
OMW_STDSTRING_CONSTEXPR bool | omw::contains (const std::string &str, const std::string &s) |
omw::stringVector_t | omw::split (const std::string &str, char delimiter, omw::stringVector_t::size_type maxTokenCount=omw::stringVector_npos) |
omw::stringVector_t | omw::split (const char *str, char delimiter, omw::stringVector_t::size_type maxTokenCount=omw::stringVector_npos) |
omw::stringVector_t | omw::splitLen (const std::string &str, std::string::size_type tokenLength, omw::stringVector_t::size_type maxTokenCount=omw::stringVector_npos) |
omw::stringVector_t | omw::splitLen (const char *str, std::string::size_type tokenLength, omw::stringVector_t::size_type maxTokenCount=omw::stringVector_npos) |
Find and Replace | |
std::string & | omw::replaceFirst (std::string &str, const std::string &search, const std::string &replace, std::string::size_type startPos=0) |
std::string & | omw::replaceFirst (std::string &str, const omw::StringReplacePair &pair, std::string::size_type startPos=0) |
std::string & | omw::replaceAll (std::string &str, char search, char replace, std::string::size_type startPos=0, size_t *nReplacements=nullptr) |
std::string & | omw::replaceAll (std::string &str, char search, const std::string &replace, std::string::size_type startPos=0, size_t *nReplacements=nullptr) |
std::string & | omw::replaceAll (std::string &str, const std::string &search, char replace, std::string::size_type startPos=0, size_t *nReplacements=nullptr) |
std::string & | omw::replaceAll (std::string &str, const std::string &search, const std::string &replace, std::string::size_type startPos=0, size_t *nReplacements=nullptr) |
std::string & | omw::replaceAll (std::string &str, const omw::StringReplacePair &pair, std::string::size_type startPos=0, size_t *nReplacements=nullptr) |
std::string & | omw::replaceAll (std::string &str, const std::vector< omw::StringReplacePair > &pairs, std::string::size_type startPos=0, size_t *nReplacementsTotal=nullptr, std::vector< size_t > *nReplacements=nullptr) |
std::string & | omw::replaceAll (std::string &str, const omw::StringReplacePair *pairs, size_t count, std::string::size_type startPos=0, size_t *nReplacementsTotal=nullptr, std::vector< size_t > *nReplacements=nullptr) |
Convert To String | |
omw::string | omw::to_string (int32_t value) |
omw::string | omw::to_string (uint32_t value) |
omw::string | omw::to_string (int64_t value) |
omw::string | omw::to_string (uint64_t value) |
omw::string | omw::to_string (float value) |
omw::string | omw::to_string (double value) |
omw::string | omw::to_string (long double value) |
omw::string | omw::to_string (bool value, bool asText=true) |
omw::string | omw::to_string (const omw::int128_t &value) |
omw::string | omw::to_string (const omw::uint128_t &value) |
omw::string | omw::to_string (const std::pair< int32_t, int32_t > &value, char delimiter=pairtos_defaultDelimiter) |
omw::string | omw::to_string (const std::pair< uint32_t, uint32_t > &value, char delimiter=pairtos_defaultDelimiter) |
omw::string | omw::to_string (const std::pair< int64_t, int64_t > &value, char delimiter=pairtos_defaultDelimiter) |
omw::string | omw::to_string (const std::pair< uint64_t, uint64_t > &value, char delimiter=pairtos_defaultDelimiter) |
omw::string | omw::to_string (const std::pair< float, float > &value, char delimiter=pairtos_defaultDelimiter) |
omw::string | omw::to_string (const std::pair< double, double > &value, char delimiter=pairtos_defaultDelimiter) |
omw::string | omw::to_string (const std::pair< long double, long double > &value, char delimiter=pairtos_defaultDelimiter) |
Convert From String | |
bool | omw::stob (const std::string &boolStr) |
size_t | omw::stoz (const std::string &str, size_t *pos=nullptr, int base=10) |
std::pair< int32_t, int32_t > | omw::stoipair (const std::string &str, char delimiter=pairtos_defaultDelimiter) |
Hex Strings | |
omw::string | omw::toHexStr (int8_t value) |
omw::string | omw::toHexStr (uint8_t value) |
omw::string | omw::toHexStr (int16_t value) |
omw::string | omw::toHexStr (uint16_t value) |
omw::string | omw::toHexStr (int32_t value) |
omw::string | omw::toHexStr (uint32_t value) |
omw::string | omw::toHexStr (int64_t value) |
omw::string | omw::toHexStr (uint64_t value) |
omw::string | omw::toHexStr (const omw::Base_Int128 &value) |
omw::string | omw::toHexStr (int16_t value, char delimiter) |
omw::string | omw::toHexStr (uint16_t value, char delimiter) |
omw::string | omw::toHexStr (int32_t value, char delimiter) |
omw::string | omw::toHexStr (uint32_t value, char delimiter) |
omw::string | omw::toHexStr (int64_t value, char delimiter) |
omw::string | omw::toHexStr (uint64_t value, char delimiter) |
omw::string | omw::toHexStr (const omw::Base_Int128 &value, char delimiter) |
omw::string | omw::toHexStr (const std::vector< char > &data, char delimiter=toHexStr_defaultDelimiter) |
omw::string | omw::toHexStr (const std::vector< uint8_t > &data, char delimiter=toHexStr_defaultDelimiter) |
omw::string | omw::toHexStr (const char *data, size_t count, char delimiter=toHexStr_defaultDelimiter) |
omw::string | omw::toHexStr (const uint8_t *data, size_t count, char delimiter=toHexStr_defaultDelimiter) |
int32_t | omw::hexstoi (const std::string &str) |
int64_t | omw::hexstoi64 (const std::string &str) |
omw::int128_t | omw::hexstoi128 (const std::string &str) |
uint32_t | omw::hexstoui (const std::string &str) |
uint64_t | omw::hexstoui64 (const std::string &str) |
omw::uint128_t | omw::hexstoui128 (const std::string &str) |
std::vector< uint8_t > | omw::hexstovector (const std::string &str, char delimiter=toHexStr_defaultDelimiter) |
omw::string | omw::sepHexStr (const std::string &str) |
omw::string | omw::sepHexStr (const std::string &str, char delimiter) |
omw::string | omw::sepHexStr (const std::string &str, char rmChar, char delimiter) |
omw::string | omw::sepHexStr (const std::string &str, const char *rmChars, size_t count, char delimiter=toHexStr_defaultDelimiter) |
omw::string | omw::sepHexStr (const std::string &str, const std::vector< char > &rmChars, char delimiter=toHexStr_defaultDelimiter) |
omw::string | omw::rmNonHex (const std::string &str) |
void | omw::rmNonHex (char *str) |
void | omw::rmNonHex (std::string &str) |
String Vectors | |
omw::stringVector_t | omw::stringVector (const char *const *strings, size_t count) |
omw::stringVector_t | omw::stringVector (const std::string *strings, size_t count) |
omw::stringVector_t | omw::stringVector (const omw::string *strings, size_t count) |
omw::stringVector_t | omw::stringVector (const omw::stdStringVector_t &strvec) |
omw::stdStringVector_t | omw::stdStringVector (const char *const *strings, size_t count) |
omw::stdStringVector_t | omw::stdStringVector (const std::string *strings, size_t count) |
omw::stdStringVector_t | omw::stdStringVector (const omw::string *strings, size_t count) |
omw::stdStringVector_t | omw::stdStringVector (const omw::stringVector_t &strvec) |
String Classification | |
bool | omw::isInteger (const std::string &str) |
bool | omw::isUInteger (const std::string &str) |
bool | omw::isHex (const std::string &str, std::string::size_type pos=0, std::string::size_type count=std::string::npos) |
#include <omw/string.h>
int32_t omw::hexstoi | ( | const std::string & | str | ) |
str | Hexadecimal string representation |
Exceptions
std::invalid_argument
if the string contains invalid charactersstd::out_of_range
if the value would fall out of range omw::int128_t omw::hexstoi128 | ( | const std::string & | str | ) |
str | Hexadecimal string representation |
Exceptions
std::invalid_argument
if the string contains invalid charactersstd::out_of_range
if the value would fall out of range int64_t omw::hexstoi64 | ( | const std::string & | str | ) |
str | Hexadecimal string representation |
Exceptions
std::invalid_argument
if the string contains invalid charactersstd::out_of_range
if the value would fall out of range uint32_t omw::hexstoui | ( | const std::string & | str | ) |
str | Hexadecimal string representation |
Exceptions
std::invalid_argument
if the string contains invalid charactersstd::out_of_range
if the value would fall out of range omw::uint128_t omw::hexstoui128 | ( | const std::string & | str | ) |
str | Hexadecimal string representation |
Exceptions
std::invalid_argument
if the string contains invalid charactersstd::out_of_range
if the value would fall out of range uint64_t omw::hexstoui64 | ( | const std::string & | str | ) |
str | Hexadecimal string representation |
Exceptions
std::invalid_argument
if the string contains invalid charactersstd::out_of_range
if the value would fall out of range bool omw::isHex | ( | const std::string & | str, |
std::string::size_type | pos = 0 , |
||
std::string::size_type | count = std::string::npos |
||
) |
An empty string returns false
.
bool omw::isInteger | ( | const std::string & | str | ) |
See omw::isUInteger()
.
bool omw::isUInteger | ( | const std::string & | str | ) |
Ignores leading zeros.
An empty string returns false
.
size_t omw::peekNewLine | ( | const char * | p | ) |
p | Pointer to the position in the string |
p
, range: [0, 2]If p is NULL
, 0 is returned.
It's recommended to use omw::peekNewLine(const char*, const char*)
to prevent access violations.
size_t omw::peekNewLine | ( | const char * | p, |
const char * | end | ||
) |
p | Pointer to the position in the string |
end | Pointer to the first element after the last element of the string |
p
, range: [0, 2]If end is NULL
, omw::peekNewLine(const char*)
will be used, hence access violations may occure.
If p is NULL
or p is greater than or equal to end, 0 is returned.
omw::string omw::readString | ( | const std::vector< uint8_t > & | data, |
std::vector< uint8_t >::size_type | pos, | ||
std::vector< uint8_t >::size_type | count | ||
) |
Reads the data to construct a string from a byte buffer.
Exceptions
std::invalid_argument
if count is greater than data.size() - pos
or if pos
is greater than data.size()
omw::string omw::readString | ( | const uint8_t * | data, |
size_t | count | ||
) |
Reads the data to construct a string from a byte buffer.
Exceptions
std::invalid_argument
if the data pointer is null std::string & omw::replaceAll | ( | std::string & | str, |
char | search, | ||
char | replace, | ||
std::string::size_type | startPos = 0 , |
||
size_t * | nReplacements = nullptr |
||
) |
[in,out] | str | |
search | Character to be replaced | |
replace | Character for replacement | |
startPos | From where to start searching | |
[out] | nReplacements | Number of occurrences |
str
std::string & omw::replaceAll | ( | std::string & | str, |
char | search, | ||
const std::string & | replace, | ||
std::string::size_type | startPos = 0 , |
||
size_t * | nReplacements = nullptr |
||
) |
[in,out] | str | |
search | Character to be replaced | |
replace | String for replacement | |
startPos | From where to start searching | |
[out] | nReplacements | Number of occurrences |
str
std::string & omw::replaceAll | ( | std::string & | str, |
const omw::StringReplacePair & | pair, | ||
std::string::size_type | startPos = 0 , |
||
size_t * | nReplacements = nullptr |
||
) |
[in,out] | str | |
pair | Search and replace string pair | |
startPos | From where to start searching | |
[out] | nReplacements | Number of occurrences |
str
std::string & omw::replaceAll | ( | std::string & | str, |
const omw::StringReplacePair * | pairs, | ||
size_t | count, | ||
std::string::size_type | startPos = 0 , |
||
size_t * | nReplacementsTotal = nullptr , |
||
std::vector< size_t > * | nReplacements = nullptr |
||
) |
[in,out] | str | |
pairs | Pointer to a replace pair array | |
count | ||
startPos | From where to start searching | |
[out] | nReplacementsTotal | Total number of occurrences |
[out] | nReplacements | Number of occurrences of specific replace pair |
str
std::string & omw::replaceAll | ( | std::string & | str, |
const std::string & | search, | ||
char | replace, | ||
std::string::size_type | startPos = 0 , |
||
size_t * | nReplacements = nullptr |
||
) |
[in,out] | str | |
search | Substring to be replaced | |
replace | Character for replacement | |
startPos | From where to start searching | |
[out] | nReplacements | Number of occurrences |
str
std::string & omw::replaceAll | ( | std::string & | str, |
const std::string & | search, | ||
const std::string & | replace, | ||
std::string::size_type | startPos = 0 , |
||
size_t * | nReplacements = nullptr |
||
) |
[in,out] | str | |
search | Substring to be replaced | |
replace | String for replacement | |
startPos | From where to start searching | |
[out] | nReplacements | Number of occurrences |
str
std::string & omw::replaceAll | ( | std::string & | str, |
const std::vector< omw::StringReplacePair > & | pairs, | ||
std::string::size_type | startPos = 0 , |
||
size_t * | nReplacementsTotal = nullptr , |
||
std::vector< size_t > * | nReplacements = nullptr |
||
) |
[in,out] | str | |
pairs | Search and replace string pair vector | |
startPos | From where to start searching | |
[out] | nReplacementsTotal | Total number of occurrences |
[out] | nReplacements | Number of occurrences of specific replace pair |
str
std::string & omw::replaceFirst | ( | std::string & | str, |
const std::string & | search, | ||
const std::string & | replace, | ||
std::string::size_type | startPos = 0 |
||
) |
[in,out] | str | |
search | Substring to be replaced | |
replace | String for replacement | |
startPos | From where to start searching |
str
omw::string omw::sepHexStr | ( | const std::string & | str | ) |
Same as omw::sepHexStr(const std::string&, char)
with omw::toHexStr_defaultdelimiter
.
omw::string omw::sepHexStr | ( | const std::string & | str, |
char | delimiter | ||
) |
Separates a concatonated hex string by adding a delimiter between the bytes.
Prepends a 0
if length is odd.
Example:
omw::string omw::sepHexStr | ( | const std::string & | str, |
char | rmChar, | ||
char | delimiter | ||
) |
Removes all rmChar
from the string and returns omw::sepHexStr(const std::string&, char)
.
omw::string omw::sepHexStr | ( | const std::string & | str, |
const char * | rmChars, | ||
size_t | count, | ||
char | delimiter = toHexStr_defaultDelimiter |
||
) |
Removes all characters pointed to by rmChars
from the string and returns omw::sepHexStr(const std::string&, char)
.
omw::string omw::sepHexStr | ( | const std::string & | str, |
const std::vector< char > & | rmChars, | ||
char | delimiter = toHexStr_defaultDelimiter |
||
) |
Removes all characters in rmChars
from the string and returns omw::sepHexStr(const std::string&, char)
.
bool omw::stob | ( | const std::string & | boolStr | ) |
boolStr | Boolean string representation |
true and 1 converts to true
, false and 0 to false
. The input is not case sensitive.
Exceptions
std::out_of_range
if the value isn't an element of { "0", "1", "true", "false" }
std::stoi()
is called and may throw std::out_of_range
or std::invalid_argument
std::pair< int32_t, int32_t > omw::stoipair | ( | const std::string & | str, |
char | delimiter = pairtos_defaultDelimiter |
||
) |
str | Pair string representation |
delimiter | Character between the two values |
std::pair
with the two valuesExceptions
std::invalid_argument
if the separator character was not found or it is at the first or at the last position in the stringstd::stoi()
is called and may throw std::out_of_range
or std::invalid_argument
void omw::writeString | ( | std::vector< uint8_t > & | buffer, |
std::vector< uint8_t >::size_type | pos, | ||
const std::string & | str | ||
) |
Writes a string to a byte buffer (without a null terminator).
Exceptions
std::invalid_argument
if pos
is greater than the buffers sizestd::out_of_range
if the buffer can not hold the string void omw::writeString | ( | uint8_t * | buffer, |
const uint8_t * | end, | ||
const std::string & | str | ||
) |
Writes a string to a byte buffer (without a null terminator).
Exceptions
std::invalid_argument
if the data or end pointer is invalidstd::out_of_range
if the string length is greater than end - buffer