MT Core (C++)
Core library for replacing C++ standard in project usage
Loading...
Searching...
No Matches
mtcore::ascii Namespace Reference

ASCII-related methods for parsing and character classification Split into its own namespace to allow for clear differentiation from any unicode-related methods. More...

Classes

struct  UnescapeError
 Error when unescaping characters fails. More...
 

Enumerations

enum class  AsciiNumericParseError { AsciiNumericParseError::INVALID_SLICE , AsciiNumericParseError::INVALID_SIGN , AsciiNumericParseError::INVALID_INPUT , AsciiNumericParseError::OVERFLOW_DETECTED }
 Errors when parsing ASCII strings as numbers. More...
 

Functions

bool is_digit (const char c)
 Checks if a character is an ASCII digit (0-9)
 
bool is_hex (const char c)
 Checks if a character is an ASCII hex digit (0-9, a-f, A-F)
 
bool is_hex_str (Slice< const char > str)
 Checks if a string is composed of only hex characters Will return false if string is empty.
 
bool is_int_str (Slice< const char > str)
 Checks if a string is composed of only integer characters Will return false if string is empty.
 
bool is_pos_int_str (Slice< const char > str)
 Checks if a string is composed of only positive integer characters Will return false if string is empty.
 
template<typename Out = i32>
Result< Out, AsciiNumericParseErrorhex_to_int (const Slice< const char > &parse)
 Tries to parse an ASCII hex string into an integer Will return an error if the parsed string does not fit.
 
template<typename Out = i32>
Result< Out, AsciiNumericParseErrorbase10_to_int (const Slice< const char > &parse)
 Tries to parse an ASCII numeric string into an integer Will return an error if the parsed string does not fit.
 
Result< char, UnescapeErrorunescape_char (Slice< const char > str, char escapeChar='\\')
 Unescapes the first (potentially) escaped character in a character sequence If the sequence is empty, will return an error.
 
template<typename Writer>
Result< size_t, std::variant< typename Writer::ErrType, UnescapeError > > write_unescaped (Writer &writer, Slice< const char > str, char escapeChar='\\')
 Writes unescaped ASCII characters to a stream Note: This does NOT support writing Unicode escape codes at this time (so \uhhhh or \Uhhhhhhhh)
 

Detailed Description

ASCII-related methods for parsing and character classification Split into its own namespace to allow for clear differentiation from any unicode-related methods.