Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r81259 - in trunk: boost/smart_ptr libs/smart_ptr/test
From: glenfe_at_[hidden]
Date: 2012-11-09 05:14:56


Author: glenfe
Date: 2012-11-09 05:14:55 EST (Fri, 09 Nov 2012)
New Revision: 81259
URL: http://svn.boost.org/trac/boost/changeset/81259

Log:
Change make_shared and allocate_shared array form semantics with initializer lists overload that takes no size.
Text files modified:
   trunk/boost/smart_ptr/allocate_shared_array.hpp | 4 ++--
   trunk/boost/smart_ptr/make_shared_array.hpp | 4 ++--
   trunk/libs/smart_ptr/test/allocate_shared_array_create_test.cpp | 4 ++--
   trunk/libs/smart_ptr/test/make_shared_array_create_test.cpp | 4 ++--
   4 files changed, 8 insertions(+), 8 deletions(-)

Modified: trunk/boost/smart_ptr/allocate_shared_array.hpp
==============================================================================
--- trunk/boost/smart_ptr/allocate_shared_array.hpp (original)
+++ trunk/boost/smart_ptr/allocate_shared_array.hpp 2012-11-09 05:14:55 EST (Fri, 09 Nov 2012)
@@ -55,14 +55,14 @@
 #if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)
     template<typename T, typename A>
     inline typename detail::sp_if_array<T>::type
- allocate_shared(const A& allocator, size_t size, typename detail::array_list<T>::type list) {
+ allocate_shared(const A& allocator, typename detail::array_list<T>::type list) {
         typedef typename shared_ptr<T>::element_type T1;
         typedef typename detail::array_type<T1>::type T2;
         typedef const T2 T3;
         T1* p1 = 0;
         T2* p2 = 0;
         T3* p3 = 0;
- size_t n1 = size * detail::array_size<T1>::size;
+ size_t n1 = list.size() * detail::array_size<T1>::size;
         detail::allocate_array_helper<A, T2> a1(allocator, n1, &p2);
         detail::array_deleter<T2> d1;
         shared_ptr<T> s1(p1, d1, a1);

Modified: trunk/boost/smart_ptr/make_shared_array.hpp
==============================================================================
--- trunk/boost/smart_ptr/make_shared_array.hpp (original)
+++ trunk/boost/smart_ptr/make_shared_array.hpp 2012-11-09 05:14:55 EST (Fri, 09 Nov 2012)
@@ -55,14 +55,14 @@
 #if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)
     template<typename T>
     inline typename detail::sp_if_array<T>::type
- make_shared(std::size_t size, typename detail::array_list<T>::type list) {
+ make_shared(typename detail::array_list<T>::type list) {
         typedef typename shared_ptr<T>::element_type T1;
         typedef typename detail::array_type<T1>::type T2;
         typedef const T2 T3;
         T1* p1 = 0;
         T2* p2 = 0;
         T3* p3 = 0;
- size_t n1 = size * detail::array_size<T1>::size;
+ size_t n1 = list.size() * detail::array_size<T1>::size;
         detail::make_array_helper<T2> a1(n1, &p2);
         detail::array_deleter<T2> d1;
         shared_ptr<T> s1(p1, d1, a1);

Modified: trunk/libs/smart_ptr/test/allocate_shared_array_create_test.cpp
==============================================================================
--- trunk/libs/smart_ptr/test/allocate_shared_array_create_test.cpp (original)
+++ trunk/libs/smart_ptr/test/allocate_shared_array_create_test.cpp 2012-11-09 05:14:55 EST (Fri, 09 Nov 2012)
@@ -76,14 +76,14 @@
 #endif
 #if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)
     {
- boost::shared_ptr<int[]> a1 = boost::allocate_shared<int[]>(std::allocator<int>(), 4, { 0, 1, 2, 3 });
+ boost::shared_ptr<int[]> a1 = boost::allocate_shared<int[]>(std::allocator<int>(), { 0, 1, 2, 3 });
         BOOST_TEST(a1[0] == 0);
         BOOST_TEST(a1[1] == 1);
         BOOST_TEST(a1[2] == 2);
         BOOST_TEST(a1[3] == 3);
     }
     {
- boost::shared_ptr<int[][2]> a1 = boost::allocate_shared<int[][2]>(std::allocator<int>(), 2, { {0, 1}, {2, 3} });
+ boost::shared_ptr<int[][2]> a1 = boost::allocate_shared<int[][2]>(std::allocator<int>(), { {0, 1}, {2, 3} });
         BOOST_TEST(a1[0][0] == 0);
         BOOST_TEST(a1[0][1] == 1);
         BOOST_TEST(a1[1][0] == 2);

Modified: trunk/libs/smart_ptr/test/make_shared_array_create_test.cpp
==============================================================================
--- trunk/libs/smart_ptr/test/make_shared_array_create_test.cpp (original)
+++ trunk/libs/smart_ptr/test/make_shared_array_create_test.cpp 2012-11-09 05:14:55 EST (Fri, 09 Nov 2012)
@@ -76,14 +76,14 @@
 #endif
 #if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)
     {
- boost::shared_ptr<int[]> a1 = boost::make_shared<int[]>(4, { 0, 1, 2, 3 });
+ boost::shared_ptr<int[]> a1 = boost::make_shared<int[]>({ 0, 1, 2, 3 });
         BOOST_TEST(a1[0] == 0);
         BOOST_TEST(a1[1] == 1);
         BOOST_TEST(a1[2] == 2);
         BOOST_TEST(a1[3] == 3);
     }
     {
- boost::shared_ptr<int[][2]> a1 = boost::make_shared<int[][2]>(2, { {0, 1}, {2, 3} });
+ boost::shared_ptr<int[][2]> a1 = boost::make_shared<int[][2]>({ {0, 1}, {2, 3} });
         BOOST_TEST(a1[0][0] == 0);
         BOOST_TEST(a1[0][1] == 1);
         BOOST_TEST(a1[1][0] == 2);


Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk