StringView+apps: Add a _sv literal suffix to not confuse function overloads
C++ was being naughty and implicitly casting our fallback const char* to a boolean.
This commit is contained in:
parent
e1c03150f8
commit
e6645ed607
@ -10,7 +10,7 @@ int main(int argc, char** argv)
|
|||||||
StringView date;
|
StringView date;
|
||||||
|
|
||||||
ArgumentParser parser;
|
ArgumentParser parser;
|
||||||
parser.add_value_argument(date, 'd', "date", false);
|
parser.add_value_argument(date, 'd', "date"_sv, false);
|
||||||
parser.parse(argc, argv);
|
parser.parse(argc, argv);
|
||||||
|
|
||||||
time_t now;
|
time_t now;
|
||||||
|
@ -10,7 +10,7 @@ int main(int argc, char** argv)
|
|||||||
StringView pathname;
|
StringView pathname;
|
||||||
|
|
||||||
ArgumentParser parser;
|
ArgumentParser parser;
|
||||||
parser.add_positional_argument(pathname, "file", true);
|
parser.add_positional_argument(pathname, "file"_sv, true);
|
||||||
parser.parse(argc, argv);
|
parser.parse(argc, argv);
|
||||||
|
|
||||||
f = fopen(pathname.chars(), "w");
|
f = fopen(pathname.chars(), "w");
|
||||||
|
@ -12,9 +12,9 @@ int main(int argc, char** argv)
|
|||||||
bool show_almost_all;
|
bool show_almost_all;
|
||||||
|
|
||||||
ArgumentParser parser;
|
ArgumentParser parser;
|
||||||
parser.add_positional_argument(pathname, "directory", "/");
|
parser.add_positional_argument(pathname, "directory"_sv, "/"_sv);
|
||||||
parser.add_switch_argument(show_all, 'a', "all");
|
parser.add_switch_argument(show_all, 'a', "all"_sv);
|
||||||
parser.add_switch_argument(show_almost_all, 'A', "almost-all");
|
parser.add_switch_argument(show_almost_all, 'A', "almost-all"_sv);
|
||||||
parser.parse(argc, argv);
|
parser.parse(argc, argv);
|
||||||
|
|
||||||
DIR* dp = opendir(pathname.chars());
|
DIR* dp = opendir(pathname.chars());
|
||||||
|
@ -52,3 +52,13 @@ class StringView
|
|||||||
|
|
||||||
usize m_length { 0 };
|
usize m_length { 0 };
|
||||||
};
|
};
|
||||||
|
|
||||||
|
inline StringView operator""_sv(const char* cstring)
|
||||||
|
{
|
||||||
|
return StringView { cstring };
|
||||||
|
}
|
||||||
|
|
||||||
|
inline StringView operator""_sv(const char* cstring, usize length)
|
||||||
|
{
|
||||||
|
return StringView { cstring, length };
|
||||||
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user