Веб-сайт самохостера Lotigara

summaryrefslogtreecommitdiff
path: root/source/core/StarLexicalCast.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'source/core/StarLexicalCast.hpp')
-rw-r--r--source/core/StarLexicalCast.hpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/source/core/StarLexicalCast.hpp b/source/core/StarLexicalCast.hpp
index 13c0521..15afe3f 100644
--- a/source/core/StarLexicalCast.hpp
+++ b/source/core/StarLexicalCast.hpp
@@ -19,6 +19,9 @@ bool tryLexicalCast(Type& result, const char* first, const char* last) {
return res.ptr == last && (res.ec == std::errc() || res.ec == std::errc::result_out_of_range);
}
+template <>
+bool tryLexicalCast(bool& result, const char* first, const char* last);
+
template <typename Type>
bool tryLexicalCast(Type& result, String const& s) {
return tryLexicalCast<Type>(s.utf8Ptr(), s.utf8Ptr() + s.utf8Size());
@@ -43,7 +46,6 @@ Maybe<Type> maybeLexicalCast(StringView s) {
return maybeLexicalCast<Type>(s.utf8Ptr(), s.utf8Ptr() + s.utf8Size());
}
-
template <typename Type>
Type lexicalCast(const char* first, const char* last) {
Type result{};
@@ -54,6 +56,9 @@ Type lexicalCast(const char* first, const char* last) {
return result;
}
+template <>
+bool lexicalCast(const char* first, const char* last);
+
template <typename Type>
Type lexicalCast(StringView s) {
return lexicalCast<Type>(s.utf8Ptr(), s.utf8Ptr() + s.utf8Size());