forked from boostorg/static_string
Chunked docs
This commit is contained in:
@ -174,12 +174,9 @@ boostbook static_string
|
|||||||
static_string_doc
|
static_string_doc
|
||||||
:
|
:
|
||||||
<xsl:param>boost.root=../../../..
|
<xsl:param>boost.root=../../../..
|
||||||
<xsl:param>chapter.autolabel=1
|
<xsl:param>chapter.autolabel=0
|
||||||
<xsl:param>chunk.section.depth=0 # Depth to which sections should be chunked
|
<xsl:param>chunk.section.depth=8 # Depth to which sections should be chunked
|
||||||
<xsl:param>chunk.first.sections=1 # Chunk the first top-level section?
|
<xsl:param>chunk.first.sections=1 # Chunk the first top-level section?
|
||||||
<xsl:param>toc.section.depth=8 # How deep should recursive sections appear in the TOC?
|
|
||||||
<xsl:param>toc.max.depth=8 # How many levels should be created for each TOC?
|
|
||||||
<xsl:param>generate.section.toc.level=8 # Control depth of TOC generation in sections
|
|
||||||
<xsl:param>generate.toc=""
|
<xsl:param>generate.toc=""
|
||||||
<include>../../../tools/boostbook/dtd
|
<include>../../../tools/boostbook/dtd
|
||||||
:
|
:
|
||||||
|
@ -35,18 +35,16 @@
|
|||||||
|
|
||||||
[/-----------------------------------------------------------------------------]
|
[/-----------------------------------------------------------------------------]
|
||||||
|
|
||||||
[section Introduction]
|
[heading Introduction]
|
||||||
|
|
||||||
This library provides a dynamically resizable string of characters with
|
This library provides a dynamically resizable string of characters with
|
||||||
compile-time fixed capacity and contiguous embedded storage in which the
|
compile-time fixed capacity and contiguous embedded storage in which the
|
||||||
characters are placed within the string object itself. Its API closely
|
characters are placed within the string object itself. Its API closely
|
||||||
resembles that of `std::string`
|
resembles that of `std::string`
|
||||||
|
|
||||||
[endsect]
|
|
||||||
|
|
||||||
[/-----------------------------------------------------------------------------]
|
[/-----------------------------------------------------------------------------]
|
||||||
|
|
||||||
[section Motivation]
|
[heading Motivation]
|
||||||
|
|
||||||
A fixed capacity string is useful when:
|
A fixed capacity string is useful when:
|
||||||
|
|
||||||
@ -61,21 +59,17 @@ A fixed capacity string is useful when:
|
|||||||
within the string object itself (e.g. to support `memcpy` for serialization
|
within the string object itself (e.g. to support `memcpy` for serialization
|
||||||
purposes).
|
purposes).
|
||||||
|
|
||||||
[endsect]
|
|
||||||
|
|
||||||
[/-----------------------------------------------------------------------------]
|
[/-----------------------------------------------------------------------------]
|
||||||
|
|
||||||
[section Requirements]
|
[heading Requirements]
|
||||||
|
|
||||||
The library is usable in two different modes: standalone and Boost dependent. This library defaults to Boost dependent mode; standalone mode is opt-in through the use of a configuration macro.
|
The library is usable in two different modes: standalone and Boost dependent. This library defaults to Boost dependent mode; standalone mode is opt-in through the use of a configuration macro.
|
||||||
|
|
||||||
When in Boost dependent mode, the library requires the use of at least C++11, in addition to Boost.Core, Boost.Utility, and Boost.ContainerHash. In standalone mode, C++17 is required but no libraries except for the standard library are needed.
|
When in Boost dependent mode, the library requires the use of at least C++11, in addition to Boost.Core, Boost.Utility, and Boost.ContainerHash. In standalone mode, C++17 is required but no libraries except for the standard library are needed.
|
||||||
|
|
||||||
[endsect]
|
|
||||||
|
|
||||||
[/-----------------------------------------------------------------------------]
|
[/-----------------------------------------------------------------------------]
|
||||||
|
|
||||||
[section Design]
|
[heading Design]
|
||||||
|
|
||||||
The over-arching design goal is to resemble the interface and behavior of
|
The over-arching design goal is to resemble the interface and behavior of
|
||||||
`std::string` as much as possible. When any operation would exceed the
|
`std::string` as much as possible. When any operation would exceed the
|
||||||
@ -92,22 +86,18 @@ present in this implementation, with the only difference being the lack of `cons
|
|||||||
for the time being. The avaliable overloads for `static_string` are identical to those
|
for the time being. The avaliable overloads for `static_string` are identical to those
|
||||||
of `std::string`.
|
of `std::string`.
|
||||||
|
|
||||||
[endsect]
|
|
||||||
|
|
||||||
[/-----------------------------------------------------------------------------]
|
[/-----------------------------------------------------------------------------]
|
||||||
|
|
||||||
[section Iterators]
|
[heading Iterators]
|
||||||
|
|
||||||
The iterator invalidation rules differ from those of `std::string`:
|
The iterator invalidation rules differ from those of `std::string`:
|
||||||
|
|
||||||
* Moving a `static_string` invalidates all iterators
|
* Moving a `static_string` invalidates all iterators
|
||||||
* Swapping two `static_string`s invalidates all iterators
|
* Swapping two `static_string`s invalidates all iterators
|
||||||
|
|
||||||
[endsect]
|
|
||||||
|
|
||||||
[/-----------------------------------------------------------------------------]
|
[/-----------------------------------------------------------------------------]
|
||||||
|
|
||||||
[section Optimizations]
|
[heading Optimizations]
|
||||||
|
|
||||||
Depending on the character type and size used for a specialization of `static_string`, certain optimizations are used to reduce the size of the class type. Given the name of a specialization of the form `static_string<N, CharT, Traits>`:
|
Depending on the character type and size used for a specialization of `static_string`, certain optimizations are used to reduce the size of the class type. Given the name of a specialization of the form `static_string<N, CharT, Traits>`:
|
||||||
|
|
||||||
@ -117,11 +107,9 @@ Depending on the character type and size used for a specialization of `static_st
|
|||||||
|
|
||||||
The optionally enabled null-terminator optimization will instead store the size of the `static_string` in the last character of the data array as `N - size()` if `CharT` can represent the value `N`.
|
The optionally enabled null-terminator optimization will instead store the size of the `static_string` in the last character of the data array as `N - size()` if `CharT` can represent the value `N`.
|
||||||
|
|
||||||
[endsect]
|
|
||||||
|
|
||||||
[/-----------------------------------------------------------------------------]
|
[/-----------------------------------------------------------------------------]
|
||||||
|
|
||||||
[section Configuration]
|
[heading Configuration]
|
||||||
|
|
||||||
Certain features can be enabled and disabled though defining configuration macros. The macros and the associated feature they control are:
|
Certain features can be enabled and disabled though defining configuration macros. The macros and the associated feature they control are:
|
||||||
|
|
||||||
@ -131,7 +119,11 @@ Certain features can be enabled and disabled though defining configuration macro
|
|||||||
|
|
||||||
* `BOOST_STATIC_STRING_NULL_OPTIMIZATION`: When defined, the `static_string` will use the null-terminator optimization.
|
* `BOOST_STATIC_STRING_NULL_OPTIMIZATION`: When defined, the `static_string` will use the null-terminator optimization.
|
||||||
|
|
||||||
[endsect]
|
[/-----------------------------------------------------------------------------]
|
||||||
|
|
||||||
|
[heading Reference]
|
||||||
|
|
||||||
|
[link static_string.ref.boost__static_string__static_string `static_string`]
|
||||||
|
|
||||||
[/-----------------------------------------------------------------------------]
|
[/-----------------------------------------------------------------------------]
|
||||||
|
|
||||||
|
@ -100,11 +100,11 @@
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef BOOST_STATIC_STRING_NO_EXCEPTIONS
|
#ifdef BOOST_STATIC_STRING_NO_EXCEPTIONS
|
||||||
#define BOOST_STATIC_STRING_COND_NOEXCEPT noexcept
|
#define BOOST_STATIC_STRING_NO_EXCEPTIONS_NOEXCEPT noexcept
|
||||||
#define BOOST_STATIC_STRING_THROW_IF(cond, ex)
|
#define BOOST_STATIC_STRING_THROW_IF(cond, ex)
|
||||||
#define BOOST_STATIC_STRING_THROW(ex)
|
#define BOOST_STATIC_STRING_THROW(ex)
|
||||||
#else
|
#else
|
||||||
#define BOOST_STATIC_STRING_COND_NOEXCEPT
|
#define BOOST_STATIC_STRING_NO_EXCEPTIONS_NOEXCEPT
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// Boost and non-Boost versions of utilities
|
// Boost and non-Boost versions of utilities
|
||||||
|
@ -36,7 +36,7 @@ basic_static_string() noexcept
|
|||||||
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
|
||||||
basic_static_string<N, CharT, Traits>::
|
basic_static_string<N, CharT, Traits>::
|
||||||
basic_static_string(size_type count, CharT ch) BOOST_STATIC_STRING_COND_NOEXCEPT
|
basic_static_string(size_type count, CharT ch) BOOST_STATIC_STRING_NO_EXCEPTIONS_NOEXCEPT
|
||||||
{
|
{
|
||||||
assign(count, ch);
|
assign(count, ch);
|
||||||
}
|
}
|
||||||
@ -46,7 +46,7 @@ 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) BOOST_STATIC_STRING_COND_NOEXCEPT
|
size_type pos) BOOST_STATIC_STRING_NO_EXCEPTIONS_NOEXCEPT
|
||||||
{
|
{
|
||||||
assign(other, pos);
|
assign(other, pos);
|
||||||
}
|
}
|
||||||
@ -58,7 +58,7 @@ basic_static_string<N, CharT, Traits>::
|
|||||||
basic_static_string(
|
basic_static_string(
|
||||||
basic_static_string<M, CharT, Traits> const& other,
|
basic_static_string<M, CharT, Traits> const& other,
|
||||||
size_type pos,
|
size_type pos,
|
||||||
size_type count) BOOST_STATIC_STRING_COND_NOEXCEPT
|
size_type count) BOOST_STATIC_STRING_NO_EXCEPTIONS_NOEXCEPT
|
||||||
{
|
{
|
||||||
assign(other, pos, count);
|
assign(other, pos, count);
|
||||||
}
|
}
|
||||||
@ -66,7 +66,7 @@ basic_static_string(
|
|||||||
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
|
||||||
basic_static_string<N, CharT, Traits>::
|
basic_static_string<N, CharT, Traits>::
|
||||||
basic_static_string(CharT const* s, size_type count) BOOST_STATIC_STRING_COND_NOEXCEPT
|
basic_static_string(CharT const* s, size_type count) BOOST_STATIC_STRING_NO_EXCEPTIONS_NOEXCEPT
|
||||||
{
|
{
|
||||||
assign(s, count);
|
assign(s, count);
|
||||||
}
|
}
|
||||||
@ -74,7 +74,7 @@ basic_static_string(CharT const* s, size_type count) BOOST_STATIC_STRING_COND_NO
|
|||||||
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
|
||||||
basic_static_string<N, CharT, Traits>::
|
basic_static_string<N, CharT, Traits>::
|
||||||
basic_static_string(CharT const* s) BOOST_STATIC_STRING_COND_NOEXCEPT
|
basic_static_string(CharT const* s) BOOST_STATIC_STRING_NO_EXCEPTIONS_NOEXCEPT
|
||||||
{
|
{
|
||||||
auto const count = Traits::length(s);
|
auto const count = Traits::length(s);
|
||||||
BOOST_STATIC_STRING_THROW_IF(count > max_size(),
|
BOOST_STATIC_STRING_THROW_IF(count > max_size(),
|
||||||
@ -92,7 +92,7 @@ BOOST_STATIC_STRING_CPP14_CONSTEXPR
|
|||||||
basic_static_string<N, CharT, Traits>::
|
basic_static_string<N, CharT, Traits>::
|
||||||
basic_static_string(
|
basic_static_string(
|
||||||
InputIterator first,
|
InputIterator first,
|
||||||
InputIterator last) BOOST_STATIC_STRING_COND_NOEXCEPT
|
InputIterator last) BOOST_STATIC_STRING_NO_EXCEPTIONS_NOEXCEPT
|
||||||
{
|
{
|
||||||
assign(first, last);
|
assign(first, last);
|
||||||
}
|
}
|
||||||
@ -111,7 +111,7 @@ 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(
|
||||||
basic_static_string<M, CharT, Traits> const& s) BOOST_STATIC_STRING_COND_NOEXCEPT
|
basic_static_string<M, CharT, Traits> const& s) BOOST_STATIC_STRING_NO_EXCEPTIONS_NOEXCEPT
|
||||||
{
|
{
|
||||||
assign(s);
|
assign(s);
|
||||||
}
|
}
|
||||||
@ -119,7 +119,7 @@ basic_static_string(
|
|||||||
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
|
||||||
basic_static_string<N, CharT, Traits>::
|
basic_static_string<N, CharT, Traits>::
|
||||||
basic_static_string(std::initializer_list<CharT> init) BOOST_STATIC_STRING_COND_NOEXCEPT
|
basic_static_string(std::initializer_list<CharT> init) BOOST_STATIC_STRING_NO_EXCEPTIONS_NOEXCEPT
|
||||||
{
|
{
|
||||||
assign(init.begin(), init.end());
|
assign(init.begin(), init.end());
|
||||||
}
|
}
|
||||||
@ -127,7 +127,7 @@ basic_static_string(std::initializer_list<CharT> init) BOOST_STATIC_STRING_COND_
|
|||||||
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
|
||||||
basic_static_string<N, CharT, Traits>::
|
basic_static_string<N, CharT, Traits>::
|
||||||
basic_static_string(string_view_type sv) BOOST_STATIC_STRING_COND_NOEXCEPT
|
basic_static_string(string_view_type sv) BOOST_STATIC_STRING_NO_EXCEPTIONS_NOEXCEPT
|
||||||
{
|
{
|
||||||
assign(sv);
|
assign(sv);
|
||||||
}
|
}
|
||||||
@ -136,7 +136,7 @@ template<std::size_t N, typename CharT, typename Traits>
|
|||||||
template<class T, class>
|
template<class T, class>
|
||||||
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(T const& t, size_type pos, size_type n) BOOST_STATIC_STRING_COND_NOEXCEPT
|
basic_static_string(T const& t, size_type pos, size_type n) BOOST_STATIC_STRING_NO_EXCEPTIONS_NOEXCEPT
|
||||||
{
|
{
|
||||||
assign(t, pos, n);
|
assign(t, pos, n);
|
||||||
}
|
}
|
||||||
@ -153,7 +153,7 @@ auto
|
|||||||
basic_static_string<N, CharT, Traits>::
|
basic_static_string<N, CharT, Traits>::
|
||||||
assign(
|
assign(
|
||||||
size_type count,
|
size_type count,
|
||||||
CharT ch) BOOST_STATIC_STRING_COND_NOEXCEPT ->
|
CharT ch) BOOST_STATIC_STRING_NO_EXCEPTIONS_NOEXCEPT ->
|
||||||
basic_static_string&
|
basic_static_string&
|
||||||
{
|
{
|
||||||
BOOST_STATIC_STRING_THROW_IF(count > max_size(),
|
BOOST_STATIC_STRING_THROW_IF(count > max_size(),
|
||||||
@ -188,7 +188,7 @@ basic_static_string<N, CharT, Traits>::
|
|||||||
assign(
|
assign(
|
||||||
basic_static_string<M, CharT, Traits> const& s,
|
basic_static_string<M, CharT, Traits> const& s,
|
||||||
size_type pos,
|
size_type pos,
|
||||||
size_type count) BOOST_STATIC_STRING_COND_NOEXCEPT ->
|
size_type count) BOOST_STATIC_STRING_NO_EXCEPTIONS_NOEXCEPT ->
|
||||||
basic_static_string&
|
basic_static_string&
|
||||||
{
|
{
|
||||||
auto const ss = s.subview(pos, count);
|
auto const ss = s.subview(pos, count);
|
||||||
@ -201,7 +201,7 @@ auto
|
|||||||
basic_static_string<N, CharT, Traits>::
|
basic_static_string<N, CharT, Traits>::
|
||||||
assign(
|
assign(
|
||||||
CharT const* s,
|
CharT const* s,
|
||||||
size_type count) BOOST_STATIC_STRING_COND_NOEXCEPT ->
|
size_type count) BOOST_STATIC_STRING_NO_EXCEPTIONS_NOEXCEPT ->
|
||||||
basic_static_string&
|
basic_static_string&
|
||||||
{
|
{
|
||||||
BOOST_STATIC_STRING_THROW_IF(count > max_size(),
|
BOOST_STATIC_STRING_THROW_IF(count > max_size(),
|
||||||
@ -219,7 +219,7 @@ auto
|
|||||||
basic_static_string<N, CharT, Traits>::
|
basic_static_string<N, CharT, Traits>::
|
||||||
assign(
|
assign(
|
||||||
InputIterator first,
|
InputIterator first,
|
||||||
InputIterator last) BOOST_STATIC_STRING_COND_NOEXCEPT ->
|
InputIterator last) BOOST_STATIC_STRING_NO_EXCEPTIONS_NOEXCEPT ->
|
||||||
typename std::enable_if<
|
typename std::enable_if<
|
||||||
detail::is_input_iterator<InputIterator>::value,
|
detail::is_input_iterator<InputIterator>::value,
|
||||||
basic_static_string&>::type
|
basic_static_string&>::type
|
||||||
@ -249,7 +249,7 @@ template<std::size_t N, typename CharT, typename Traits>
|
|||||||
BOOST_STATIC_STRING_CPP14_CONSTEXPR
|
BOOST_STATIC_STRING_CPP14_CONSTEXPR
|
||||||
auto
|
auto
|
||||||
basic_static_string<N, CharT, Traits>::
|
basic_static_string<N, CharT, Traits>::
|
||||||
at(size_type pos) BOOST_STATIC_STRING_COND_NOEXCEPT ->
|
at(size_type pos) BOOST_STATIC_STRING_NO_EXCEPTIONS_NOEXCEPT ->
|
||||||
reference
|
reference
|
||||||
{
|
{
|
||||||
BOOST_STATIC_STRING_THROW_IF(
|
BOOST_STATIC_STRING_THROW_IF(
|
||||||
@ -261,7 +261,7 @@ template<std::size_t N, typename CharT, typename Traits>
|
|||||||
BOOST_STATIC_STRING_CPP14_CONSTEXPR
|
BOOST_STATIC_STRING_CPP14_CONSTEXPR
|
||||||
auto
|
auto
|
||||||
basic_static_string<N, CharT, Traits>::
|
basic_static_string<N, CharT, Traits>::
|
||||||
at(size_type pos) const BOOST_STATIC_STRING_COND_NOEXCEPT ->
|
at(size_type pos) const BOOST_STATIC_STRING_NO_EXCEPTIONS_NOEXCEPT ->
|
||||||
const_reference
|
const_reference
|
||||||
{
|
{
|
||||||
BOOST_STATIC_STRING_THROW_IF(
|
BOOST_STATIC_STRING_THROW_IF(
|
||||||
@ -279,7 +279,7 @@ template<std::size_t N, typename CharT, typename Traits>
|
|||||||
BOOST_STATIC_STRING_CPP14_CONSTEXPR
|
BOOST_STATIC_STRING_CPP14_CONSTEXPR
|
||||||
void
|
void
|
||||||
basic_static_string<N, CharT, Traits>::
|
basic_static_string<N, CharT, Traits>::
|
||||||
reserve(std::size_t n) BOOST_STATIC_STRING_COND_NOEXCEPT
|
reserve(std::size_t n) BOOST_STATIC_STRING_NO_EXCEPTIONS_NOEXCEPT
|
||||||
{
|
{
|
||||||
BOOST_STATIC_STRING_THROW_IF(
|
BOOST_STATIC_STRING_THROW_IF(
|
||||||
n > max_size(), std::length_error{"n > max_size()"});
|
n > max_size(), std::length_error{"n > max_size()"});
|
||||||
@ -310,7 +310,7 @@ basic_static_string<N, CharT, Traits>::
|
|||||||
insert(
|
insert(
|
||||||
size_type index,
|
size_type index,
|
||||||
CharT const* s,
|
CharT const* s,
|
||||||
size_type count) BOOST_STATIC_STRING_COND_NOEXCEPT ->
|
size_type count) BOOST_STATIC_STRING_NO_EXCEPTIONS_NOEXCEPT ->
|
||||||
basic_static_string&
|
basic_static_string&
|
||||||
{
|
{
|
||||||
const auto curr_size = size();
|
const auto curr_size = size();
|
||||||
@ -328,7 +328,7 @@ basic_static_string<N, CharT, Traits>::
|
|||||||
insert(
|
insert(
|
||||||
const_iterator pos,
|
const_iterator pos,
|
||||||
size_type count,
|
size_type count,
|
||||||
CharT ch) BOOST_STATIC_STRING_COND_NOEXCEPT ->
|
CharT ch) BOOST_STATIC_STRING_NO_EXCEPTIONS_NOEXCEPT ->
|
||||||
iterator
|
iterator
|
||||||
{
|
{
|
||||||
const auto curr_size = size();
|
const auto curr_size = size();
|
||||||
@ -351,7 +351,7 @@ basic_static_string<N, CharT, Traits>::
|
|||||||
insert(
|
insert(
|
||||||
const_iterator pos,
|
const_iterator pos,
|
||||||
ForwardIterator first,
|
ForwardIterator first,
|
||||||
ForwardIterator last) BOOST_STATIC_STRING_COND_NOEXCEPT ->
|
ForwardIterator last) BOOST_STATIC_STRING_NO_EXCEPTIONS_NOEXCEPT ->
|
||||||
typename std::enable_if<
|
typename std::enable_if<
|
||||||
detail::is_forward_iterator<
|
detail::is_forward_iterator<
|
||||||
ForwardIterator>::value, iterator>::type
|
ForwardIterator>::value, iterator>::type
|
||||||
@ -404,7 +404,7 @@ basic_static_string<N, CharT, Traits>::
|
|||||||
insert(
|
insert(
|
||||||
const_iterator pos,
|
const_iterator pos,
|
||||||
InputIterator first,
|
InputIterator first,
|
||||||
InputIterator last) BOOST_STATIC_STRING_COND_NOEXCEPT ->
|
InputIterator last) BOOST_STATIC_STRING_NO_EXCEPTIONS_NOEXCEPT ->
|
||||||
typename std::enable_if<
|
typename std::enable_if<
|
||||||
detail::is_input_iterator<
|
detail::is_input_iterator<
|
||||||
InputIterator>::value &&
|
InputIterator>::value &&
|
||||||
@ -429,7 +429,7 @@ auto
|
|||||||
basic_static_string<N, CharT, Traits>::
|
basic_static_string<N, CharT, Traits>::
|
||||||
insert(
|
insert(
|
||||||
const_iterator pos,
|
const_iterator pos,
|
||||||
std::initializer_list<CharT> ilist) BOOST_STATIC_STRING_COND_NOEXCEPT ->
|
std::initializer_list<CharT> ilist) BOOST_STATIC_STRING_NO_EXCEPTIONS_NOEXCEPT ->
|
||||||
iterator
|
iterator
|
||||||
{
|
{
|
||||||
const auto curr_size = size();
|
const auto curr_size = size();
|
||||||
@ -453,7 +453,7 @@ auto
|
|||||||
basic_static_string<N, CharT, Traits>::
|
basic_static_string<N, CharT, Traits>::
|
||||||
erase(
|
erase(
|
||||||
size_type index,
|
size_type index,
|
||||||
size_type count) BOOST_STATIC_STRING_COND_NOEXCEPT ->
|
size_type count) BOOST_STATIC_STRING_NO_EXCEPTIONS_NOEXCEPT ->
|
||||||
basic_static_string&
|
basic_static_string&
|
||||||
{
|
{
|
||||||
const auto curr_size = size();
|
const auto curr_size = size();
|
||||||
@ -471,7 +471,7 @@ BOOST_STATIC_STRING_CPP14_CONSTEXPR
|
|||||||
auto
|
auto
|
||||||
basic_static_string<N, CharT, Traits>::
|
basic_static_string<N, CharT, Traits>::
|
||||||
erase(
|
erase(
|
||||||
const_iterator pos) BOOST_STATIC_STRING_COND_NOEXCEPT ->
|
const_iterator pos) BOOST_STATIC_STRING_NO_EXCEPTIONS_NOEXCEPT ->
|
||||||
iterator
|
iterator
|
||||||
{
|
{
|
||||||
erase(pos - begin(), 1);
|
erase(pos - begin(), 1);
|
||||||
@ -484,7 +484,7 @@ auto
|
|||||||
basic_static_string<N, CharT, Traits>::
|
basic_static_string<N, CharT, Traits>::
|
||||||
erase(
|
erase(
|
||||||
const_iterator first,
|
const_iterator first,
|
||||||
const_iterator last) BOOST_STATIC_STRING_COND_NOEXCEPT ->
|
const_iterator last) BOOST_STATIC_STRING_NO_EXCEPTIONS_NOEXCEPT ->
|
||||||
iterator
|
iterator
|
||||||
{
|
{
|
||||||
erase(first - begin(),
|
erase(first - begin(),
|
||||||
@ -497,7 +497,7 @@ BOOST_STATIC_STRING_CPP14_CONSTEXPR
|
|||||||
void
|
void
|
||||||
basic_static_string<N, CharT, Traits>::
|
basic_static_string<N, CharT, Traits>::
|
||||||
push_back(
|
push_back(
|
||||||
CharT ch) BOOST_STATIC_STRING_COND_NOEXCEPT
|
CharT ch) BOOST_STATIC_STRING_NO_EXCEPTIONS_NOEXCEPT
|
||||||
{
|
{
|
||||||
const auto curr_size = size();
|
const auto curr_size = size();
|
||||||
BOOST_STATIC_STRING_THROW_IF(
|
BOOST_STATIC_STRING_THROW_IF(
|
||||||
@ -513,7 +513,7 @@ auto
|
|||||||
basic_static_string<N, CharT, Traits>::
|
basic_static_string<N, CharT, Traits>::
|
||||||
append(
|
append(
|
||||||
CharT const* s,
|
CharT const* s,
|
||||||
size_type count) BOOST_STATIC_STRING_COND_NOEXCEPT ->
|
size_type count) BOOST_STATIC_STRING_NO_EXCEPTIONS_NOEXCEPT ->
|
||||||
basic_static_string&
|
basic_static_string&
|
||||||
{
|
{
|
||||||
const auto curr_size = size();
|
const auto curr_size = size();
|
||||||
@ -529,7 +529,7 @@ template<std::size_t N, typename CharT, typename Traits>
|
|||||||
BOOST_STATIC_STRING_CPP14_CONSTEXPR
|
BOOST_STATIC_STRING_CPP14_CONSTEXPR
|
||||||
auto
|
auto
|
||||||
basic_static_string<N, CharT, Traits>::
|
basic_static_string<N, CharT, Traits>::
|
||||||
substr(size_type pos, size_type count) const BOOST_STATIC_STRING_COND_NOEXCEPT ->
|
substr(size_type pos, size_type count) const BOOST_STATIC_STRING_NO_EXCEPTIONS_NOEXCEPT ->
|
||||||
basic_static_string
|
basic_static_string
|
||||||
{
|
{
|
||||||
BOOST_STATIC_STRING_THROW_IF(
|
BOOST_STATIC_STRING_THROW_IF(
|
||||||
@ -541,7 +541,7 @@ template<std::size_t N, typename CharT, typename Traits>
|
|||||||
BOOST_STATIC_STRING_CPP14_CONSTEXPR
|
BOOST_STATIC_STRING_CPP14_CONSTEXPR
|
||||||
auto
|
auto
|
||||||
basic_static_string<N, CharT, Traits>::
|
basic_static_string<N, CharT, Traits>::
|
||||||
subview(size_type pos, size_type count) const BOOST_STATIC_STRING_COND_NOEXCEPT ->
|
subview(size_type pos, size_type count) const BOOST_STATIC_STRING_NO_EXCEPTIONS_NOEXCEPT ->
|
||||||
string_view_type
|
string_view_type
|
||||||
{
|
{
|
||||||
BOOST_STATIC_STRING_THROW_IF(
|
BOOST_STATIC_STRING_THROW_IF(
|
||||||
@ -553,7 +553,7 @@ template<std::size_t N, typename CharT, typename Traits>
|
|||||||
BOOST_STATIC_STRING_CPP14_CONSTEXPR
|
BOOST_STATIC_STRING_CPP14_CONSTEXPR
|
||||||
auto
|
auto
|
||||||
basic_static_string<N, CharT, Traits>::
|
basic_static_string<N, CharT, Traits>::
|
||||||
copy(CharT* dest, size_type count, size_type pos) const BOOST_STATIC_STRING_COND_NOEXCEPT ->
|
copy(CharT* dest, size_type count, size_type pos) const BOOST_STATIC_STRING_NO_EXCEPTIONS_NOEXCEPT ->
|
||||||
size_type
|
size_type
|
||||||
{
|
{
|
||||||
auto const s = subview(pos, count);
|
auto const s = subview(pos, count);
|
||||||
@ -565,7 +565,7 @@ template<std::size_t N, typename CharT, typename Traits>
|
|||||||
BOOST_STATIC_STRING_CPP14_CONSTEXPR
|
BOOST_STATIC_STRING_CPP14_CONSTEXPR
|
||||||
void
|
void
|
||||||
basic_static_string<N, CharT, Traits>::
|
basic_static_string<N, CharT, Traits>::
|
||||||
resize(std::size_t n) BOOST_STATIC_STRING_COND_NOEXCEPT
|
resize(std::size_t n) BOOST_STATIC_STRING_NO_EXCEPTIONS_NOEXCEPT
|
||||||
{
|
{
|
||||||
const auto curr_size = size();
|
const auto curr_size = size();
|
||||||
BOOST_STATIC_STRING_THROW_IF(
|
BOOST_STATIC_STRING_THROW_IF(
|
||||||
@ -580,7 +580,7 @@ template<std::size_t N, typename CharT, typename Traits>
|
|||||||
BOOST_STATIC_STRING_CPP14_CONSTEXPR
|
BOOST_STATIC_STRING_CPP14_CONSTEXPR
|
||||||
void
|
void
|
||||||
basic_static_string<N, CharT, Traits>::
|
basic_static_string<N, CharT, Traits>::
|
||||||
resize(std::size_t n, CharT c) BOOST_STATIC_STRING_COND_NOEXCEPT
|
resize(std::size_t n, CharT c) BOOST_STATIC_STRING_NO_EXCEPTIONS_NOEXCEPT
|
||||||
{
|
{
|
||||||
const auto curr_size = size();
|
const auto curr_size = size();
|
||||||
BOOST_STATIC_STRING_THROW_IF(
|
BOOST_STATIC_STRING_THROW_IF(
|
||||||
@ -610,7 +610,7 @@ template<std::size_t M>
|
|||||||
BOOST_STATIC_STRING_CPP14_CONSTEXPR
|
BOOST_STATIC_STRING_CPP14_CONSTEXPR
|
||||||
void
|
void
|
||||||
basic_static_string<N, CharT, Traits>::
|
basic_static_string<N, CharT, Traits>::
|
||||||
swap(basic_static_string<M, CharT, Traits>& s) BOOST_STATIC_STRING_COND_NOEXCEPT
|
swap(basic_static_string<M, CharT, Traits>& s) BOOST_STATIC_STRING_NO_EXCEPTIONS_NOEXCEPT
|
||||||
{
|
{
|
||||||
const auto curr_size = size();
|
const auto curr_size = size();
|
||||||
BOOST_STATIC_STRING_THROW_IF(
|
BOOST_STATIC_STRING_THROW_IF(
|
||||||
@ -632,7 +632,7 @@ replace(
|
|||||||
size_type pos,
|
size_type pos,
|
||||||
size_type n1,
|
size_type n1,
|
||||||
const CharT* s,
|
const CharT* s,
|
||||||
size_type n2) BOOST_STATIC_STRING_COND_NOEXCEPT ->
|
size_type n2) BOOST_STATIC_STRING_NO_EXCEPTIONS_NOEXCEPT ->
|
||||||
basic_static_string<N, CharT, Traits>&
|
basic_static_string<N, CharT, Traits>&
|
||||||
{
|
{
|
||||||
const auto curr_size = size();
|
const auto curr_size = size();
|
||||||
@ -651,7 +651,7 @@ replace(
|
|||||||
size_type pos,
|
size_type pos,
|
||||||
size_type n1,
|
size_type n1,
|
||||||
size_type n2,
|
size_type n2,
|
||||||
CharT c) BOOST_STATIC_STRING_COND_NOEXCEPT -> basic_static_string<N, CharT, Traits> &
|
CharT c) BOOST_STATIC_STRING_NO_EXCEPTIONS_NOEXCEPT -> 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();
|
||||||
@ -676,7 +676,7 @@ replace(
|
|||||||
const_iterator i1,
|
const_iterator i1,
|
||||||
const_iterator i2,
|
const_iterator i2,
|
||||||
ForwardIterator j1,
|
ForwardIterator j1,
|
||||||
ForwardIterator j2) BOOST_STATIC_STRING_COND_NOEXCEPT ->
|
ForwardIterator j2) BOOST_STATIC_STRING_NO_EXCEPTIONS_NOEXCEPT ->
|
||||||
typename std::enable_if<
|
typename std::enable_if<
|
||||||
detail::is_forward_iterator<ForwardIterator>::value,
|
detail::is_forward_iterator<ForwardIterator>::value,
|
||||||
basic_static_string<N, CharT, Traits>&>::type
|
basic_static_string<N, CharT, Traits>&>::type
|
||||||
@ -745,7 +745,7 @@ replace(
|
|||||||
const_iterator i1,
|
const_iterator i1,
|
||||||
const_iterator i2,
|
const_iterator i2,
|
||||||
InputIterator j1,
|
InputIterator j1,
|
||||||
InputIterator j2) BOOST_STATIC_STRING_COND_NOEXCEPT ->
|
InputIterator j2) BOOST_STATIC_STRING_NO_EXCEPTIONS_NOEXCEPT ->
|
||||||
typename std::enable_if<
|
typename std::enable_if<
|
||||||
detail::is_input_iterator<
|
detail::is_input_iterator<
|
||||||
InputIterator>::value &&
|
InputIterator>::value &&
|
||||||
@ -908,7 +908,7 @@ assign_char(CharT ch, std::true_type) noexcept ->
|
|||||||
template<std::size_t N, typename CharT, typename Traits>
|
template<std::size_t N, typename CharT, typename Traits>
|
||||||
auto
|
auto
|
||||||
basic_static_string<N, CharT, Traits>::
|
basic_static_string<N, CharT, Traits>::
|
||||||
assign_char(CharT, std::false_type) BOOST_STATIC_STRING_COND_NOEXCEPT ->
|
assign_char(CharT, std::false_type) BOOST_STATIC_STRING_NO_EXCEPTIONS_NOEXCEPT ->
|
||||||
basic_static_string&
|
basic_static_string&
|
||||||
{
|
{
|
||||||
BOOST_STATIC_STRING_THROW(std::length_error{"max_size() == 0"});
|
BOOST_STATIC_STRING_THROW(std::length_error{"max_size() == 0"});
|
||||||
@ -944,7 +944,7 @@ replace_unchecked(
|
|||||||
size_type pos,
|
size_type pos,
|
||||||
size_type n1,
|
size_type n1,
|
||||||
const CharT* s,
|
const CharT* s,
|
||||||
size_type n2) BOOST_STATIC_STRING_COND_NOEXCEPT ->
|
size_type n2) BOOST_STATIC_STRING_NO_EXCEPTIONS_NOEXCEPT ->
|
||||||
basic_static_string&
|
basic_static_string&
|
||||||
{
|
{
|
||||||
const auto curr_data = data();
|
const auto curr_data = data();
|
||||||
|
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user