diff --git a/include/rexy/string.hpp b/include/rexy/string.hpp index 40ca2ed..572e94e 100644 --- a/include/rexy/string.hpp +++ b/include/rexy/string.hpp @@ -28,6 +28,9 @@ namespace rexy{ using string = basic_string>; extern template class basic_string>; + extern template class basic_string>; + extern template class basic_string>; + extern template class basic_string>; } diff --git a/include/rexy/string_base.hpp b/include/rexy/string_base.hpp index c337e03..cfddc28 100644 --- a/include/rexy/string_base.hpp +++ b/include/rexy/string_base.hpp @@ -306,6 +306,16 @@ namespace{ constexpr inline rexy::static_string operator"" _ss(const char* str, size_t len)noexcept{ return rexy::static_string(str, len); } + constexpr inline rexy::static_string operator"" _ss(const wchar_t* str, size_t len)noexcept{ + return rexy::static_string(str, len); + } + constexpr inline rexy::static_string operator"" _ss(const char16_t* str, size_t len)noexcept{ + return rexy::static_string(str, len); + } + constexpr inline rexy::static_string operator"" _ss(const char32_t* str, size_t len)noexcept{ + return rexy::static_string(str, len); + } + } #ifdef REXY_BINARY_BASE_HPP diff --git a/include/rexy/string_base.tpp b/include/rexy/string_base.tpp index 9cf2d1c..d0b20bd 100644 --- a/include/rexy/string_base.tpp +++ b/include/rexy/string_base.tpp @@ -288,6 +288,10 @@ namespace rexy{ return *this; } + extern template class static_string; + extern template class static_string; + extern template class static_string; + extern template class static_string; } //namespace rexy diff --git a/src/static_string.cpp b/src/static_string.cpp new file mode 100644 index 0000000..a8647b6 --- /dev/null +++ b/src/static_string.cpp @@ -0,0 +1,28 @@ +/** + This file is a part of rexy's general purpose library + Copyright (C) 2020 rexy712 + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Affero General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Affero General Public License for more details. + + You should have received a copy of the GNU Affero General Public License + along with this program. If not, see . +*/ + +#include "rexy/static_string.hpp" + +namespace rexy{ + + template class static_string; + template class static_string; + template class static_string; + template class static_string; + +} diff --git a/src/string.cpp b/src/string.cpp index fa3b53a..8a3f0e9 100644 --- a/src/string.cpp +++ b/src/string.cpp @@ -22,5 +22,8 @@ namespace rexy{ template class basic_string>; + template class basic_string>; + template class basic_string>; + template class basic_string>; }