forked from boostorg/static_string
Change namespace to "static_strings"
This commit is contained in:
@ -163,7 +163,7 @@ defined(__clang__) && \
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
namespace boost {
|
namespace boost {
|
||||||
namespace static_string {
|
namespace static_strings {
|
||||||
|
|
||||||
/// The type of `basic_string_view` used by the library
|
/// The type of `basic_string_view` used by the library
|
||||||
template<typename CharT, typename Traits>
|
template<typename CharT, typename Traits>
|
||||||
|
@ -22,7 +22,7 @@
|
|||||||
#include <type_traits>
|
#include <type_traits>
|
||||||
|
|
||||||
namespace boost {
|
namespace boost {
|
||||||
namespace static_string {
|
namespace static_strings {
|
||||||
|
|
||||||
template<std::size_t, typename, typename>
|
template<std::size_t, typename, typename>
|
||||||
class basic_static_string;
|
class basic_static_string;
|
||||||
@ -33,6 +33,7 @@ class basic_static_string;
|
|||||||
//
|
//
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
#ifndef BOOST_STATIC_STRING_DOCS
|
||||||
template<std::size_t N>
|
template<std::size_t N>
|
||||||
using static_string =
|
using static_string =
|
||||||
basic_static_string<N, char, std::char_traits<char>>;
|
basic_static_string<N, char, std::char_traits<char>>;
|
||||||
@ -54,7 +55,7 @@ using static_u32string =
|
|||||||
// Detail
|
// Detail
|
||||||
//
|
//
|
||||||
//--------------------------------------------------------------------------
|
//--------------------------------------------------------------------------
|
||||||
#ifndef GENERATING_DOCUMENTATION
|
|
||||||
namespace detail {
|
namespace detail {
|
||||||
|
|
||||||
// Find the smallest width integral type that can hold a value as large as N (Glen Fernandes)
|
// Find the smallest width integral type that can hold a value as large as N (Glen Fernandes)
|
||||||
@ -693,12 +694,39 @@ defined(BOOST_STATIC_STRING_NO_PTR_COMP_FUNCTIONS)
|
|||||||
These strings offer performance advantages when an algorithm
|
These strings offer performance advantages when an algorithm
|
||||||
can execute with a reasonable upper limit on the size of a value.
|
can execute with a reasonable upper limit on the size of a value.
|
||||||
|
|
||||||
|
@par
|
||||||
|
The following alias templates are provided for convenience:
|
||||||
|
|
||||||
|
@code
|
||||||
|
template<std::size_t N>
|
||||||
|
using static_string =
|
||||||
|
basic_static_string<N, char, std::char_traits<char>>;
|
||||||
|
@endcode
|
||||||
|
|
||||||
|
@code
|
||||||
|
template<std::size_t N>
|
||||||
|
using static_wstring =
|
||||||
|
basic_static_string<N, wchar_t, std::char_traits<wchar_t>>;
|
||||||
|
@endcode
|
||||||
|
|
||||||
|
@code
|
||||||
|
template<std::size_t N>
|
||||||
|
using static_u16string =
|
||||||
|
basic_static_string<N, char16_t, std::char_traits<char16_t>>;
|
||||||
|
@endcode
|
||||||
|
|
||||||
|
@code
|
||||||
|
template<std::size_t N>
|
||||||
|
using static_u32string =
|
||||||
|
basic_static_string<N, char32_t, std::char_traits<char32_t>>;
|
||||||
|
@endcode
|
||||||
|
|
||||||
@see to_static_string
|
@see to_static_string
|
||||||
*/
|
*/
|
||||||
template<std::size_t N, typename CharT,
|
template<std::size_t N, typename CharT,
|
||||||
typename Traits = std::char_traits<CharT>>
|
typename Traits = std::char_traits<CharT>>
|
||||||
class basic_static_string
|
class basic_static_string
|
||||||
#ifndef GENERATING_DOCUMENTATION
|
#ifndef BOOST_STATIC_STRING_DOCS
|
||||||
: private detail::static_string_base<N, CharT, Traits>
|
: private detail::static_string_base<N, CharT, Traits>
|
||||||
#endif
|
#endif
|
||||||
{
|
{
|
||||||
@ -829,7 +857,7 @@ public:
|
|||||||
Construct from a range of characters
|
Construct from a range of characters
|
||||||
*/
|
*/
|
||||||
template<typename InputIterator
|
template<typename InputIterator
|
||||||
#ifndef GENERATING_DOCUMENTATION
|
#ifndef BOOST_STATIC_STRING_DOCS
|
||||||
, typename std::enable_if<
|
, typename std::enable_if<
|
||||||
detail::is_input_iterator<InputIterator>
|
detail::is_input_iterator<InputIterator>
|
||||||
::value>::type* = nullptr
|
::value>::type* = nullptr
|
||||||
@ -881,7 +909,7 @@ public:
|
|||||||
Construct from a object convertible to `string_view_type`
|
Construct from a object convertible to `string_view_type`
|
||||||
*/
|
*/
|
||||||
template<typename T
|
template<typename T
|
||||||
#ifndef GENERATING_DOCUMENTATION
|
#ifndef BOOST_STATIC_STRING_DOCS
|
||||||
, typename = detail::enable_if_viewable_t<T, CharT, Traits>
|
, typename = detail::enable_if_viewable_t<T, CharT, Traits>
|
||||||
#endif
|
#endif
|
||||||
>
|
>
|
||||||
@ -901,7 +929,7 @@ public:
|
|||||||
and used to construct the string.
|
and used to construct the string.
|
||||||
*/
|
*/
|
||||||
template<typename T
|
template<typename T
|
||||||
#ifndef GENERATING_DOCUMENTATION
|
#ifndef BOOST_STATIC_STRING_DOCS
|
||||||
, typename = detail::enable_if_viewable_t<T, CharT, Traits>
|
, typename = detail::enable_if_viewable_t<T, CharT, Traits>
|
||||||
#endif
|
#endif
|
||||||
>
|
>
|
||||||
@ -984,13 +1012,18 @@ public:
|
|||||||
|
|
||||||
/** Assign to the string.
|
/** Assign to the string.
|
||||||
|
|
||||||
Assign from `string_view_type`.
|
Assign from an object convertible to `string_view_type`.
|
||||||
*/
|
*/
|
||||||
|
template<typename T
|
||||||
|
#ifndef BOOST_STATIC_STRING_DOCS
|
||||||
|
, typename = detail::enable_if_viewable_t<T, CharT, Traits>
|
||||||
|
#endif
|
||||||
|
>
|
||||||
BOOST_STATIC_STRING_CPP14_CONSTEXPR
|
BOOST_STATIC_STRING_CPP14_CONSTEXPR
|
||||||
basic_static_string&
|
basic_static_string&
|
||||||
operator=(string_view_type sv)
|
operator=(const T& t)
|
||||||
{
|
{
|
||||||
return assign(sv);
|
return assign(t);
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Replace the contents.
|
/** Replace the contents.
|
||||||
@ -1014,7 +1047,7 @@ public:
|
|||||||
@return `*this`
|
@return `*this`
|
||||||
*/
|
*/
|
||||||
template<std::size_t M
|
template<std::size_t M
|
||||||
#ifndef GENERATING_DOCUMENTATION
|
#ifndef BOOST_STATIC_STRING_DOCS
|
||||||
, typename std::enable_if<(M < N)>::type* = nullptr
|
, typename std::enable_if<(M < N)>::type* = nullptr
|
||||||
#endif
|
#endif
|
||||||
>
|
>
|
||||||
@ -1025,7 +1058,7 @@ public:
|
|||||||
return assign_unchecked(s.data(), s.size());
|
return assign_unchecked(s.data(), s.size());
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifndef GENERATING_DOCUMENTATION
|
#ifndef BOOST_STATIC_STRING_DOCS
|
||||||
BOOST_STATIC_STRING_CPP14_CONSTEXPR
|
BOOST_STATIC_STRING_CPP14_CONSTEXPR
|
||||||
basic_static_string&
|
basic_static_string&
|
||||||
assign(const basic_static_string& s) noexcept
|
assign(const basic_static_string& s) noexcept
|
||||||
@ -1099,7 +1132,7 @@ public:
|
|||||||
*/
|
*/
|
||||||
template<typename InputIterator>
|
template<typename InputIterator>
|
||||||
BOOST_STATIC_STRING_CPP14_CONSTEXPR
|
BOOST_STATIC_STRING_CPP14_CONSTEXPR
|
||||||
#ifdef GENERATING_DOCUMENTATION
|
#ifdef BOOST_STATIC_STRING_DOCS
|
||||||
basic_static_string&
|
basic_static_string&
|
||||||
#else
|
#else
|
||||||
typename std::enable_if<
|
typename std::enable_if<
|
||||||
@ -1132,7 +1165,7 @@ public:
|
|||||||
@throw std::length_error if `string_view_type{t}.size() > max_size()`
|
@throw std::length_error if `string_view_type{t}.size() > max_size()`
|
||||||
*/
|
*/
|
||||||
template<typename T
|
template<typename T
|
||||||
#ifndef GENERATING_DOCUMENTATION
|
#ifndef BOOST_STATIC_STRING_DOCS
|
||||||
, typename = detail::enable_if_viewable_t<T, CharT, Traits>
|
, typename = detail::enable_if_viewable_t<T, CharT, Traits>
|
||||||
#endif
|
#endif
|
||||||
>
|
>
|
||||||
@ -1157,7 +1190,7 @@ public:
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
template<typename T
|
template<typename T
|
||||||
#ifndef GENERATING_DOCUMENTATION
|
#ifndef BOOST_STATIC_STRING_DOCS
|
||||||
, typename = detail::enable_if_viewable_t<T, CharT, Traits>
|
, typename = detail::enable_if_viewable_t<T, CharT, Traits>
|
||||||
#endif
|
#endif
|
||||||
>
|
>
|
||||||
@ -1628,7 +1661,7 @@ public:
|
|||||||
return insert_unchecked(index, str.data(), str.size());
|
return insert_unchecked(index, str.data(), str.size());
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifndef GENERATING_DOCUMENTATION
|
#ifndef BOOST_STATIC_STRING_DOCS
|
||||||
BOOST_STATIC_STRING_CPP14_CONSTEXPR
|
BOOST_STATIC_STRING_CPP14_CONSTEXPR
|
||||||
basic_static_string&
|
basic_static_string&
|
||||||
insert(
|
insert(
|
||||||
@ -1682,7 +1715,7 @@ public:
|
|||||||
return insert_unchecked(index, str.data() + index_str, str.capped_length(index_str, count));
|
return insert_unchecked(index, str.data() + index_str, str.capped_length(index_str, count));
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifndef GENERATING_DOCUMENTATION
|
#ifndef BOOST_STATIC_STRING_DOCS
|
||||||
BOOST_STATIC_STRING_CPP14_CONSTEXPR
|
BOOST_STATIC_STRING_CPP14_CONSTEXPR
|
||||||
basic_static_string&
|
basic_static_string&
|
||||||
insert(
|
insert(
|
||||||
@ -1797,7 +1830,7 @@ public:
|
|||||||
*/
|
*/
|
||||||
template<typename InputIterator>
|
template<typename InputIterator>
|
||||||
BOOST_STATIC_STRING_CPP14_CONSTEXPR
|
BOOST_STATIC_STRING_CPP14_CONSTEXPR
|
||||||
#ifdef GENERATING_DOCUMENTATION
|
#ifdef BOOST_STATIC_STRING_DOCS
|
||||||
iterator
|
iterator
|
||||||
#else
|
#else
|
||||||
typename std::enable_if<
|
typename std::enable_if<
|
||||||
@ -1811,7 +1844,7 @@ public:
|
|||||||
InputIterator first,
|
InputIterator first,
|
||||||
InputIterator last);
|
InputIterator last);
|
||||||
|
|
||||||
#ifndef GENERATING_DOCUMENTATION
|
#ifndef BOOST_STATIC_STRING_DOCS
|
||||||
template<typename ForwardIterator>
|
template<typename ForwardIterator>
|
||||||
BOOST_STATIC_STRING_CPP14_CONSTEXPR
|
BOOST_STATIC_STRING_CPP14_CONSTEXPR
|
||||||
typename std::enable_if<
|
typename std::enable_if<
|
||||||
@ -1890,7 +1923,7 @@ public:
|
|||||||
@throw std::out_of_range `index > size()`
|
@throw std::out_of_range `index > size()`
|
||||||
*/
|
*/
|
||||||
template<typename T
|
template<typename T
|
||||||
#ifndef GENERATING_DOCUMENTATION
|
#ifndef BOOST_STATIC_STRING_DOCS
|
||||||
, typename = detail::enable_if_viewable_t<T, CharT, Traits>
|
, typename = detail::enable_if_viewable_t<T, CharT, Traits>
|
||||||
#endif
|
#endif
|
||||||
>
|
>
|
||||||
@ -1936,7 +1969,7 @@ public:
|
|||||||
@throw std::out_of_range `index_str > sv.size()`
|
@throw std::out_of_range `index_str > sv.size()`
|
||||||
*/
|
*/
|
||||||
template<typename T
|
template<typename T
|
||||||
#ifndef GENERATING_DOCUMENTATION
|
#ifndef BOOST_STATIC_STRING_DOCS
|
||||||
, typename = detail::enable_if_viewable_t<T, CharT, Traits>
|
, typename = detail::enable_if_viewable_t<T, CharT, Traits>
|
||||||
#endif
|
#endif
|
||||||
>
|
>
|
||||||
@ -2107,7 +2140,7 @@ public:
|
|||||||
*/
|
*/
|
||||||
template<typename InputIterator>
|
template<typename InputIterator>
|
||||||
BOOST_STATIC_STRING_CPP14_CONSTEXPR
|
BOOST_STATIC_STRING_CPP14_CONSTEXPR
|
||||||
#ifdef GENERATING_DOCUMENTATION
|
#ifdef BOOST_STATIC_STRING_DOCS
|
||||||
basic_static_string&
|
basic_static_string&
|
||||||
#else
|
#else
|
||||||
typename std::enable_if<
|
typename std::enable_if<
|
||||||
@ -2152,7 +2185,7 @@ public:
|
|||||||
@return `*this`
|
@return `*this`
|
||||||
*/
|
*/
|
||||||
template<typename T
|
template<typename T
|
||||||
#ifndef GENERATING_DOCUMENTATION
|
#ifndef BOOST_STATIC_STRING_DOCS
|
||||||
, typename = detail::enable_if_viewable_t<T, CharT, Traits>
|
, typename = detail::enable_if_viewable_t<T, CharT, Traits>
|
||||||
#endif
|
#endif
|
||||||
>
|
>
|
||||||
@ -2178,7 +2211,7 @@ public:
|
|||||||
@return `*this`
|
@return `*this`
|
||||||
*/
|
*/
|
||||||
template<typename T
|
template<typename T
|
||||||
#ifndef GENERATING_DOCUMENTATION
|
#ifndef BOOST_STATIC_STRING_DOCS
|
||||||
, typename = detail::enable_if_viewable_t<T, CharT, Traits>
|
, typename = detail::enable_if_viewable_t<T, CharT, Traits>
|
||||||
#endif
|
#endif
|
||||||
>
|
>
|
||||||
@ -2265,7 +2298,7 @@ public:
|
|||||||
@throw std::length_error if `string_view_type{t}.size() > max_size()`
|
@throw std::length_error if `string_view_type{t}.size() > max_size()`
|
||||||
*/
|
*/
|
||||||
template<typename T
|
template<typename T
|
||||||
#ifndef GENERATING_DOCUMENTATION
|
#ifndef BOOST_STATIC_STRING_DOCS
|
||||||
, typename = detail::enable_if_viewable_t<T, CharT, Traits>
|
, typename = detail::enable_if_viewable_t<T, CharT, Traits>
|
||||||
#endif
|
#endif
|
||||||
>
|
>
|
||||||
@ -2382,7 +2415,7 @@ public:
|
|||||||
convertible to `const_pointer`.
|
convertible to `const_pointer`.
|
||||||
*/
|
*/
|
||||||
template<typename T
|
template<typename T
|
||||||
#ifndef GENERATING_DOCUMENTATION
|
#ifndef BOOST_STATIC_STRING_DOCS
|
||||||
, typename = detail::enable_if_viewable_t<T, CharT, Traits>
|
, typename = detail::enable_if_viewable_t<T, CharT, Traits>
|
||||||
#endif
|
#endif
|
||||||
>
|
>
|
||||||
@ -2407,7 +2440,7 @@ public:
|
|||||||
convertible to `const_pointer`.
|
convertible to `const_pointer`.
|
||||||
*/
|
*/
|
||||||
template<typename T
|
template<typename T
|
||||||
#ifndef GENERATING_DOCUMENTATION
|
#ifndef BOOST_STATIC_STRING_DOCS
|
||||||
, typename = detail::enable_if_viewable_t<T, CharT, Traits>
|
, typename = detail::enable_if_viewable_t<T, CharT, Traits>
|
||||||
#endif
|
#endif
|
||||||
>
|
>
|
||||||
@ -2432,7 +2465,7 @@ public:
|
|||||||
convertible to `const_pointer`.
|
convertible to `const_pointer`.
|
||||||
*/
|
*/
|
||||||
template<typename T
|
template<typename T
|
||||||
#ifndef GENERATING_DOCUMENTATION
|
#ifndef BOOST_STATIC_STRING_DOCS
|
||||||
, typename = detail::enable_if_viewable_t<T, CharT, Traits>
|
, typename = detail::enable_if_viewable_t<T, CharT, Traits>
|
||||||
#endif
|
#endif
|
||||||
>
|
>
|
||||||
@ -2616,7 +2649,7 @@ public:
|
|||||||
return replace_unchecked(pos1, n1, str.data(), str.size());
|
return replace_unchecked(pos1, n1, str.data(), str.size());
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifndef GENERATING_DOCUMENTATION
|
#ifndef BOOST_STATIC_STRING_DOCS
|
||||||
BOOST_STATIC_STRING_CPP14_CONSTEXPR
|
BOOST_STATIC_STRING_CPP14_CONSTEXPR
|
||||||
basic_static_string&
|
basic_static_string&
|
||||||
replace(
|
replace(
|
||||||
@ -2671,7 +2704,7 @@ public:
|
|||||||
return replace_unchecked(pos1, n1, str.data() + pos2, str.capped_length(pos2, n2));
|
return replace_unchecked(pos1, n1, str.data() + pos2, str.capped_length(pos2, n2));
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifndef GENERATING_DOCUMENTATION
|
#ifndef BOOST_STATIC_STRING_DOCS
|
||||||
BOOST_STATIC_STRING_CPP14_CONSTEXPR
|
BOOST_STATIC_STRING_CPP14_CONSTEXPR
|
||||||
basic_static_string&
|
basic_static_string&
|
||||||
replace(
|
replace(
|
||||||
@ -2716,7 +2749,7 @@ public:
|
|||||||
@throw std::out_of_range `pos1 > size()`
|
@throw std::out_of_range `pos1 > size()`
|
||||||
*/
|
*/
|
||||||
template<typename T
|
template<typename T
|
||||||
#ifndef GENERATING_DOCUMENTATION
|
#ifndef BOOST_STATIC_STRING_DOCS
|
||||||
, typename = detail::enable_if_viewable_t<T, CharT, Traits>
|
, typename = detail::enable_if_viewable_t<T, CharT, Traits>
|
||||||
#endif
|
#endif
|
||||||
>
|
>
|
||||||
@ -2766,7 +2799,7 @@ public:
|
|||||||
@throw std::out_of_range `pos2 > sv.size()`
|
@throw std::out_of_range `pos2 > sv.size()`
|
||||||
*/
|
*/
|
||||||
template<typename T
|
template<typename T
|
||||||
#ifndef GENERATING_DOCUMENTATION
|
#ifndef BOOST_STATIC_STRING_DOCS
|
||||||
, typename = detail::enable_if_viewable_t<T, CharT, Traits>
|
, typename = detail::enable_if_viewable_t<T, CharT, Traits>
|
||||||
#endif
|
#endif
|
||||||
>
|
>
|
||||||
@ -2927,7 +2960,7 @@ public:
|
|||||||
return replace_unchecked(i1, i2, str.data(), str.size());
|
return replace_unchecked(i1, i2, str.data(), str.size());
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifndef GENERATING_DOCUMENTATION
|
#ifndef BOOST_STATIC_STRING_DOCS
|
||||||
BOOST_STATIC_STRING_CPP14_CONSTEXPR
|
BOOST_STATIC_STRING_CPP14_CONSTEXPR
|
||||||
basic_static_string&
|
basic_static_string&
|
||||||
replace(
|
replace(
|
||||||
@ -2974,7 +3007,7 @@ public:
|
|||||||
@throw std::length_error `size() + (sv.size() - std::distance(i1, i2)) > max_size()`
|
@throw std::length_error `size() + (sv.size() - std::distance(i1, i2)) > max_size()`
|
||||||
*/
|
*/
|
||||||
template<typename T
|
template<typename T
|
||||||
#ifndef GENERATING_DOCUMENTATION
|
#ifndef BOOST_STATIC_STRING_DOCS
|
||||||
, typename = detail::enable_if_viewable_t<T, CharT, Traits>
|
, typename = detail::enable_if_viewable_t<T, CharT, Traits>
|
||||||
#endif
|
#endif
|
||||||
>
|
>
|
||||||
@ -3137,7 +3170,7 @@ public:
|
|||||||
*/
|
*/
|
||||||
template<typename InputIterator>
|
template<typename InputIterator>
|
||||||
BOOST_STATIC_STRING_CPP14_CONSTEXPR
|
BOOST_STATIC_STRING_CPP14_CONSTEXPR
|
||||||
#ifdef GENERATING_DOCUMENTATION
|
#ifdef BOOST_STATIC_STRING_DOCS
|
||||||
basic_static_string&
|
basic_static_string&
|
||||||
#else
|
#else
|
||||||
typename std::enable_if<
|
typename std::enable_if<
|
||||||
@ -3153,7 +3186,7 @@ public:
|
|||||||
InputIterator j1,
|
InputIterator j1,
|
||||||
InputIterator j2);
|
InputIterator j2);
|
||||||
|
|
||||||
#ifndef GENERATING_DOCUMENTATION
|
#ifndef BOOST_STATIC_STRING_DOCS
|
||||||
template<typename ForwardIterator>
|
template<typename ForwardIterator>
|
||||||
BOOST_STATIC_STRING_CPP14_CONSTEXPR
|
BOOST_STATIC_STRING_CPP14_CONSTEXPR
|
||||||
typename std::enable_if<
|
typename std::enable_if<
|
||||||
@ -3237,7 +3270,7 @@ public:
|
|||||||
for this parameter is `0`.
|
for this parameter is `0`.
|
||||||
*/
|
*/
|
||||||
template<typename T
|
template<typename T
|
||||||
#ifndef GENERATING_DOCUMENTATION
|
#ifndef BOOST_STATIC_STRING_DOCS
|
||||||
, typename = detail::enable_if_viewable_t<T, CharT, Traits>
|
, typename = detail::enable_if_viewable_t<T, CharT, Traits>
|
||||||
#endif
|
#endif
|
||||||
>
|
>
|
||||||
@ -3390,7 +3423,7 @@ public:
|
|||||||
for this parameter is @ref npos.
|
for this parameter is @ref npos.
|
||||||
*/
|
*/
|
||||||
template<typename T
|
template<typename T
|
||||||
#ifndef GENERATING_DOCUMENTATION
|
#ifndef BOOST_STATIC_STRING_DOCS
|
||||||
, typename = detail::enable_if_viewable_t<T, CharT, Traits>
|
, typename = detail::enable_if_viewable_t<T, CharT, Traits>
|
||||||
#endif
|
#endif
|
||||||
>
|
>
|
||||||
@ -3538,7 +3571,7 @@ public:
|
|||||||
for this parameter is `0`.
|
for this parameter is `0`.
|
||||||
*/
|
*/
|
||||||
template<typename T
|
template<typename T
|
||||||
#ifndef GENERATING_DOCUMENTATION
|
#ifndef BOOST_STATIC_STRING_DOCS
|
||||||
, typename = detail::enable_if_viewable_t<T, CharT, Traits>
|
, typename = detail::enable_if_viewable_t<T, CharT, Traits>
|
||||||
#endif
|
#endif
|
||||||
>
|
>
|
||||||
@ -3681,7 +3714,7 @@ public:
|
|||||||
for this parameter is @ref npos.
|
for this parameter is @ref npos.
|
||||||
*/
|
*/
|
||||||
template<typename T
|
template<typename T
|
||||||
#ifndef GENERATING_DOCUMENTATION
|
#ifndef BOOST_STATIC_STRING_DOCS
|
||||||
, typename = detail::enable_if_viewable_t<T, CharT, Traits>
|
, typename = detail::enable_if_viewable_t<T, CharT, Traits>
|
||||||
#endif
|
#endif
|
||||||
>
|
>
|
||||||
@ -3823,7 +3856,7 @@ public:
|
|||||||
for this parameter is `0`.
|
for this parameter is `0`.
|
||||||
*/
|
*/
|
||||||
template<typename T
|
template<typename T
|
||||||
#ifndef GENERATING_DOCUMENTATION
|
#ifndef BOOST_STATIC_STRING_DOCS
|
||||||
, typename = detail::enable_if_viewable_t<T, CharT, Traits>
|
, typename = detail::enable_if_viewable_t<T, CharT, Traits>
|
||||||
#endif
|
#endif
|
||||||
>
|
>
|
||||||
@ -3964,7 +3997,7 @@ public:
|
|||||||
for this parameter is @ref npos.
|
for this parameter is @ref npos.
|
||||||
*/
|
*/
|
||||||
template<typename T
|
template<typename T
|
||||||
#ifndef GENERATING_DOCUMENTATION
|
#ifndef BOOST_STATIC_STRING_DOCS
|
||||||
, typename = detail::enable_if_viewable_t<T, CharT, Traits>
|
, typename = detail::enable_if_viewable_t<T, CharT, Traits>
|
||||||
#endif
|
#endif
|
||||||
>
|
>
|
||||||
@ -4800,8 +4833,18 @@ hash_value(
|
|||||||
return boost::hash_range(str.begin(), str.end());
|
return boost::hash_range(str.begin(), str.end());
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
} // static_string
|
} // static_string
|
||||||
|
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
//
|
||||||
|
// using Declarations
|
||||||
|
//
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
using static_strings::static_string;
|
||||||
|
using static_strings::static_wstring;
|
||||||
|
using static_strings::static_u16string;
|
||||||
|
using static_strings::static_u32string;
|
||||||
} // boost
|
} // boost
|
||||||
|
|
||||||
/// std::hash partial specialization for basic_static_string
|
/// std::hash partial specialization for basic_static_string
|
||||||
@ -4809,22 +4852,22 @@ namespace std {
|
|||||||
|
|
||||||
template<std::size_t N, typename CharT, typename Traits>
|
template<std::size_t N, typename CharT, typename Traits>
|
||||||
struct hash<
|
struct hash<
|
||||||
#ifdef GENERATING_DOCUMENTATION
|
#ifdef BOOST_STATIC_STRING_DOCS
|
||||||
basic_static_string
|
basic_static_string
|
||||||
#else
|
#else
|
||||||
boost::static_string::basic_static_string<N, CharT, Traits>
|
boost::static_strings::basic_static_string<N, CharT, Traits>
|
||||||
#endif
|
#endif
|
||||||
>
|
>
|
||||||
{
|
{
|
||||||
std::size_t
|
std::size_t
|
||||||
operator()(
|
operator()(
|
||||||
const boost::static_string::basic_static_string<N, CharT, Traits>& str) const noexcept
|
const boost::static_strings::basic_static_string<N, CharT, Traits>& str) const noexcept
|
||||||
{
|
{
|
||||||
#ifndef BOOST_STATIC_STRING_STANDALONE
|
#ifndef BOOST_STATIC_STRING_STANDALONE
|
||||||
return boost::hash_range(str.begin(), str.end());
|
return boost::hash_range(str.begin(), str.end());
|
||||||
#else
|
#else
|
||||||
using view_type = typename
|
using view_type = typename
|
||||||
boost::static_string::basic_string_view<CharT, Traits>;
|
boost::static_strings::basic_string_view<CharT, Traits>;
|
||||||
return std::hash<view_type>()(view_type(str.data(), str.size()));
|
return std::hash<view_type>()(view_type(str.data(), str.size()));
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
@ -4837,9 +4880,9 @@ struct hash<
|
|||||||
//
|
//
|
||||||
//--------------------------------------------------------------------------
|
//--------------------------------------------------------------------------
|
||||||
|
|
||||||
#ifndef GENERATING_DOCUMENTATION
|
#ifndef BOOST_STATIC_STRING_DOCS
|
||||||
namespace boost {
|
namespace boost {
|
||||||
namespace static_string {
|
namespace static_strings {
|
||||||
|
|
||||||
template<std::size_t N, typename CharT, typename Traits>
|
template<std::size_t N, typename CharT, typename Traits>
|
||||||
BOOST_STATIC_STRING_CPP14_CONSTEXPR
|
BOOST_STATIC_STRING_CPP14_CONSTEXPR
|
||||||
|
Reference in New Issue
Block a user