1
0
Fork 0
mirror of https://github.com/bolero-MURAKAMI/Sprout synced 2025-08-03 12:49:50 +00:00

workaround for disable unicode literals and types

This commit is contained in:
bolero-MURAKAMI 2016-03-10 19:17:22 +09:00
parent 4e0b3991b1
commit 7240e883c5
26 changed files with 152 additions and 29 deletions

View file

@ -177,6 +177,7 @@ namespace sprout {
to_wstring(sprout::uuids::uuid const& u) {
return sprout::uuids::to_string_of<wchar_t>(u);
}
#if SPROUT_USE_UNICODE_LITERALS
inline SPROUT_CONSTEXPR sprout::basic_string<char16_t, 36>
to_u16string(sprout::uuids::uuid const& u) {
return sprout::uuids::to_string_of<char16_t>(u);
@ -185,6 +186,7 @@ namespace sprout {
to_u32string(sprout::uuids::uuid const& u) {
return sprout::uuids::to_string_of<char32_t>(u);
}
#endif
} // namespace uuids
} // namespace sprout

View file

@ -67,12 +67,14 @@ namespace sprout {
SPROUT_CONSTEXPR result_type operator()(wchar_t const* name) const {
return sha_to_uuid(sum_.c_process_bytes(name, sprout::char_traits<wchar_t>::length(name)));
}
#if SPROUT_USE_UNICODE_LITERALS
SPROUT_CONSTEXPR result_type operator()(char16_t const* name) const {
return sha_to_uuid(sum_.c_process_bytes(name, sprout::char_traits<char16_t>::length(name)));
}
SPROUT_CONSTEXPR result_type operator()(char32_t const* name) const {
return sha_to_uuid(sum_.c_process_bytes(name, sprout::char_traits<char32_t>::length(name)));
}
#endif
};
//
@ -91,6 +93,7 @@ namespace sprout {
make_uuid3(wchar_t const* name) {
return sprout::uuids::md5_name_generator()(name);
}
#if SPROUT_USE_UNICODE_LITERALS
inline SPROUT_CONSTEXPR sprout::uuids::uuid
make_uuid3(char16_t const* name) {
return sprout::uuids::md5_name_generator()(name);
@ -99,6 +102,7 @@ namespace sprout {
make_uuid3(char32_t const* name) {
return sprout::uuids::md5_name_generator()(name);
}
#endif
template<typename Elem, std::size_t N, typename Traits>
inline SPROUT_CONSTEXPR sprout::uuids::uuid
@ -113,6 +117,7 @@ namespace sprout {
make_uuid3(sprout::uuids::uuid const& namespace_uuid, wchar_t const* name) {
return sprout::uuids::md5_name_generator(namespace_uuid)(name);
}
#if SPROUT_USE_UNICODE_LITERALS
inline SPROUT_CONSTEXPR sprout::uuids::uuid
make_uuid3(sprout::uuids::uuid const& namespace_uuid, char16_t const* name) {
return sprout::uuids::md5_name_generator(namespace_uuid)(name);
@ -121,6 +126,7 @@ namespace sprout {
make_uuid3(sprout::uuids::uuid const& namespace_uuid, char32_t const* name) {
return sprout::uuids::md5_name_generator(namespace_uuid)(name);
}
#endif
inline SPROUT_CONSTEXPR sprout::uuids::md5_name_generator
make_uuid3() {

View file

@ -67,12 +67,14 @@ namespace sprout {
SPROUT_CONSTEXPR result_type operator()(wchar_t const* name) const {
return sha_to_uuid(sum_.c_process_bytes(name, sprout::char_traits<wchar_t>::length(name)));
}
#if SPROUT_USE_UNICODE_LITERALS
SPROUT_CONSTEXPR result_type operator()(char16_t const* name) const {
return sha_to_uuid(sum_.c_process_bytes(name, sprout::char_traits<char16_t>::length(name)));
}
SPROUT_CONSTEXPR result_type operator()(char32_t const* name) const {
return sha_to_uuid(sum_.c_process_bytes(name, sprout::char_traits<char32_t>::length(name)));
}
#endif
};
//
@ -91,6 +93,7 @@ namespace sprout {
make_uuid5(wchar_t const* name) {
return sprout::uuids::sha1_name_generator()(name);
}
#if SPROUT_USE_UNICODE_LITERALS
inline SPROUT_CONSTEXPR sprout::uuids::uuid
make_uuid5(char16_t const* name) {
return sprout::uuids::sha1_name_generator()(name);
@ -99,6 +102,7 @@ namespace sprout {
make_uuid5(char32_t const* name) {
return sprout::uuids::sha1_name_generator()(name);
}
#endif
template<typename Elem, std::size_t N, typename Traits>
inline SPROUT_CONSTEXPR sprout::uuids::uuid
@ -113,6 +117,7 @@ namespace sprout {
make_uuid5(sprout::uuids::uuid const& namespace_uuid, wchar_t const* name) {
return sprout::uuids::sha1_name_generator(namespace_uuid)(name);
}
#if SPROUT_USE_UNICODE_LITERALS
inline SPROUT_CONSTEXPR sprout::uuids::uuid
make_uuid5(sprout::uuids::uuid const& namespace_uuid, char16_t const* name) {
return sprout::uuids::sha1_name_generator(namespace_uuid)(name);
@ -121,6 +126,7 @@ namespace sprout {
make_uuid5(sprout::uuids::uuid const& namespace_uuid, char32_t const* name) {
return sprout::uuids::sha1_name_generator(namespace_uuid)(name);
}
#endif
inline SPROUT_CONSTEXPR sprout::uuids::sha1_name_generator
make_uuid5() {

View file

@ -177,12 +177,14 @@ namespace sprout {
SPROUT_CONSTEXPR result_type operator()(wchar_t const* s) const {
return operator()(s, s + sprout::char_traits<wchar_t>::length(s));
}
#if SPROUT_USE_UNICODE_LITERALS
SPROUT_CONSTEXPR result_type operator()(char16_t const* s) const {
return operator()(s, s + sprout::char_traits<char16_t>::length(s));
}
SPROUT_CONSTEXPR result_type operator()(char32_t const* s) const {
return operator()(s, s + sprout::char_traits<char32_t>::length(s));
}
#endif
};
//
@ -206,6 +208,7 @@ namespace sprout {
make_uuid(wchar_t const* s) {
return sprout::uuids::string_generator()(s);
}
#if SPROUT_USE_UNICODE_LITERALS
inline SPROUT_CONSTEXPR sprout::uuids::uuid
make_uuid(char16_t const* s) {
return sprout::uuids::string_generator()(s);
@ -214,6 +217,7 @@ namespace sprout {
make_uuid(char32_t const* s) {
return sprout::uuids::string_generator()(s);
}
#endif
} // namespace uuids
} // namespace sprout

View file

@ -72,6 +72,7 @@ namespace sprout {
operator"" _uuid(wchar_t const* s, std::size_t size) {
return sprout::uuids::make_uuid(s, s + size);
}
#if SPROUT_USE_UNICODE_LITERALS
inline SPROUT_CONSTEXPR sprout::uuids::uuid
operator"" _uuid(char16_t const* s, std::size_t size) {
return sprout::uuids::make_uuid(s, s + size);
@ -80,6 +81,7 @@ namespace sprout {
operator"" _uuid(char32_t const* s, std::size_t size) {
return sprout::uuids::make_uuid(s, s + size);
}
#endif
//
// _uuid3
@ -92,6 +94,7 @@ namespace sprout {
operator"" _uuid3(wchar_t const* s, std::size_t size) {
return sprout::uuids::detail::uuid3_impl(sprout::range::make_ptr_range(s, size));
}
#if SPROUT_USE_UNICODE_LITERALS
inline SPROUT_CONSTEXPR sprout::uuids::md5_name_generator
operator"" _uuid3(char16_t const* s, std::size_t size) {
return sprout::uuids::detail::uuid3_impl(sprout::range::make_ptr_range(s, size));
@ -100,6 +103,7 @@ namespace sprout {
operator"" _uuid3(char32_t const* s, std::size_t size) {
return sprout::uuids::detail::uuid3_impl(sprout::range::make_ptr_range(s, size));
}
#endif
//
// _uuid5
@ -112,6 +116,7 @@ namespace sprout {
operator"" _uuid5(wchar_t const* s, std::size_t size) {
return sprout::uuids::detail::uuid5_impl(sprout::range::make_ptr_range(s, size));
}
#if SPROUT_USE_UNICODE_LITERALS
inline SPROUT_CONSTEXPR sprout::uuids::sha1_name_generator
operator"" _uuid5(char16_t const* s, std::size_t size) {
return sprout::uuids::detail::uuid5_impl(sprout::range::make_ptr_range(s, size));
@ -120,6 +125,7 @@ namespace sprout {
operator"" _uuid5(char32_t const* s, std::size_t size) {
return sprout::uuids::detail::uuid5_impl(sprout::range::make_ptr_range(s, size));
}
#endif
} // namespace udl
using sprout::uuids::udl::operator"" _uuid;