45 constexpr bool is_arg(
const std::string_view &sArg) {
46 if (sArg.length() > 19)
return false;
47 for (
const char cChar: sArg) {
48 if (cChar <
'0' || cChar >
'9')
return false;
64 inline bool is_arg(
const std::string &sArg) {
65 if (sArg.empty() || sArg.length() > 19)
return false;
66 for (
const char cChar: sArg) {
67 if (cChar <
'0' || cChar >
'9')
return false;
86 constexpr bool is_var(
const std::string_view &sVar) {
87 if (sVar.empty())
return false;
91 && (cChar <
'a' || cChar >
'z')
92 && (cChar <
'A' || cChar >
'Z')
94 for (std::size_t i = 1; i < sVar.length(); ++i) {
98 && (cChar <
'a' || cChar >
'z')
99 && (cChar <
'A' || cChar >
'Z')
100 && (cChar <
'0' || cChar >
'9')
120 inline bool is_var(
const std::string &sVar) {
121 if (sVar.empty())
return false;
122 char cChar = sVar[0];
125 && (cChar <
'a' || cChar >
'z')
126 && (cChar <
'A' || cChar >
'Z')
128 for (std::size_t i = 1; i < sVar.length(); ++i) {
132 && (cChar <
'a' || cChar >
'z')
133 && (cChar <
'A' || cChar >
'Z')
134 && (cChar <
'0' || cChar >
'9')
151 constexpr bool is_number(
const std::string_view &sArg) {
152 if (sArg.empty())
return false;
154 if (sArg[0] ==
'+' || sArg[0] ==
'-') {
155 if (sArg.length() > 19)
return false;
158 if (sArg.length() > 18)
return false;
160 while (i < sArg.length()) {
161 if (sArg[i] <
'0' || sArg[i] >
'9')
return false;
BashSpark main namespace.
Definition command.h:39
constexpr bool is_arg(const std::string_view &sArg)
Check whether a std::string represents a valid unsigned integer argument.
Definition shell_def.h:45
constexpr bool is_var(const std::string_view &sVar)
Internal helper: check whether the given string_view is a valid variable name.
Definition shell_def.h:86
constexpr bool is_number(const std::string_view &sArg)
Checks if the provided string is a valid representation of a number.
Definition shell_def.h:151