Chunked docs

This commit is contained in:
Krystian Stasiowski
2020-01-31 15:30:17 -05:00
parent 2c3f27475d
commit 70779748a3
5 changed files with 225 additions and 212 deletions

View File

@ -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
: :

View File

@ -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`]
[/-----------------------------------------------------------------------------] [/-----------------------------------------------------------------------------]

View File

@ -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

View File

@ -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