forked from boostorg/static_string
Consistent whitespace
This commit is contained in:
@ -34,16 +34,20 @@ class basic_static_string;
|
|||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
template<std::size_t N>
|
template<std::size_t N>
|
||||||
using static_string = basic_static_string<N, char, std::char_traits<char>>;
|
using static_string =
|
||||||
|
basic_static_string<N, char, std::char_traits<char>>;
|
||||||
|
|
||||||
template<std::size_t N>
|
template<std::size_t N>
|
||||||
using static_wstring = basic_static_string<N, wchar_t, std::char_traits<wchar_t>>;
|
using static_wstring =
|
||||||
|
basic_static_string<N, wchar_t, std::char_traits<wchar_t>>;
|
||||||
|
|
||||||
template<std::size_t N>
|
template<std::size_t N>
|
||||||
using static_u16string = basic_static_string<N, char16_t, std::char_traits<char16_t>>;
|
using static_u16string =
|
||||||
|
basic_static_string<N, char16_t, std::char_traits<char16_t>>;
|
||||||
|
|
||||||
template<std::size_t N>
|
template<std::size_t N>
|
||||||
using static_u32string = basic_static_string<N, char32_t, std::char_traits<char32_t>>;
|
using static_u32string =
|
||||||
|
basic_static_string<N, char32_t, std::char_traits<char32_t>>;
|
||||||
|
|
||||||
//--------------------------------------------------------------------------
|
//--------------------------------------------------------------------------
|
||||||
//
|
//
|
||||||
@ -137,7 +141,9 @@ struct is_subtractable<T, void_t<decltype(std::declval<T&>() - std::declval<T&>(
|
|||||||
: std::true_type { };
|
: std::true_type { };
|
||||||
|
|
||||||
// constexpr distance for c++14
|
// constexpr distance for c++14
|
||||||
template<typename ForwardIt, typename std::enable_if<!is_subtractable<ForwardIt>::value>::type* = nullptr>
|
template<
|
||||||
|
typename ForwardIt,
|
||||||
|
typename std::enable_if<!is_subtractable<ForwardIt>::value>::type* = nullptr>
|
||||||
BOOST_STATIC_STRING_CPP14_CONSTEXPR
|
BOOST_STATIC_STRING_CPP14_CONSTEXPR
|
||||||
std::size_t
|
std::size_t
|
||||||
distance(ForwardIt first, ForwardIt last)
|
distance(ForwardIt first, ForwardIt last)
|
||||||
@ -147,7 +153,9 @@ distance(ForwardIt first, ForwardIt last)
|
|||||||
return dist;
|
return dist;
|
||||||
}
|
}
|
||||||
|
|
||||||
template<typename RandomIt, typename std::enable_if<is_subtractable<RandomIt>::value>::type* = nullptr>
|
template<
|
||||||
|
typename RandomIt,
|
||||||
|
typename std::enable_if<is_subtractable<RandomIt>::value>::type* = nullptr>
|
||||||
BOOST_STATIC_STRING_CPP14_CONSTEXPR
|
BOOST_STATIC_STRING_CPP14_CONSTEXPR
|
||||||
std::size_t
|
std::size_t
|
||||||
distance(RandomIt first, RandomIt last)
|
distance(RandomIt first, RandomIt last)
|
||||||
@ -159,7 +167,10 @@ distance(RandomIt first, RandomIt last)
|
|||||||
template<typename Traits, typename InputIt, typename CharT>
|
template<typename Traits, typename InputIt, typename CharT>
|
||||||
BOOST_STATIC_STRING_CPP14_CONSTEXPR
|
BOOST_STATIC_STRING_CPP14_CONSTEXPR
|
||||||
void
|
void
|
||||||
copy_with_traits(InputIt first, InputIt last, CharT* out)
|
copy_with_traits(
|
||||||
|
InputIt first,
|
||||||
|
InputIt last,
|
||||||
|
CharT* out)
|
||||||
{
|
{
|
||||||
for (; first != last; ++first, ++out)
|
for (; first != last; ++first, ++out)
|
||||||
Traits::assign(*out, *first);
|
Traits::assign(*out, *first);
|
||||||
@ -274,8 +285,10 @@ BOOST_STATIC_STRING_CPP14_CONSTEXPR
|
|||||||
inline
|
inline
|
||||||
int
|
int
|
||||||
lexicographical_compare(
|
lexicographical_compare(
|
||||||
CharT const* s1, std::size_t n1,
|
CharT const* s1,
|
||||||
CharT const* s2, std::size_t n2) noexcept
|
std::size_t n1,
|
||||||
|
CharT const* s2,
|
||||||
|
std::size_t n2) noexcept
|
||||||
{
|
{
|
||||||
if(n1 < n2)
|
if(n1 < n2)
|
||||||
return Traits::compare(
|
return Traits::compare(
|
||||||
@ -292,7 +305,8 @@ inline
|
|||||||
int
|
int
|
||||||
lexicographical_compare(
|
lexicographical_compare(
|
||||||
basic_string_view<CharT, Traits> s1,
|
basic_string_view<CharT, Traits> s1,
|
||||||
CharT const* s2, std::size_t n2) noexcept
|
CharT const* s2,
|
||||||
|
std::size_t n2) noexcept
|
||||||
{
|
{
|
||||||
return detail::lexicographical_compare<
|
return detail::lexicographical_compare<
|
||||||
CharT, Traits>(s1.data(), s1.size(), s2, n2);
|
CharT, Traits>(s1.data(), s1.size(), s2, n2);
|
||||||
@ -304,7 +318,8 @@ inline
|
|||||||
int
|
int
|
||||||
lexicographical_compare(
|
lexicographical_compare(
|
||||||
const basic_static_string<N, CharT, Traits>& s1,
|
const basic_static_string<N, CharT, Traits>& s1,
|
||||||
CharT const* s2, std::size_t n2) noexcept
|
CharT const* s2,
|
||||||
|
std::size_t n2) noexcept
|
||||||
{
|
{
|
||||||
return detail::lexicographical_compare<
|
return detail::lexicographical_compare<
|
||||||
CharT, Traits>(s1.data(), s1.size(), s2, n2);
|
CharT, Traits>(s1.data(), s1.size(), s2, n2);
|
||||||
@ -338,7 +353,9 @@ template<typename Traits, typename Integer>
|
|||||||
inline
|
inline
|
||||||
char*
|
char*
|
||||||
integer_to_string(
|
integer_to_string(
|
||||||
char* str_end, Integer value, std::true_type) noexcept
|
char* str_end,
|
||||||
|
Integer value,
|
||||||
|
std::true_type) noexcept
|
||||||
{
|
{
|
||||||
if (value == 0)
|
if (value == 0)
|
||||||
{
|
{
|
||||||
@ -362,7 +379,9 @@ template<typename Traits, typename Integer>
|
|||||||
inline
|
inline
|
||||||
char*
|
char*
|
||||||
integer_to_string(
|
integer_to_string(
|
||||||
char* str_end, Integer value, std::false_type) noexcept
|
char* str_end,
|
||||||
|
Integer value,
|
||||||
|
std::false_type) noexcept
|
||||||
{
|
{
|
||||||
if (value == 0)
|
if (value == 0)
|
||||||
{
|
{
|
||||||
@ -378,7 +397,9 @@ template<typename Traits, typename Integer>
|
|||||||
inline
|
inline
|
||||||
wchar_t*
|
wchar_t*
|
||||||
integer_to_wstring(
|
integer_to_wstring(
|
||||||
wchar_t* str_end, Integer value, std::true_type) noexcept
|
wchar_t* str_end,
|
||||||
|
Integer value,
|
||||||
|
std::true_type) noexcept
|
||||||
{
|
{
|
||||||
if (value == 0)
|
if (value == 0)
|
||||||
{
|
{
|
||||||
@ -402,7 +423,9 @@ template<typename Traits, typename Integer>
|
|||||||
inline
|
inline
|
||||||
wchar_t*
|
wchar_t*
|
||||||
integer_to_wstring(
|
integer_to_wstring(
|
||||||
wchar_t* str_end, Integer value, std::false_type) noexcept
|
wchar_t* str_end,
|
||||||
|
Integer value,
|
||||||
|
std::false_type) noexcept
|
||||||
{
|
{
|
||||||
if (value == 0)
|
if (value == 0)
|
||||||
{
|
{
|
||||||
@ -486,10 +509,7 @@ to_static_wstring_float_impl(long double value) noexcept
|
|||||||
return static_wstring<N>(buffer);
|
return static_wstring<N>(buffer);
|
||||||
}
|
}
|
||||||
|
|
||||||
template<
|
template<typename Traits, typename CharT, typename ForwardIterator>
|
||||||
typename Traits,
|
|
||||||
typename CharT,
|
|
||||||
typename ForwardIterator>
|
|
||||||
BOOST_STATIC_STRING_CPP14_CONSTEXPR
|
BOOST_STATIC_STRING_CPP14_CONSTEXPR
|
||||||
inline
|
inline
|
||||||
ForwardIterator
|
ForwardIterator
|
||||||
@ -506,10 +526,7 @@ find_not_of(
|
|||||||
}
|
}
|
||||||
|
|
||||||
// constexpr search for C++14
|
// constexpr search for C++14
|
||||||
template<
|
template<typename ForwardIt1, typename ForwardIt2, typename BinaryPredicate>
|
||||||
typename ForwardIt1,
|
|
||||||
typename ForwardIt2,
|
|
||||||
typename BinaryPredicate>
|
|
||||||
BOOST_STATIC_STRING_CPP14_CONSTEXPR
|
BOOST_STATIC_STRING_CPP14_CONSTEXPR
|
||||||
inline
|
inline
|
||||||
ForwardIt1
|
ForwardIt1
|
||||||
@ -535,10 +552,7 @@ search(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
template<
|
template<typename InputIt, typename ForwardIt, typename BinaryPredicate>
|
||||||
typename InputIt,
|
|
||||||
typename ForwardIt,
|
|
||||||
typename BinaryPredicate>
|
|
||||||
BOOST_STATIC_STRING_CPP14_CONSTEXPR
|
BOOST_STATIC_STRING_CPP14_CONSTEXPR
|
||||||
inline
|
inline
|
||||||
InputIt
|
InputIt
|
||||||
@ -618,9 +632,7 @@ ptr_in_range(
|
|||||||
|
|
||||||
@see to_static_string
|
@see to_static_string
|
||||||
*/
|
*/
|
||||||
template<
|
template<std::size_t N, typename CharT,
|
||||||
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 GENERATING_DOCUMENTATION
|
||||||
@ -736,8 +748,7 @@ public:
|
|||||||
Construct from a null terminated string.
|
Construct from a null terminated string.
|
||||||
*/
|
*/
|
||||||
BOOST_STATIC_STRING_CPP14_CONSTEXPR
|
BOOST_STATIC_STRING_CPP14_CONSTEXPR
|
||||||
basic_static_string(
|
basic_static_string(CharT const* s);
|
||||||
CharT const* s);
|
|
||||||
|
|
||||||
/** Construct a `basic_static_string`.
|
/** Construct a `basic_static_string`.
|
||||||
|
|
||||||
@ -760,8 +771,7 @@ public:
|
|||||||
Copy constructor.
|
Copy constructor.
|
||||||
*/
|
*/
|
||||||
BOOST_STATIC_STRING_CPP14_CONSTEXPR
|
BOOST_STATIC_STRING_CPP14_CONSTEXPR
|
||||||
basic_static_string(
|
basic_static_string(basic_static_string const& other) noexcept;
|
||||||
basic_static_string const& other) noexcept;
|
|
||||||
|
|
||||||
/** Construct a `basic_static_string`.
|
/** Construct a `basic_static_string`.
|
||||||
|
|
||||||
@ -777,8 +787,7 @@ public:
|
|||||||
Construct from an initializer list
|
Construct from an initializer list
|
||||||
*/
|
*/
|
||||||
BOOST_STATIC_STRING_CPP14_CONSTEXPR
|
BOOST_STATIC_STRING_CPP14_CONSTEXPR
|
||||||
basic_static_string(
|
basic_static_string(std::initializer_list<CharT> init);
|
||||||
std::initializer_list<CharT> init);
|
|
||||||
|
|
||||||
/** Construct a `basic_static_string`.
|
/** Construct a `basic_static_string`.
|
||||||
|
|
||||||
@ -786,8 +795,7 @@ public:
|
|||||||
*/
|
*/
|
||||||
explicit
|
explicit
|
||||||
BOOST_STATIC_STRING_CPP14_CONSTEXPR
|
BOOST_STATIC_STRING_CPP14_CONSTEXPR
|
||||||
basic_static_string(
|
basic_static_string(string_view_type sv);
|
||||||
string_view_type sv);
|
|
||||||
|
|
||||||
/** Construct a `basic_static_string`.
|
/** Construct a `basic_static_string`.
|
||||||
|
|
||||||
@ -822,8 +830,7 @@ public:
|
|||||||
*/
|
*/
|
||||||
BOOST_STATIC_STRING_CPP14_CONSTEXPR
|
BOOST_STATIC_STRING_CPP14_CONSTEXPR
|
||||||
basic_static_string&
|
basic_static_string&
|
||||||
operator=(
|
operator=(basic_static_string const& s) noexcept
|
||||||
basic_static_string const& s) noexcept
|
|
||||||
{
|
{
|
||||||
return assign(s);
|
return assign(s);
|
||||||
}
|
}
|
||||||
@ -837,8 +844,7 @@ public:
|
|||||||
template<std::size_t M>
|
template<std::size_t M>
|
||||||
BOOST_STATIC_STRING_CPP14_CONSTEXPR
|
BOOST_STATIC_STRING_CPP14_CONSTEXPR
|
||||||
basic_static_string&
|
basic_static_string&
|
||||||
operator=(
|
operator=(basic_static_string<M, CharT, Traits> const& s)
|
||||||
basic_static_string<M, CharT, Traits> const& s)
|
|
||||||
{
|
{
|
||||||
return assign(s);
|
return assign(s);
|
||||||
}
|
}
|
||||||
@ -851,8 +857,7 @@ public:
|
|||||||
*/
|
*/
|
||||||
BOOST_STATIC_STRING_CPP14_CONSTEXPR
|
BOOST_STATIC_STRING_CPP14_CONSTEXPR
|
||||||
basic_static_string&
|
basic_static_string&
|
||||||
operator=(
|
operator=(CharT const* s)
|
||||||
CharT const* s)
|
|
||||||
{
|
{
|
||||||
return assign(s);
|
return assign(s);
|
||||||
}
|
}
|
||||||
@ -863,8 +868,7 @@ public:
|
|||||||
*/
|
*/
|
||||||
BOOST_STATIC_STRING_CPP14_CONSTEXPR
|
BOOST_STATIC_STRING_CPP14_CONSTEXPR
|
||||||
basic_static_string&
|
basic_static_string&
|
||||||
operator=(
|
operator=(CharT ch)
|
||||||
CharT ch)
|
|
||||||
{
|
{
|
||||||
return assign_char(ch,
|
return assign_char(ch,
|
||||||
std::integral_constant<bool, (N > 0)>{});
|
std::integral_constant<bool, (N > 0)>{});
|
||||||
@ -876,8 +880,7 @@ public:
|
|||||||
*/
|
*/
|
||||||
BOOST_STATIC_STRING_CPP14_CONSTEXPR
|
BOOST_STATIC_STRING_CPP14_CONSTEXPR
|
||||||
basic_static_string&
|
basic_static_string&
|
||||||
operator=(
|
operator=(std::initializer_list<CharT> ilist)
|
||||||
std::initializer_list<CharT> ilist)
|
|
||||||
{
|
{
|
||||||
return assign(ilist);
|
return assign(ilist);
|
||||||
}
|
}
|
||||||
@ -888,8 +891,7 @@ public:
|
|||||||
*/
|
*/
|
||||||
BOOST_STATIC_STRING_CPP14_CONSTEXPR
|
BOOST_STATIC_STRING_CPP14_CONSTEXPR
|
||||||
basic_static_string&
|
basic_static_string&
|
||||||
operator=(
|
operator=(string_view_type sv)
|
||||||
string_view_type sv)
|
|
||||||
{
|
{
|
||||||
return assign(sv);
|
return assign(sv);
|
||||||
}
|
}
|
||||||
@ -915,8 +917,7 @@ public:
|
|||||||
*/
|
*/
|
||||||
BOOST_STATIC_STRING_CPP14_CONSTEXPR
|
BOOST_STATIC_STRING_CPP14_CONSTEXPR
|
||||||
basic_static_string&
|
basic_static_string&
|
||||||
assign(
|
assign(basic_static_string const& s) noexcept;
|
||||||
basic_static_string const& s) noexcept;
|
|
||||||
|
|
||||||
/** Replace the contents.
|
/** Replace the contents.
|
||||||
|
|
||||||
@ -928,8 +929,7 @@ public:
|
|||||||
template<std::size_t M>
|
template<std::size_t M>
|
||||||
BOOST_STATIC_STRING_CPP14_CONSTEXPR
|
BOOST_STATIC_STRING_CPP14_CONSTEXPR
|
||||||
basic_static_string&
|
basic_static_string&
|
||||||
assign(
|
assign(basic_static_string<M, CharT, Traits> const& s)
|
||||||
basic_static_string<M, CharT, Traits> const& s)
|
|
||||||
{
|
{
|
||||||
// VFALCO this could come in two flavors,
|
// VFALCO this could come in two flavors,
|
||||||
// N>M and N<M, and skip the exception
|
// N>M and N<M, and skip the exception
|
||||||
@ -974,8 +974,7 @@ public:
|
|||||||
*/
|
*/
|
||||||
BOOST_STATIC_STRING_CPP14_CONSTEXPR
|
BOOST_STATIC_STRING_CPP14_CONSTEXPR
|
||||||
basic_static_string&
|
basic_static_string&
|
||||||
assign(
|
assign(CharT const* s)
|
||||||
CharT const* s)
|
|
||||||
{
|
{
|
||||||
return assign(s, Traits::length(s));
|
return assign(s, Traits::length(s));
|
||||||
}
|
}
|
||||||
@ -1028,7 +1027,7 @@ public:
|
|||||||
#else
|
#else
|
||||||
typename std::enable_if<
|
typename std::enable_if<
|
||||||
std::is_convertible<T, string_view_type>::value &&
|
std::is_convertible<T, string_view_type>::value &&
|
||||||
! std::is_convertible<T, CharT const*>::value,
|
!std::is_convertible<T, CharT const*>::value,
|
||||||
basic_static_string&>::type
|
basic_static_string&>::type
|
||||||
#endif
|
#endif
|
||||||
assign(T const& t)
|
assign(T const& t)
|
||||||
@ -1056,7 +1055,7 @@ public:
|
|||||||
#else
|
#else
|
||||||
typename std::enable_if<
|
typename std::enable_if<
|
||||||
std::is_convertible<T, string_view_type>::value &&
|
std::is_convertible<T, string_view_type>::value &&
|
||||||
! std::is_convertible<T, CharT const*>::value,
|
!std::is_convertible<T, CharT const*>::value,
|
||||||
basic_static_string&>::type
|
basic_static_string&>::type
|
||||||
#endif
|
#endif
|
||||||
assign(
|
assign(
|
||||||
@ -1357,9 +1356,7 @@ public:
|
|||||||
*/
|
*/
|
||||||
BOOST_STATIC_STRING_CPP14_CONSTEXPR
|
BOOST_STATIC_STRING_CPP14_CONSTEXPR
|
||||||
void
|
void
|
||||||
shrink_to_fit() noexcept
|
shrink_to_fit() noexcept { }
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
//--------------------------------------------------------------------------
|
//--------------------------------------------------------------------------
|
||||||
//
|
//
|
||||||
@ -1555,8 +1552,7 @@ public:
|
|||||||
size_type count = npos)
|
size_type count = npos)
|
||||||
{
|
{
|
||||||
BOOST_STATIC_STRING_THROW_IF(
|
BOOST_STATIC_STRING_THROW_IF(
|
||||||
index_str > str.size(), std::out_of_range{"index_str > str.size()"}
|
index_str > str.size(), std::out_of_range{"index_str > str.size()"});
|
||||||
);
|
|
||||||
return insert_unchecked(index, str.data() + index_str, (std::min)(count, str.size() - index_str));
|
return insert_unchecked(index, str.data() + index_str, (std::min)(count, str.size() - index_str));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1570,8 +1566,7 @@ public:
|
|||||||
size_type count = npos)
|
size_type count = npos)
|
||||||
{
|
{
|
||||||
BOOST_STATIC_STRING_THROW_IF(
|
BOOST_STATIC_STRING_THROW_IF(
|
||||||
index_str > str.size(), std::out_of_range{"index_str > str.size()"}
|
index_str > str.size(), std::out_of_range{"index_str > str.size()"});
|
||||||
);
|
|
||||||
return insert(index, str.data() + index_str, (std::min)(count, str.size() - index_str));
|
return insert(index, str.data() + index_str, (std::min)(count, str.size() - index_str));
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
@ -1684,7 +1679,7 @@ public:
|
|||||||
typename std::enable_if<
|
typename std::enable_if<
|
||||||
detail::is_input_iterator<
|
detail::is_input_iterator<
|
||||||
InputIterator>::value &&
|
InputIterator>::value &&
|
||||||
! detail::is_forward_iterator<
|
!detail::is_forward_iterator<
|
||||||
InputIterator>::value, iterator>::type
|
InputIterator>::value, iterator>::type
|
||||||
#endif
|
#endif
|
||||||
insert(
|
insert(
|
||||||
@ -1779,7 +1774,7 @@ public:
|
|||||||
typename std::enable_if<
|
typename std::enable_if<
|
||||||
std::is_convertible<
|
std::is_convertible<
|
||||||
T const&, string_view_type>::value &&
|
T const&, string_view_type>::value &&
|
||||||
! std::is_convertible<
|
!std::is_convertible<
|
||||||
T const&, CharT const*>::value,
|
T const&, CharT const*>::value,
|
||||||
basic_static_string&>::type
|
basic_static_string&>::type
|
||||||
#endif
|
#endif
|
||||||
@ -1829,7 +1824,7 @@ public:
|
|||||||
#else
|
#else
|
||||||
typename std::enable_if<
|
typename std::enable_if<
|
||||||
std::is_convertible<T const&, string_view_type>::value &&
|
std::is_convertible<T const&, string_view_type>::value &&
|
||||||
! std::is_convertible<T const&, CharT const*>::value,
|
!std::is_convertible<T const&, CharT const*>::value,
|
||||||
basic_static_string&>::type
|
basic_static_string&>::type
|
||||||
#endif
|
#endif
|
||||||
insert(
|
insert(
|
||||||
@ -1878,8 +1873,7 @@ public:
|
|||||||
*/
|
*/
|
||||||
BOOST_STATIC_STRING_CPP14_CONSTEXPR
|
BOOST_STATIC_STRING_CPP14_CONSTEXPR
|
||||||
void
|
void
|
||||||
push_back(
|
push_back(CharT ch);
|
||||||
CharT ch);
|
|
||||||
|
|
||||||
/** Removes the last character from the string
|
/** Removes the last character from the string
|
||||||
|
|
||||||
@ -2046,7 +2040,7 @@ public:
|
|||||||
typename std::enable_if<
|
typename std::enable_if<
|
||||||
std::is_convertible<
|
std::is_convertible<
|
||||||
T const&, string_view_type>::value &&
|
T const&, string_view_type>::value &&
|
||||||
! std::is_convertible<
|
!std::is_convertible<
|
||||||
T const&, CharT const*>::value,
|
T const&, CharT const*>::value,
|
||||||
basic_static_string&>::type
|
basic_static_string&>::type
|
||||||
#endif
|
#endif
|
||||||
@ -2077,7 +2071,7 @@ public:
|
|||||||
typename std::enable_if<
|
typename std::enable_if<
|
||||||
std::is_convertible<
|
std::is_convertible<
|
||||||
T const&, string_view_type>::value &&
|
T const&, string_view_type>::value &&
|
||||||
! std::is_convertible<
|
!std::is_convertible<
|
||||||
T const&, CharT const*>::value,
|
T const&, CharT const*>::value,
|
||||||
basic_static_string&>::type
|
basic_static_string&>::type
|
||||||
#endif
|
#endif
|
||||||
@ -2170,7 +2164,7 @@ public:
|
|||||||
#else
|
#else
|
||||||
typename std::enable_if<
|
typename std::enable_if<
|
||||||
std::is_convertible<T, string_view_type>::value &&
|
std::is_convertible<T, string_view_type>::value &&
|
||||||
! std::is_convertible<T, CharT const*>::value,
|
!std::is_convertible<T, CharT const*>::value,
|
||||||
basic_static_string&>::type
|
basic_static_string&>::type
|
||||||
#endif
|
#endif
|
||||||
operator+=(
|
operator+=(
|
||||||
@ -2317,7 +2311,7 @@ public:
|
|||||||
#else
|
#else
|
||||||
typename std::enable_if<
|
typename std::enable_if<
|
||||||
std::is_convertible<T const&, string_view_type>::value &&
|
std::is_convertible<T const&, string_view_type>::value &&
|
||||||
! std::is_convertible<T const&, CharT const*>::value,
|
!std::is_convertible<T const&, CharT const*>::value,
|
||||||
int>::type
|
int>::type
|
||||||
#endif
|
#endif
|
||||||
compare(
|
compare(
|
||||||
@ -2438,15 +2432,13 @@ public:
|
|||||||
/// Exchange the contents of this string with another.
|
/// Exchange the contents of this string with another.
|
||||||
BOOST_STATIC_STRING_CPP14_CONSTEXPR
|
BOOST_STATIC_STRING_CPP14_CONSTEXPR
|
||||||
void
|
void
|
||||||
swap(
|
swap(basic_static_string& s) noexcept;
|
||||||
basic_static_string& s) noexcept;
|
|
||||||
|
|
||||||
/// Exchange the contents of this string with another.
|
/// Exchange the contents of this string with another.
|
||||||
template<std::size_t M>
|
template<std::size_t M>
|
||||||
BOOST_STATIC_STRING_CPP14_CONSTEXPR
|
BOOST_STATIC_STRING_CPP14_CONSTEXPR
|
||||||
void
|
void
|
||||||
swap(
|
swap(basic_static_string<M, CharT, Traits>& s);
|
||||||
basic_static_string<M, CharT, Traits>& s);
|
|
||||||
|
|
||||||
/** Replace a substring with a string.
|
/** Replace a substring with a string.
|
||||||
|
|
||||||
@ -2540,8 +2532,7 @@ public:
|
|||||||
size_type n2 = npos)
|
size_type n2 = npos)
|
||||||
{
|
{
|
||||||
BOOST_STATIC_STRING_THROW_IF(
|
BOOST_STATIC_STRING_THROW_IF(
|
||||||
pos2 > str.size(), std::out_of_range{"pos2 > str.size()"}
|
pos2 > str.size(), std::out_of_range{"pos2 > str.size()"});
|
||||||
);
|
|
||||||
return replace_unchecked(pos1, n1, str.data() + pos2, (std::min)(n2, str.size() - pos2));
|
return replace_unchecked(pos1, n1, str.data() + pos2, (std::min)(n2, str.size() - pos2));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2556,8 +2547,7 @@ public:
|
|||||||
size_type n2 = npos)
|
size_type n2 = npos)
|
||||||
{
|
{
|
||||||
BOOST_STATIC_STRING_THROW_IF(
|
BOOST_STATIC_STRING_THROW_IF(
|
||||||
pos2 > str.size(), std::out_of_range{"pos2 > str.size()"}
|
pos2 > str.size(), std::out_of_range{"pos2 > str.size()"});
|
||||||
);
|
|
||||||
return replace(pos1, n1, str.data() + pos2, (std::min)(n2, str.size() - pos2));
|
return replace(pos1, n1, str.data() + pos2, (std::min)(n2, str.size() - pos2));
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
@ -2599,7 +2589,7 @@ public:
|
|||||||
#else
|
#else
|
||||||
typename std::enable_if<
|
typename std::enable_if<
|
||||||
std::is_convertible<T, string_view_type>::value &&
|
std::is_convertible<T, string_view_type>::value &&
|
||||||
! std::is_convertible<T, CharT const*>::value,
|
!std::is_convertible<T, CharT const*>::value,
|
||||||
basic_static_string&>::type
|
basic_static_string&>::type
|
||||||
#endif
|
#endif
|
||||||
replace(
|
replace(
|
||||||
@ -2652,7 +2642,7 @@ public:
|
|||||||
#else
|
#else
|
||||||
typename std::enable_if<
|
typename std::enable_if<
|
||||||
std::is_convertible<T, string_view_type>::value &&
|
std::is_convertible<T, string_view_type>::value &&
|
||||||
! std::is_convertible<T, CharT const*>::value,
|
!std::is_convertible<T, CharT const*>::value,
|
||||||
basic_static_string&>::type
|
basic_static_string&>::type
|
||||||
#endif
|
#endif
|
||||||
replace(
|
replace(
|
||||||
@ -2842,7 +2832,7 @@ public:
|
|||||||
#else
|
#else
|
||||||
typename std::enable_if<
|
typename std::enable_if<
|
||||||
std::is_convertible<T, string_view_type>::value &&
|
std::is_convertible<T, string_view_type>::value &&
|
||||||
! std::is_convertible<T, CharT const*>::value,
|
!std::is_convertible<T, CharT const*>::value,
|
||||||
basic_static_string&>::type
|
basic_static_string&>::type
|
||||||
#endif
|
#endif
|
||||||
replace(
|
replace(
|
||||||
@ -3011,7 +3001,7 @@ public:
|
|||||||
typename std::enable_if<
|
typename std::enable_if<
|
||||||
detail::is_input_iterator<
|
detail::is_input_iterator<
|
||||||
InputIterator>::value &&
|
InputIterator>::value &&
|
||||||
! detail::is_forward_iterator<
|
!detail::is_forward_iterator<
|
||||||
InputIterator>::value,
|
InputIterator>::value,
|
||||||
basic_static_string<N, CharT, Traits>&>::type
|
basic_static_string<N, CharT, Traits>&>::type
|
||||||
#endif
|
#endif
|
||||||
@ -3111,13 +3101,13 @@ public:
|
|||||||
#else
|
#else
|
||||||
typename std::enable_if<
|
typename std::enable_if<
|
||||||
std::is_convertible<T, string_view_type>::value &&
|
std::is_convertible<T, string_view_type>::value &&
|
||||||
! std::is_convertible<T, CharT const*>::value,
|
!std::is_convertible<T, CharT const*>::value,
|
||||||
size_type>::type
|
size_type>::type
|
||||||
#endif
|
#endif
|
||||||
find(
|
find(
|
||||||
const T& t,
|
const T& t,
|
||||||
size_type pos = 0) const noexcept(detail::is_nothrow_convertible<const T&,
|
size_type pos = 0) const
|
||||||
string_view_type>::value)
|
noexcept(detail::is_nothrow_convertible<const T&, string_view_type>::value)
|
||||||
{
|
{
|
||||||
string_view_type sv = t;
|
string_view_type sv = t;
|
||||||
return find(sv.data(), pos, sv.size());
|
return find(sv.data(), pos, sv.size());
|
||||||
@ -3267,13 +3257,13 @@ public:
|
|||||||
#else
|
#else
|
||||||
typename std::enable_if<
|
typename std::enable_if<
|
||||||
std::is_convertible<T, string_view_type>::value &&
|
std::is_convertible<T, string_view_type>::value &&
|
||||||
! std::is_convertible<T, CharT const*>::value,
|
!std::is_convertible<T, CharT const*>::value,
|
||||||
size_type>::type
|
size_type>::type
|
||||||
#endif
|
#endif
|
||||||
rfind(
|
rfind(
|
||||||
const T& t,
|
const T& t,
|
||||||
size_type pos = npos) const noexcept(detail::is_nothrow_convertible<const T&,
|
size_type pos = npos) const
|
||||||
string_view_type>::value)
|
noexcept(detail::is_nothrow_convertible<const T&, string_view_type>::value)
|
||||||
{
|
{
|
||||||
string_view_type sv = t;
|
string_view_type sv = t;
|
||||||
return rfind(sv.data(), pos, sv.size());
|
return rfind(sv.data(), pos, sv.size());
|
||||||
@ -3418,13 +3408,13 @@ public:
|
|||||||
#else
|
#else
|
||||||
typename std::enable_if<
|
typename std::enable_if<
|
||||||
std::is_convertible<T, string_view_type>::value &&
|
std::is_convertible<T, string_view_type>::value &&
|
||||||
! std::is_convertible<T, CharT const*>::value,
|
!std::is_convertible<T, CharT const*>::value,
|
||||||
size_type>::type
|
size_type>::type
|
||||||
#endif
|
#endif
|
||||||
find_first_of(
|
find_first_of(
|
||||||
const T& t,
|
const T& t,
|
||||||
size_type pos = 0) const noexcept(detail::is_nothrow_convertible<const T&,
|
size_type pos = 0) const
|
||||||
string_view_type>::value)
|
noexcept(detail::is_nothrow_convertible<const T&, string_view_type>::value)
|
||||||
{
|
{
|
||||||
string_view_type sv = t;
|
string_view_type sv = t;
|
||||||
return find_first_of(sv.data(), pos, sv.size());
|
return find_first_of(sv.data(), pos, sv.size());
|
||||||
@ -3564,13 +3554,13 @@ public:
|
|||||||
#else
|
#else
|
||||||
typename std::enable_if<
|
typename std::enable_if<
|
||||||
std::is_convertible<T, string_view_type>::value &&
|
std::is_convertible<T, string_view_type>::value &&
|
||||||
! std::is_convertible<T, CharT const*>::value,
|
!std::is_convertible<T, CharT const*>::value,
|
||||||
size_type>::type
|
size_type>::type
|
||||||
#endif
|
#endif
|
||||||
find_last_of(
|
find_last_of(
|
||||||
const T& t,
|
const T& t,
|
||||||
size_type pos = npos) const noexcept(detail::is_nothrow_convertible<const T&,
|
size_type pos = npos) const
|
||||||
string_view_type>::value)
|
noexcept(detail::is_nothrow_convertible<const T&, string_view_type>::value)
|
||||||
{
|
{
|
||||||
string_view_type sv = t;
|
string_view_type sv = t;
|
||||||
return find_last_of(sv.data(), pos, sv.size());
|
return find_last_of(sv.data(), pos, sv.size());
|
||||||
@ -3709,13 +3699,13 @@ public:
|
|||||||
#else
|
#else
|
||||||
typename std::enable_if<
|
typename std::enable_if<
|
||||||
std::is_convertible<T, string_view_type>::value &&
|
std::is_convertible<T, string_view_type>::value &&
|
||||||
! std::is_convertible<T, CharT const*>::value,
|
!std::is_convertible<T, CharT const*>::value,
|
||||||
size_type>::type
|
size_type>::type
|
||||||
#endif
|
#endif
|
||||||
find_first_not_of(
|
find_first_not_of(
|
||||||
const T& t,
|
const T& t,
|
||||||
size_type pos = 0) const noexcept(detail::is_nothrow_convertible<const T&,
|
size_type pos = 0) const
|
||||||
string_view_type>::value)
|
noexcept(detail::is_nothrow_convertible<const T&, string_view_type>::value)
|
||||||
{
|
{
|
||||||
string_view_type sv = t;
|
string_view_type sv = t;
|
||||||
return find_first_not_of(sv.data(), pos, sv.size());
|
return find_first_not_of(sv.data(), pos, sv.size());
|
||||||
@ -3853,13 +3843,13 @@ public:
|
|||||||
#else
|
#else
|
||||||
typename std::enable_if<
|
typename std::enable_if<
|
||||||
std::is_convertible<T, string_view_type>::value &&
|
std::is_convertible<T, string_view_type>::value &&
|
||||||
! std::is_convertible<T, CharT const*>::value,
|
!std::is_convertible<T, CharT const*>::value,
|
||||||
size_type>::type
|
size_type>::type
|
||||||
#endif
|
#endif
|
||||||
find_last_not_of(
|
find_last_not_of(
|
||||||
const T& t,
|
const T& t,
|
||||||
size_type pos = npos) const noexcept(detail::is_nothrow_convertible<const T&,
|
size_type pos = npos) const
|
||||||
string_view_type>::value)
|
noexcept(detail::is_nothrow_convertible<const T&, string_view_type>::value)
|
||||||
{
|
{
|
||||||
string_view_type sv = t;
|
string_view_type sv = t;
|
||||||
return find_last_not_of(sv.data(), pos, sv.size());
|
return find_last_not_of(sv.data(), pos, sv.size());
|
||||||
@ -4364,10 +4354,7 @@ operator+(
|
|||||||
//
|
//
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
template<
|
template<std::size_t N, typename CharT, typename Traits>
|
||||||
std::size_t N,
|
|
||||||
typename CharT,
|
|
||||||
typename Traits>
|
|
||||||
BOOST_STATIC_STRING_CPP14_CONSTEXPR
|
BOOST_STATIC_STRING_CPP14_CONSTEXPR
|
||||||
inline
|
inline
|
||||||
void
|
void
|
||||||
@ -4400,7 +4387,8 @@ swap(
|
|||||||
template<std::size_t N, typename CharT, typename Traits>
|
template<std::size_t N, typename CharT, typename Traits>
|
||||||
inline
|
inline
|
||||||
std::basic_ostream<CharT, Traits>&
|
std::basic_ostream<CharT, Traits>&
|
||||||
operator<<(std::basic_ostream<CharT, Traits>& os,
|
operator<<(
|
||||||
|
std::basic_ostream<CharT, Traits>& os,
|
||||||
basic_static_string<N, CharT, Traits> const& s)
|
basic_static_string<N, CharT, Traits> const& s)
|
||||||
{
|
{
|
||||||
return os << basic_string_view<CharT, Traits>(s.data(), s.size());
|
return os << basic_string_view<CharT, Traits>(s.data(), s.size());
|
||||||
@ -4611,7 +4599,6 @@ hash_value(
|
|||||||
/// std::hash partial specialization for basic_static_string
|
/// std::hash partial specialization for basic_static_string
|
||||||
namespace std
|
namespace std
|
||||||
{
|
{
|
||||||
|
|
||||||
template<std::size_t N, typename CharT, typename Traits>
|
template<std::size_t N, typename CharT, typename Traits>
|
||||||
struct hash<
|
struct hash<
|
||||||
#if GENERATING_DOCUMENTATION
|
#if GENERATING_DOCUMENTATION
|
||||||
@ -4667,7 +4654,8 @@ template<std::size_t N, typename CharT, typename Traits>
|
|||||||
template<std::size_t M>
|
template<std::size_t M>
|
||||||
BOOST_STATIC_STRING_CPP14_CONSTEXPR
|
BOOST_STATIC_STRING_CPP14_CONSTEXPR
|
||||||
basic_static_string<N, CharT, Traits>::
|
basic_static_string<N, CharT, Traits>::
|
||||||
basic_static_string(basic_static_string<M, CharT, Traits> const& other,
|
basic_static_string(
|
||||||
|
basic_static_string<M, CharT, Traits> const& other,
|
||||||
size_type pos)
|
size_type pos)
|
||||||
{
|
{
|
||||||
assign(other, pos);
|
assign(other, pos);
|
||||||
@ -4996,7 +4984,7 @@ insert(
|
|||||||
typename std::enable_if<
|
typename std::enable_if<
|
||||||
detail::is_input_iterator<
|
detail::is_input_iterator<
|
||||||
InputIterator>::value &&
|
InputIterator>::value &&
|
||||||
! detail::is_forward_iterator<
|
!detail::is_forward_iterator<
|
||||||
InputIterator>::value, iterator>::type
|
InputIterator>::value, iterator>::type
|
||||||
{
|
{
|
||||||
const auto curr_size = size();
|
const auto curr_size = size();
|
||||||
@ -5211,7 +5199,8 @@ replace(
|
|||||||
size_type pos,
|
size_type pos,
|
||||||
size_type n1,
|
size_type n1,
|
||||||
size_type n2,
|
size_type n2,
|
||||||
CharT c) -> basic_static_string<N, CharT, Traits> &
|
CharT c) ->
|
||||||
|
basic_static_string<N, CharT, Traits>&
|
||||||
{
|
{
|
||||||
const auto curr_size = size();
|
const auto curr_size = size();
|
||||||
const auto curr_data = data();
|
const auto curr_data = data();
|
||||||
@ -5304,7 +5293,7 @@ replace(
|
|||||||
typename std::enable_if<
|
typename std::enable_if<
|
||||||
detail::is_input_iterator<
|
detail::is_input_iterator<
|
||||||
InputIterator>::value &&
|
InputIterator>::value &&
|
||||||
! detail::is_forward_iterator<
|
!detail::is_forward_iterator<
|
||||||
InputIterator>::value,
|
InputIterator>::value,
|
||||||
basic_static_string<N, CharT, Traits>&>::type
|
basic_static_string<N, CharT, Traits>&>::type
|
||||||
{
|
{
|
||||||
@ -5478,7 +5467,7 @@ basic_static_string<N, CharT, Traits>::
|
|||||||
read_back(
|
read_back(
|
||||||
InputIterator first,
|
InputIterator first,
|
||||||
InputIterator last) ->
|
InputIterator last) ->
|
||||||
std::size_t
|
size_type
|
||||||
{
|
{
|
||||||
const auto curr_data = data();
|
const auto curr_data = data();
|
||||||
auto new_size = size();
|
auto new_size = size();
|
||||||
|
Reference in New Issue
Block a user