Version upgrade 4.00 #45

Merged
elB4RTO merged 113 commits from devel into main 2024-02-17 16:13:26 +01:00
Showing only changes of commit 4d0d9caec1 - Show all commits

View file

@ -0,0 +1,71 @@
#ifndef LOGDOCTOR__UTILITIES__CHARS_H
#define LOGDOCTOR__UTILITIES__CHARS_H
//! CharOps
/*!
Utilities for chars
*/
namespace CharOps
{
//! Checks whether a character is numeric
/*!
\param chr The target character
\return The result of the check
*/
inline bool isNumeric( const char& chr )
{
return chr > 47 && chr < 58; // 0-9
}
//! Checks whether a character is alphabetic
/*!
\param chr The target character
\return The result of the check
*/
inline bool isAlphabetic( const char& chr )
{
return (chr > 96 && chr < 123) // a-z
|| (chr > 64 && chr < 91); // A-Z
}
//! Checks whether a character is alphanumeric
/*!
\param chr The target character
\return The result of the check
*/
inline bool isAlnum( const char& chr )
{
return isAlphabetic( chr )
|| isNumeric( chr );
}
//! Checks whether a character is hexadecimal
/*!
\param chr The target character
\return The result of the check
*/
inline bool isHex( const char& chr )
{
return (chr > 47 && chr < 58) // 0-9
|| (chr > 64 && chr < 71) // A-F
|| (chr > 96 && chr < 103); // a-f
}
//! Checks whether a character can be part of an IPv4/IPv6
/*!
\param chr The target character
\return The result of the check
*/
inline bool isIP( const char& chr )
{
return chr == 46 // .
|| chr == 58 // :
|| isHex( chr );
}
} // namespace CharOps
#endif // LOGDOCTOR__UTILITIES__CHARS_H