mirror of
https://github.com/bolero-MURAKAMI/Sprout.git
synced 2025-07-12 14:54:10 +00:00
add conversion string_ref to arithmetic-type
This commit is contained in:
parent
1ef8a6a63b
commit
2e0bc89188
10 changed files with 424 additions and 8 deletions
|
@ -82,11 +82,11 @@ namespace sprout {
|
|||
{}
|
||||
template<std::size_t N>
|
||||
SPROUT_CONSTEXPR basic_string_ref(sprout::basic_string<T, N, Traits> const& str)
|
||||
: ptr_(str.data()), len_(str.length())
|
||||
: ptr_(str.data()), len_(str.size())
|
||||
{}
|
||||
template<typename Allocator>
|
||||
SPROUT_CONSTEXPR basic_string_ref(std::basic_string<T, Traits, Allocator> const& str)
|
||||
: ptr_(str.data()), len_(str.length())
|
||||
: ptr_(str.data()), len_(str.size())
|
||||
{}
|
||||
SPROUT_CONSTEXPR basic_string_ref(const_pointer str, size_type len)
|
||||
: ptr_(str), len_(len)
|
||||
|
@ -550,6 +550,30 @@ namespace sprout {
|
|||
{
|
||||
lhs.swap(rhs);
|
||||
}
|
||||
|
||||
//
|
||||
// to_string_ref
|
||||
//
|
||||
template<typename T, std::size_t N, typename Traits>
|
||||
inline SPROUT_CONSTEXPR sprout::basic_string_ref<T, Traits>
|
||||
to_string_ref(sprout::basic_string<T, N, Traits> const& s) {
|
||||
return sprout::basic_string_ref<T, Traits>(s);
|
||||
}
|
||||
template<typename T, typename Traits>
|
||||
inline SPROUT_CONSTEXPR sprout::basic_string_ref<T, Traits>
|
||||
to_string_ref(std::basic_string<T, Traits> const& s) {
|
||||
return sprout::basic_string_ref<T, Traits>(s);
|
||||
}
|
||||
template<typename T>
|
||||
inline SPROUT_CONSTEXPR sprout::basic_string_ref<T>
|
||||
to_string_ref(T const* str) {
|
||||
return sprout::basic_string_ref<T>(str);
|
||||
}
|
||||
template<typename T>
|
||||
inline SPROUT_CONSTEXPR sprout::basic_string_ref<T>
|
||||
to_string_ref(T const* str, std::size_t len) {
|
||||
return sprout::basic_string_ref<T>(str, len);
|
||||
}
|
||||
} // namespace sprout
|
||||
|
||||
#endif // #ifndef SPROUT_UTILITY_STRING_REF_STRING_REF_HPP
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue