Erased tab & removed unneeded clear() in assignment

This commit is contained in:
Ion Gaztañaga
2014-08-15 18:13:05 +02:00
parent c03b2357ce
commit dd01853881
2 changed files with 10 additions and 9 deletions

View File

@@ -643,10 +643,10 @@ class stable_vector
stable_vector(std::initializer_list<value_type> il, const allocator_type& l = allocator_type()) stable_vector(std::initializer_list<value_type> il, const allocator_type& l = allocator_type())
: internal_data(l), index(l) : internal_data(l), index(l)
{ {
stable_vector_detail::clear_on_destroy<stable_vector> cod(*this); stable_vector_detail::clear_on_destroy<stable_vector> cod(*this);
insert(cend(), il.begin(), il.end()) insert(cend(), il.begin(), il.end())
STABLE_VECTOR_CHECK_INVARIANT; STABLE_VECTOR_CHECK_INVARIANT;
cod.release(); cod.release();
} }
#endif #endif
@@ -782,8 +782,6 @@ class stable_vector
stable_vector& operator=(std::initializer_list<value_type> il) stable_vector& operator=(std::initializer_list<value_type> il)
{ {
STABLE_VECTOR_CHECK_INVARIANT; STABLE_VECTOR_CHECK_INVARIANT;
clear();
shrink_to_fit();
assign(il.begin(), il.end()); assign(il.begin(), il.end());
return *this; return *this;
} }
@@ -836,8 +834,8 @@ class stable_vector
//! //!
void assign(std::initializer_list<value_type> il) void assign(std::initializer_list<value_type> il)
{ {
STABLE_VECTOR_CHECK_INVARIANT; STABLE_VECTOR_CHECK_INVARIANT;
assign(il.begin(), il.end()); assign(il.begin(), il.end());
} }
#endif #endif
@@ -1404,7 +1402,7 @@ class stable_vector
//! <b>Complexity</b>: Linear to std::distance [il.begin(), il.end()). //! <b>Complexity</b>: Linear to std::distance [il.begin(), il.end()).
iterator insert(const_iterator p, std::initializer_list<value_type> il) iterator insert(const_iterator p, std::initializer_list<value_type> il)
{ {
STABLE_VECTOR_CHECK_INVARIANT; STABLE_VECTOR_CHECK_INVARIANT;
return insert(p, il.begin(), il.end()); return insert(p, il.begin(), il.end());
} }
#endif #endif

View File

@@ -216,6 +216,9 @@ int main()
if(!boost::container::test::test_propagate_allocator<stable_vector>()) if(!boost::container::test::test_propagate_allocator<stable_vector>())
return 1; return 1;
////////////////////////////////////
// Initializer lists testing
////////////////////////////////////
if(!test_methods_with_initializer_list_as_argument()) if(!test_methods_with_initializer_list_as_argument())
{ {
std::cerr << "test_methods_with_initializer_list_as_argument failed" << std::endl; std::cerr << "test_methods_with_initializer_list_as_argument failed" << std::endl;