forked from boostorg/container
Use namespace dtl instead of container_detail to avoid excessively long symbol names.
This commit is contained in:
@@ -70,7 +70,7 @@ namespace boost {
|
||||
namespace container {
|
||||
|
||||
#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
|
||||
namespace container_detail {
|
||||
namespace dtl {
|
||||
// ------------------------------------------------------------
|
||||
// Class basic_string_base.
|
||||
|
||||
@@ -170,8 +170,8 @@ class basic_string_base
|
||||
//This type has the same alignment and size as long_t but it's POD
|
||||
//so, unlike long_t, it can be placed in a union
|
||||
|
||||
typedef typename container_detail::aligned_storage
|
||||
<sizeof(long_t), container_detail::alignment_of<long_t>::value>::type long_raw_t;
|
||||
typedef typename dtl::aligned_storage
|
||||
<sizeof(long_t), dtl::alignment_of<long_t>::value>::type long_raw_t;
|
||||
|
||||
protected:
|
||||
static const size_type MinInternalBufferChars = 8;
|
||||
@@ -274,8 +274,8 @@ class basic_string_base
|
||||
|
||||
protected:
|
||||
|
||||
typedef container_detail::integral_constant<unsigned,
|
||||
boost::container::container_detail::version<Allocator>::value> alloc_version;
|
||||
typedef dtl::integral_constant<unsigned,
|
||||
boost::container::dtl::version<Allocator>::value> alloc_version;
|
||||
|
||||
pointer allocation_command(allocation_type command,
|
||||
size_type limit_size,
|
||||
@@ -286,7 +286,7 @@ class basic_string_base
|
||||
reuse = 0;
|
||||
command &= ~(expand_fwd | expand_bwd);
|
||||
}
|
||||
return container_detail::allocator_version_traits<Allocator>::allocation_command
|
||||
return dtl::allocator_version_traits<Allocator>::allocation_command
|
||||
(this->alloc(), command, limit_size, prefer_in_recvd_out_size, reuse);
|
||||
}
|
||||
|
||||
@@ -460,7 +460,7 @@ class basic_string_base
|
||||
}
|
||||
};
|
||||
|
||||
} //namespace container_detail {
|
||||
} //namespace dtl {
|
||||
|
||||
#endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
|
||||
|
||||
@@ -502,13 +502,13 @@ template <class CharT, class Traits = std::char_traits<CharT>, class Allocator =
|
||||
template <class CharT, class Traits, class Allocator>
|
||||
#endif
|
||||
class basic_string
|
||||
: private container_detail::basic_string_base<Allocator>
|
||||
: private dtl::basic_string_base<Allocator>
|
||||
{
|
||||
#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
|
||||
private:
|
||||
typedef allocator_traits<Allocator> allocator_traits_type;
|
||||
BOOST_COPYABLE_AND_MOVABLE(basic_string)
|
||||
typedef container_detail::basic_string_base<Allocator> base_t;
|
||||
typedef dtl::basic_string_base<Allocator> base_t;
|
||||
static const typename base_t::size_type InternalBufferChars = base_t::InternalBufferChars;
|
||||
|
||||
protected:
|
||||
@@ -598,7 +598,7 @@ class basic_string
|
||||
//! <b>Effects</b>: Default constructs a basic_string.
|
||||
//!
|
||||
//! <b>Throws</b>: If allocator_type's default constructor throws.
|
||||
basic_string() BOOST_NOEXCEPT_IF(container_detail::is_nothrow_default_constructible<Allocator>::value)
|
||||
basic_string() BOOST_NOEXCEPT_IF(dtl::is_nothrow_default_constructible<Allocator>::value)
|
||||
: base_t()
|
||||
{ this->priv_terminate_string(); }
|
||||
|
||||
@@ -689,7 +689,7 @@ class basic_string
|
||||
throw_out_of_range("basic_string::basic_string out of range position");
|
||||
else
|
||||
this->assign
|
||||
(s.begin() + pos, s.begin() + pos + container_detail::min_value(n, s.size() - pos));
|
||||
(s.begin() + pos, s.begin() + pos + dtl::min_value(n, s.size() - pos));
|
||||
}
|
||||
|
||||
//! <b>Effects</b>: Constructs a basic_string taking the allocator as parameter,
|
||||
@@ -702,7 +702,7 @@ class basic_string
|
||||
throw_out_of_range("basic_string::basic_string out of range position");
|
||||
else
|
||||
this->assign
|
||||
(s.begin() + pos, s.begin() + pos + container_detail::min_value(n, s.size() - pos));
|
||||
(s.begin() + pos, s.begin() + pos + dtl::min_value(n, s.size() - pos));
|
||||
}
|
||||
|
||||
//! <b>Effects</b>: Constructs a basic_string taking a default-constructed allocator,
|
||||
@@ -827,7 +827,7 @@ class basic_string
|
||||
if (&x != this){
|
||||
allocator_type &this_alloc = this->alloc();
|
||||
const allocator_type &x_alloc = x.alloc();
|
||||
container_detail::bool_<allocator_traits_type::
|
||||
dtl::bool_<allocator_traits_type::
|
||||
propagate_on_container_copy_assignment::value> flag;
|
||||
if(flag && this_alloc != x_alloc){
|
||||
if(!this->is_short()){
|
||||
@@ -837,7 +837,7 @@ class basic_string
|
||||
this->priv_short_size(0);
|
||||
}
|
||||
}
|
||||
container_detail::assign_alloc(this->alloc(), x.alloc(), flag);
|
||||
dtl::assign_alloc(this->alloc(), x.alloc(), flag);
|
||||
this->assign(x.begin(), x.end());
|
||||
}
|
||||
return *this;
|
||||
@@ -861,7 +861,7 @@ class basic_string
|
||||
allocator_type &x_alloc = x.alloc();
|
||||
const bool propagate_alloc = allocator_traits_type::
|
||||
propagate_on_container_move_assignment::value;
|
||||
container_detail::bool_<propagate_alloc> flag;
|
||||
dtl::bool_<propagate_alloc> flag;
|
||||
const bool allocators_equal = this_alloc == x_alloc; (void)allocators_equal;
|
||||
//Resources can be transferred if both allocators are
|
||||
//going to be equal after this function (either propagated or already equal)
|
||||
@@ -869,7 +869,7 @@ class basic_string
|
||||
//Destroy objects but retain memory in case x reuses it in the future
|
||||
this->clear();
|
||||
//Move allocator if needed
|
||||
container_detail::move_alloc(this_alloc, x_alloc, flag);
|
||||
dtl::move_alloc(this_alloc, x_alloc, flag);
|
||||
//Nothrow swap
|
||||
this->swap_data(x);
|
||||
}
|
||||
@@ -1356,7 +1356,7 @@ class basic_string
|
||||
if (pos > s.size())
|
||||
throw_out_of_range("basic_string::append out of range position");
|
||||
return this->append(s.begin() + pos,
|
||||
s.begin() + pos + container_detail::min_value(n, s.size() - pos));
|
||||
s.begin() + pos + dtl::min_value(n, s.size() - pos));
|
||||
}
|
||||
|
||||
//! <b>Requires</b>: s points to an array of at least n elements of CharT.
|
||||
@@ -1457,7 +1457,7 @@ class basic_string
|
||||
if (pos > s.size())
|
||||
throw_out_of_range("basic_string::assign out of range position");
|
||||
return this->assign(s.begin() + pos,
|
||||
s.begin() + pos + container_detail::min_value(n, s.size() - pos));
|
||||
s.begin() + pos + dtl::min_value(n, s.size() - pos));
|
||||
}
|
||||
|
||||
//! <b>Requires</b>: s points to an array of at least n elements of CharT.
|
||||
@@ -1505,7 +1505,7 @@ class basic_string
|
||||
template <class InputIter>
|
||||
basic_string& assign(InputIter first, InputIter last
|
||||
#if !defined(BOOST_CONTAINER_DOXYGEN_INVOKED)
|
||||
, typename container_detail::disable_if_convertible<InputIter, size_type>::type * = 0
|
||||
, typename dtl::disable_if_convertible<InputIter, size_type>::type * = 0
|
||||
#endif
|
||||
)
|
||||
{
|
||||
@@ -1567,7 +1567,7 @@ class basic_string
|
||||
const size_type str_size = s.size();
|
||||
if (pos1 > sz || pos2 > str_size)
|
||||
throw_out_of_range("basic_string::insert out of range position");
|
||||
size_type len = container_detail::min_value(n, str_size - pos2);
|
||||
size_type len = dtl::min_value(n, str_size - pos2);
|
||||
if (sz > this->max_size() - len)
|
||||
throw_length_error("basic_string::insert max_size() exceeded");
|
||||
const CharT *beg_ptr = boost::movelib::to_raw_pointer(s.begin()) + pos2;
|
||||
@@ -1666,10 +1666,10 @@ class basic_string
|
||||
template <class InputIter>
|
||||
iterator insert(const_iterator p, InputIter first, InputIter last
|
||||
#if !defined(BOOST_CONTAINER_DOXYGEN_INVOKED)
|
||||
, typename container_detail::disable_if_or
|
||||
, typename dtl::disable_if_or
|
||||
< void
|
||||
, container_detail::is_convertible<InputIter, size_type>
|
||||
, container_detail::is_not_input_iterator<InputIter>
|
||||
, dtl::is_convertible<InputIter, size_type>
|
||||
, dtl::is_not_input_iterator<InputIter>
|
||||
>::type * = 0
|
||||
#endif
|
||||
)
|
||||
@@ -1684,10 +1684,10 @@ class basic_string
|
||||
#if !defined(BOOST_CONTAINER_DOXYGEN_INVOKED)
|
||||
template <class ForwardIter>
|
||||
iterator insert(const_iterator p, ForwardIter first, ForwardIter last
|
||||
, typename container_detail::disable_if_or
|
||||
, typename dtl::disable_if_or
|
||||
< void
|
||||
, container_detail::is_convertible<ForwardIter, size_type>
|
||||
, container_detail::is_input_iterator<ForwardIter>
|
||||
, dtl::is_convertible<ForwardIter, size_type>
|
||||
, dtl::is_input_iterator<ForwardIter>
|
||||
>::type * = 0
|
||||
)
|
||||
{
|
||||
@@ -1834,7 +1834,7 @@ class basic_string
|
||||
if (pos > this->size())
|
||||
throw_out_of_range("basic_string::erase out of range position");
|
||||
const pointer addr = this->priv_addr();
|
||||
erase(addr + pos, addr + pos + container_detail::min_value(n, this->size() - pos));
|
||||
erase(addr + pos, addr + pos + dtl::min_value(n, this->size() - pos));
|
||||
return *this;
|
||||
}
|
||||
|
||||
@@ -1903,7 +1903,7 @@ class basic_string
|
||||
{
|
||||
if (pos1 > this->size())
|
||||
throw_out_of_range("basic_string::replace out of range position");
|
||||
const size_type len = container_detail::min_value(n1, this->size() - pos1);
|
||||
const size_type len = dtl::min_value(n1, this->size() - pos1);
|
||||
if (this->size() - len >= this->max_size() - str.size())
|
||||
throw_length_error("basic_string::replace max_size() exceeded");
|
||||
const pointer addr = this->priv_addr();
|
||||
@@ -1934,7 +1934,7 @@ class basic_string
|
||||
{
|
||||
if (pos2 > str.size())
|
||||
throw_out_of_range("basic_string::replace out of range position");
|
||||
return this->replace(pos1, n1, str.data()+pos2, container_detail::min_value(n2, str.size() - pos2));
|
||||
return this->replace(pos1, n1, str.data()+pos2, dtl::min_value(n2, str.size() - pos2));
|
||||
}
|
||||
|
||||
//! <b>Throws</b>: out_of_range if pos1 > size() or pos2 > sv.size().
|
||||
@@ -1949,7 +1949,7 @@ class basic_string
|
||||
{
|
||||
if (pos2 > sv.size())
|
||||
throw_out_of_range("basic_string::replace out of range position");
|
||||
return this->replace(pos1, n1, sv.data()+pos2, container_detail::min_value(n2, sv.size() - pos2));
|
||||
return this->replace(pos1, n1, sv.data()+pos2, dtl::min_value(n2, sv.size() - pos2));
|
||||
}
|
||||
|
||||
//! <b>Requires</b>: pos1 <= size() and s points to an array of at least n2 elements of CharT.
|
||||
@@ -1970,7 +1970,7 @@ class basic_string
|
||||
{
|
||||
if (pos1 > this->size())
|
||||
throw_out_of_range("basic_string::replace out of range position");
|
||||
const size_type len = container_detail::min_value(n1, this->size() - pos1);
|
||||
const size_type len = dtl::min_value(n1, this->size() - pos1);
|
||||
const size_type max_size = this->max_size();
|
||||
if (n2 > max_size || (this->size() - len) >= (max_size - n2))
|
||||
throw_length_error("basic_string::replace max_size() exceeded");
|
||||
@@ -2009,7 +2009,7 @@ class basic_string
|
||||
{
|
||||
if (pos1 > this->size())
|
||||
throw_out_of_range("basic_string::replace out of range position");
|
||||
const size_type len = container_detail::min_value(n1, this->size() - pos1);
|
||||
const size_type len = dtl::min_value(n1, this->size() - pos1);
|
||||
if (n2 > this->max_size() || this->size() - len >= this->max_size() - n2)
|
||||
throw_length_error("basic_string::replace max_size() exceeded");
|
||||
const pointer addr = this->priv_addr();
|
||||
@@ -2079,10 +2079,10 @@ class basic_string
|
||||
template <class InputIter>
|
||||
basic_string& replace(const_iterator i1, const_iterator i2, InputIter j1, InputIter j2
|
||||
#if !defined(BOOST_CONTAINER_DOXYGEN_INVOKED)
|
||||
, typename container_detail::disable_if_or
|
||||
, typename dtl::disable_if_or
|
||||
< void
|
||||
, container_detail::is_convertible<InputIter, size_type>
|
||||
, container_detail::is_input_iterator<InputIter>
|
||||
, dtl::is_convertible<InputIter, size_type>
|
||||
, dtl::is_input_iterator<InputIter>
|
||||
>::type * = 0
|
||||
#endif
|
||||
)
|
||||
@@ -2101,10 +2101,10 @@ class basic_string
|
||||
#if !defined(BOOST_CONTAINER_DOXYGEN_INVOKED)
|
||||
template <class ForwardIter>
|
||||
basic_string& replace(const_iterator i1, const_iterator i2, ForwardIter j1, ForwardIter j2
|
||||
, typename container_detail::disable_if_or
|
||||
, typename dtl::disable_if_or
|
||||
< void
|
||||
, container_detail::is_convertible<ForwardIter, size_type>
|
||||
, container_detail::is_not_input_iterator<ForwardIter>
|
||||
, dtl::is_convertible<ForwardIter, size_type>
|
||||
, dtl::is_not_input_iterator<ForwardIter>
|
||||
>::type * = 0
|
||||
)
|
||||
{
|
||||
@@ -2165,7 +2165,7 @@ class basic_string
|
||||
{
|
||||
if (pos > this->size())
|
||||
throw_out_of_range("basic_string::copy out of range position");
|
||||
const size_type len = container_detail::min_value(n, this->size() - pos);
|
||||
const size_type len = dtl::min_value(n, this->size() - pos);
|
||||
Traits::copy(s, boost::movelib::to_raw_pointer(this->priv_addr() + pos), len);
|
||||
return len;
|
||||
}
|
||||
@@ -2179,8 +2179,8 @@ class basic_string
|
||||
|| allocator_traits_type::is_always_equal::value)
|
||||
{
|
||||
this->base_t::swap_data(x);
|
||||
container_detail::bool_<allocator_traits_type::propagate_on_container_swap::value> flag;
|
||||
container_detail::swap_alloc(this->alloc(), x.alloc(), flag);
|
||||
dtl::bool_<allocator_traits_type::propagate_on_container_swap::value> flag;
|
||||
dtl::swap_alloc(this->alloc(), x.alloc(), flag);
|
||||
}
|
||||
|
||||
//////////////////////////////////////////////
|
||||
@@ -2340,9 +2340,9 @@ class basic_string
|
||||
if (n > len)
|
||||
return npos;
|
||||
else if (n == 0)
|
||||
return container_detail::min_value(len, pos);
|
||||
return dtl::min_value(len, pos);
|
||||
else {
|
||||
const const_iterator last = begin() + container_detail::min_value(len - n, pos) + n;
|
||||
const const_iterator last = begin() + dtl::min_value(len - n, pos) + n;
|
||||
const const_iterator result = find_end(begin(), last,
|
||||
s, s + n,
|
||||
Eq_traits<Traits>());
|
||||
@@ -2369,7 +2369,7 @@ class basic_string
|
||||
if (len < 1)
|
||||
return npos;
|
||||
else {
|
||||
const const_iterator last = begin() + container_detail::min_value(len - 1, pos) + 1;
|
||||
const const_iterator last = begin() + dtl::min_value(len - 1, pos) + 1;
|
||||
const_reverse_iterator rresult =
|
||||
boost::container::find_if(const_reverse_iterator(last), rend(),
|
||||
boost::container::bind2nd(Eq_traits<Traits>(), c));
|
||||
@@ -2467,7 +2467,7 @@ class basic_string
|
||||
return npos;
|
||||
else {
|
||||
const pointer addr = this->priv_addr();
|
||||
const const_iterator last = addr + container_detail::min_value(len - 1, pos) + 1;
|
||||
const const_iterator last = addr + dtl::min_value(len - 1, pos) + 1;
|
||||
const const_reverse_iterator rresult =
|
||||
boost::container::find_first_of(const_reverse_iterator(last), rend(),
|
||||
s, s + n, Eq_traits<Traits>());
|
||||
@@ -2588,7 +2588,7 @@ class basic_string
|
||||
if (len < 1)
|
||||
return npos;
|
||||
else {
|
||||
const const_iterator last = begin() + container_detail::min_value(len - 1, pos) + 1;
|
||||
const const_iterator last = begin() + dtl::min_value(len - 1, pos) + 1;
|
||||
const const_reverse_iterator rresult =
|
||||
boost::container::find_if(const_reverse_iterator(last), rend(),
|
||||
Not_within_traits<Traits>(s, s + n));
|
||||
@@ -2614,7 +2614,7 @@ class basic_string
|
||||
if (len < 1)
|
||||
return npos;
|
||||
else {
|
||||
const const_iterator last = begin() + container_detail::min_value(len - 1, pos) + 1;
|
||||
const const_iterator last = begin() + dtl::min_value(len - 1, pos) + 1;
|
||||
const const_reverse_iterator rresult =
|
||||
boost::container::find_if(const_reverse_iterator(last), rend(),
|
||||
boost::container::not1(boost::container::bind2nd(Eq_traits<Traits>(), c)));
|
||||
@@ -2636,7 +2636,7 @@ class basic_string
|
||||
throw_out_of_range("basic_string::substr out of range position");
|
||||
const pointer addr = this->priv_addr();
|
||||
return basic_string(addr + pos,
|
||||
addr + pos + container_detail::min_value(n, size() - pos), this->alloc());
|
||||
addr + pos + dtl::min_value(n, size() - pos), this->alloc());
|
||||
}
|
||||
|
||||
//! <b>Effects</b>: Determines the effective length rlen of the string to compare as
|
||||
@@ -2681,7 +2681,7 @@ class basic_string
|
||||
const pointer addr = this->priv_addr();
|
||||
const pointer str_addr = str.priv_addr();
|
||||
return s_compare(addr + pos1,
|
||||
addr + pos1 + container_detail::min_value(n1, this->size() - pos1),
|
||||
addr + pos1 + dtl::min_value(n1, this->size() - pos1),
|
||||
str_addr, str_addr + str.priv_size());
|
||||
}
|
||||
|
||||
@@ -2697,7 +2697,7 @@ class basic_string
|
||||
throw_out_of_range("basic_string::compare out of range position");
|
||||
const pointer addr = this->priv_addr() + pos1;
|
||||
const CharT* str_addr = sv.data();
|
||||
return s_compare(addr, addr + container_detail::min_value(n1, this->size() - pos1),
|
||||
return s_compare(addr, addr + dtl::min_value(n1, this->size() - pos1),
|
||||
str_addr, str_addr + sv.size());
|
||||
}
|
||||
|
||||
@@ -2715,8 +2715,8 @@ class basic_string
|
||||
throw_out_of_range("basic_string::compare out of range position");
|
||||
const pointer addr = this->priv_addr() + pos1;
|
||||
const pointer str_addr = str.priv_addr() + pos2;
|
||||
return s_compare(addr, addr + container_detail::min_value(n1, this->size() - pos1),
|
||||
str_addr, str_addr + container_detail::min_value(n2, str.size() - pos2));
|
||||
return s_compare(addr, addr + dtl::min_value(n1, this->size() - pos1),
|
||||
str_addr, str_addr + dtl::min_value(n2, str.size() - pos2));
|
||||
}
|
||||
|
||||
//! <b>Requires</b>: pos1 <= size() and pos2 <= str.size()
|
||||
@@ -2734,8 +2734,8 @@ class basic_string
|
||||
throw_out_of_range("basic_string::compare out of range position");
|
||||
const pointer addr = this->priv_addr() + pos1;
|
||||
const CharT * str_addr = sv.data() + pos2;
|
||||
return s_compare(addr, addr + container_detail::min_value(n1, this->size() - pos1),
|
||||
str_addr, str_addr + container_detail::min_value(n2, sv.size() - pos2));
|
||||
return s_compare(addr, addr + dtl::min_value(n1, this->size() - pos1),
|
||||
str_addr, str_addr + dtl::min_value(n2, sv.size() - pos2));
|
||||
}
|
||||
|
||||
//! <b>Throws</b>: Nothing
|
||||
@@ -2758,7 +2758,7 @@ class basic_string
|
||||
throw_out_of_range("basic_string::compare out of range position");
|
||||
const pointer addr = this->priv_addr();
|
||||
return s_compare( addr + pos1,
|
||||
addr + pos1 + container_detail::min_value(n1, this->size() - pos1),
|
||||
addr + pos1 + dtl::min_value(n1, this->size() - pos1),
|
||||
s, s + n2);
|
||||
}
|
||||
|
||||
@@ -2779,7 +2779,7 @@ class basic_string
|
||||
}
|
||||
|
||||
if (this->capacity() < res_arg){
|
||||
size_type n = container_detail::max_value(res_arg, this->size()) + 1;
|
||||
size_type n = dtl::max_value(res_arg, this->size()) + 1;
|
||||
size_type new_cap = this->next_capacity(n);
|
||||
pointer reuse = 0;
|
||||
pointer new_start = this->allocation_command(allocate_new, n, new_cap, reuse);
|
||||
@@ -2806,14 +2806,14 @@ class basic_string
|
||||
const difference_type n2 = l2 - f2;
|
||||
const int cmp = Traits::compare(boost::movelib::to_raw_pointer(f1),
|
||||
boost::movelib::to_raw_pointer(f2),
|
||||
container_detail::min_value(n1, n2));
|
||||
dtl::min_value(n1, n2));
|
||||
return cmp != 0 ? cmp : (n1 < n2 ? -1 : (n1 > n2 ? 1 : 0));
|
||||
}
|
||||
|
||||
template<class AllocVersion>
|
||||
void priv_shrink_to_fit_dynamic_buffer
|
||||
( AllocVersion
|
||||
, typename container_detail::enable_if<container_detail::is_same<AllocVersion, version_1> >::type* = 0)
|
||||
, typename dtl::enable_if<dtl::is_same<AllocVersion, version_1> >::type* = 0)
|
||||
{
|
||||
//Allocate a new buffer.
|
||||
size_type real_cap = 0;
|
||||
@@ -2843,7 +2843,7 @@ class basic_string
|
||||
template<class AllocVersion>
|
||||
void priv_shrink_to_fit_dynamic_buffer
|
||||
( AllocVersion
|
||||
, typename container_detail::enable_if<container_detail::is_same<AllocVersion, version_2> >::type* = 0)
|
||||
, typename dtl::enable_if<dtl::is_same<AllocVersion, version_2> >::type* = 0)
|
||||
{
|
||||
size_type received_size = this->priv_long_size()+1;
|
||||
pointer hint = this->priv_long_addr();
|
||||
@@ -2920,13 +2920,13 @@ class basic_string
|
||||
template <class Integer>
|
||||
basic_string& priv_replace_dispatch(const_iterator first, const_iterator last,
|
||||
Integer n, Integer x,
|
||||
container_detail::true_)
|
||||
dtl::true_)
|
||||
{ return this->replace(first, last, (size_type) n, (CharT) x); }
|
||||
|
||||
template <class InputIter>
|
||||
basic_string& priv_replace_dispatch(const_iterator first, const_iterator last,
|
||||
InputIter f, InputIter l,
|
||||
container_detail::false_)
|
||||
dtl::false_)
|
||||
{
|
||||
typedef typename boost::container::iterator_traits<InputIter>::iterator_category Category;
|
||||
return this->priv_replace(first, last, f, l, Category());
|
||||
@@ -3080,7 +3080,7 @@ operator==(const basic_string<CharT,Traits,Allocator>& x, const CharT* s)
|
||||
template <class CharT, class Traits, class Allocator, template <class, class> class BasicStringView>
|
||||
inline
|
||||
BOOST_CONTAINER_DOC1ST( bool,
|
||||
typename container_detail::disable_if
|
||||
typename dtl::disable_if
|
||||
<is_string< BasicStringView<CharT BOOST_MOVE_I Traits> > BOOST_MOVE_I bool >::type)
|
||||
operator==( BasicStringView<CharT,Traits> x, const basic_string<CharT,Traits,Allocator>& y)
|
||||
{
|
||||
@@ -3091,7 +3091,7 @@ inline
|
||||
template <class CharT, class Traits, class Allocator, template <class, class> class BasicStringView>
|
||||
inline
|
||||
BOOST_CONTAINER_DOC1ST( bool,
|
||||
typename container_detail::disable_if
|
||||
typename dtl::disable_if
|
||||
<is_string< BasicStringView<CharT BOOST_MOVE_I Traits> > BOOST_MOVE_I bool >::type)
|
||||
operator==( const basic_string<CharT,Traits,Allocator>& x, BasicStringView<CharT,Traits> y)
|
||||
{
|
||||
@@ -3118,7 +3118,7 @@ operator!=(const basic_string<CharT,Traits,Allocator>& x, const CharT* s)
|
||||
template <class CharT, class Traits, class Allocator, template <class, class> class BasicStringView>
|
||||
inline
|
||||
BOOST_CONTAINER_DOC1ST( bool,
|
||||
typename container_detail::disable_if
|
||||
typename dtl::disable_if
|
||||
<is_string< BasicStringView<CharT BOOST_MOVE_I Traits> > BOOST_MOVE_I bool >::type)
|
||||
operator!=( BasicStringView<CharT,Traits> x, const basic_string<CharT,Traits,Allocator>& y)
|
||||
{ return !(x == y); }
|
||||
@@ -3126,7 +3126,7 @@ operator!=( BasicStringView<CharT,Traits> x, const basic_string<CharT,Traits,All
|
||||
template <class CharT, class Traits, class Allocator, template <class, class> class BasicStringView>
|
||||
inline
|
||||
BOOST_CONTAINER_DOC1ST( bool,
|
||||
typename container_detail::disable_if
|
||||
typename dtl::disable_if
|
||||
<is_string< BasicStringView<CharT BOOST_MOVE_I Traits> > BOOST_MOVE_I bool >::type)
|
||||
operator!=( const basic_string<CharT,Traits,Allocator>& x, BasicStringView<CharT,Traits> y)
|
||||
{ return !(x == y); }
|
||||
@@ -3156,7 +3156,7 @@ operator<(const basic_string<CharT,Traits,Allocator>& x, const CharT* s)
|
||||
template <class CharT, class Traits, class Allocator, template <class, class> class BasicStringView>
|
||||
inline
|
||||
BOOST_CONTAINER_DOC1ST( bool,
|
||||
typename container_detail::disable_if
|
||||
typename dtl::disable_if
|
||||
<is_string< BasicStringView<CharT BOOST_MOVE_I Traits> > BOOST_MOVE_I bool >::type)
|
||||
operator<( BasicStringView<CharT,Traits> x, const basic_string<CharT,Traits,Allocator>& y)
|
||||
{ return y.compare(x) > 0; }
|
||||
@@ -3164,7 +3164,7 @@ operator<( BasicStringView<CharT,Traits> x, const basic_string<CharT,Traits,Allo
|
||||
template <class CharT, class Traits, class Allocator, template <class, class> class BasicStringView>
|
||||
inline
|
||||
BOOST_CONTAINER_DOC1ST( bool,
|
||||
typename container_detail::disable_if
|
||||
typename dtl::disable_if
|
||||
<is_string< BasicStringView<CharT BOOST_MOVE_I Traits> > BOOST_MOVE_I bool >::type)
|
||||
operator<( const basic_string<CharT,Traits,Allocator>& x, BasicStringView<CharT,Traits> y)
|
||||
{ return x.compare(y) < 0; }
|
||||
@@ -3191,7 +3191,7 @@ operator>(const basic_string<CharT,Traits,Allocator>& x, const CharT* s)
|
||||
template <class CharT, class Traits, class Allocator, template <class, class> class BasicStringView>
|
||||
inline
|
||||
BOOST_CONTAINER_DOC1ST( bool,
|
||||
typename container_detail::disable_if
|
||||
typename dtl::disable_if
|
||||
<is_string< BasicStringView<CharT BOOST_MOVE_I Traits> > BOOST_MOVE_I bool >::type)
|
||||
operator>( BasicStringView<CharT,Traits> x, const basic_string<CharT,Traits,Allocator>& y)
|
||||
{ return y < x; }
|
||||
@@ -3199,7 +3199,7 @@ operator>( BasicStringView<CharT,Traits> x, const basic_string<CharT,Traits,Allo
|
||||
template <class CharT, class Traits, class Allocator, template <class, class> class BasicStringView>
|
||||
inline
|
||||
BOOST_CONTAINER_DOC1ST( bool,
|
||||
typename container_detail::disable_if
|
||||
typename dtl::disable_if
|
||||
<is_string< BasicStringView<CharT BOOST_MOVE_I Traits> > BOOST_MOVE_I bool >::type)
|
||||
operator>( const basic_string<CharT,Traits,Allocator>& x, BasicStringView<CharT,Traits> y)
|
||||
{ return y < x; }
|
||||
@@ -3225,7 +3225,7 @@ operator<=(const basic_string<CharT,Traits,Allocator>& x, const CharT* s)
|
||||
template <class CharT, class Traits, class Allocator, template <class, class> class BasicStringView>
|
||||
inline
|
||||
BOOST_CONTAINER_DOC1ST( bool,
|
||||
typename container_detail::disable_if
|
||||
typename dtl::disable_if
|
||||
<is_string< BasicStringView<CharT BOOST_MOVE_I Traits> > BOOST_MOVE_I bool >::type)
|
||||
operator<=( BasicStringView<CharT,Traits> x, const basic_string<CharT,Traits,Allocator>& y)
|
||||
{ return !(y < x); }
|
||||
@@ -3233,7 +3233,7 @@ operator<=( BasicStringView<CharT,Traits> x, const basic_string<CharT,Traits,All
|
||||
template <class CharT, class Traits, class Allocator, template <class, class> class BasicStringView>
|
||||
inline
|
||||
BOOST_CONTAINER_DOC1ST( bool,
|
||||
typename container_detail::disable_if
|
||||
typename dtl::disable_if
|
||||
<is_string< BasicStringView<CharT BOOST_MOVE_I Traits> > BOOST_MOVE_I bool >::type)
|
||||
operator<=( const basic_string<CharT,Traits,Allocator>& x, BasicStringView<CharT,Traits> y)
|
||||
{ return !(y < x); }
|
||||
@@ -3257,7 +3257,7 @@ operator>=(const basic_string<CharT,Traits,Allocator>& x, const CharT* s)
|
||||
template <class CharT, class Traits, class Allocator, template <class, class> class BasicStringView>
|
||||
inline
|
||||
BOOST_CONTAINER_DOC1ST( bool,
|
||||
typename container_detail::disable_if
|
||||
typename dtl::disable_if
|
||||
<is_string< BasicStringView<CharT BOOST_MOVE_I Traits> > BOOST_MOVE_I bool >::type)
|
||||
operator>=( BasicStringView<CharT,Traits> x, const basic_string<CharT,Traits,Allocator>& y)
|
||||
{ return !(x < y); }
|
||||
@@ -3265,7 +3265,7 @@ operator>=( BasicStringView<CharT,Traits> x, const basic_string<CharT,Traits,All
|
||||
template <class CharT, class Traits, class Allocator, template <class, class> class BasicStringView>
|
||||
inline
|
||||
BOOST_CONTAINER_DOC1ST( bool,
|
||||
typename container_detail::disable_if
|
||||
typename dtl::disable_if
|
||||
<is_string< BasicStringView<CharT BOOST_MOVE_I Traits> > BOOST_MOVE_I bool >::type)
|
||||
operator>=( const basic_string<CharT,Traits,Allocator>& x, BasicStringView<CharT,Traits> y)
|
||||
{ return !(x < y); }
|
||||
@@ -3277,7 +3277,7 @@ inline void swap(basic_string<CharT,Traits,Allocator>& x, basic_string<CharT,Tra
|
||||
|
||||
#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
|
||||
// I/O.
|
||||
namespace container_detail {
|
||||
namespace dtl {
|
||||
|
||||
template <class CharT, class Traits>
|
||||
inline bool
|
||||
@@ -3294,7 +3294,7 @@ string_fill(std::basic_ostream<CharT, Traits>& os,
|
||||
return ok;
|
||||
}
|
||||
|
||||
} //namespace container_detail {
|
||||
} //namespace dtl {
|
||||
#endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
|
||||
|
||||
template <class CharT, class Traits, class Allocator>
|
||||
@@ -3316,13 +3316,13 @@ operator<<(std::basic_ostream<CharT, Traits>& os, const basic_string<CharT,Trait
|
||||
pad_len = w - n;
|
||||
|
||||
if (!left)
|
||||
ok = container_detail::string_fill(os, buf, pad_len);
|
||||
ok = dtl::string_fill(os, buf, pad_len);
|
||||
|
||||
ok = ok &&
|
||||
buf->sputn(s.data(), std::streamsize(n)) == std::streamsize(n);
|
||||
|
||||
if (left)
|
||||
ok = ok && container_detail::string_fill(os, buf, pad_len);
|
||||
ok = ok && dtl::string_fill(os, buf, pad_len);
|
||||
}
|
||||
|
||||
if (!ok)
|
||||
|
||||
Reference in New Issue
Block a user