Commit Graph

512 Commits

Author SHA1 Message Date
Peter Dimov
d0a458616f Merged 43316, 43317, 43318, 43733, 43782, 43873, 43888, 43916, 43950, 44055, 44056, 44058, 44073, 44074, 44132, 44137, 44138, 44140, 44344 from trunk to release
[SVN r47339]
2014-02-12 16:37:21 +02:00
Beman Dawes
def81b1941 config, detail, filesystem, system, tools, at 41278.
[SVN r41316]
2014-02-12 16:37:21 +02:00
Peter Dimov
4f276715ce Windows CE patch by Michael Fink
[SVN r33986]
2014-02-12 16:37:20 +02:00
Anthony Williams
a47bbfe95c Win32 implementation of boost::timed_mutex
[SVN r33272]
2014-02-12 16:37:20 +02:00
Peter Dimov
90fe855f1b Fixed a couple of syntax errors (reported by Juergen Hunold)
[SVN r31946]
2014-02-12 16:37:20 +02:00
Peter Dimov
991436303d Fixed bug #1370716, static shared_ptr instances not working w/ quick_allocator
[SVN r31931]
2014-02-12 16:37:19 +02:00
Anthony Williams
b274ed4cc3 Moved BOOST_INTERLOCKED_READ stuff into its own header
[SVN r31098]
2014-02-12 16:37:18 +02:00
Anthony Williams
870a989fcf Removed :: qualification on _Interlocked functions
[SVN r31097]
2014-02-12 16:37:18 +02:00
Anthony Williams
5f7a5a5912 Added BOOST_INTERLOCKED_EXCHANGE_POINTER in all branches of the #if
[SVN r31012]
2014-02-12 16:37:17 +02:00
Anthony Williams
82db88f4fa Added InterlockedExchangePointer
[SVN r31010]
2014-02-12 16:37:17 +02:00
Anthony Williams
c8df85434e InterlockedCompareExchangePointer is only intrinsic on 64 bit platforms, otherwise it's just a synonym for InterlockedCompareExchange
[SVN r30951]
2014-02-12 16:37:16 +02:00
Anthony Williams
68517b43bd Added interlocked compare/exchange for pointers, and interlocked_read for values and pointers
[SVN r30941]
2014-02-12 16:37:16 +02:00
Anthony Williams
72ac0e8bfd New version of call_once for win32
[SVN r30847]
2014-02-12 16:37:15 +02:00
Peter Dimov
6c7578e206 <intrin.h> appears broken.
[SVN r27737]
2014-02-12 16:37:15 +02:00
Peter Dimov
3149446fe8 Split sp_counted_base into no threads (nt), win32 lock-free (w32) and pthreads (pt)
[SVN r27729]
2014-02-12 16:37:14 +02:00
Douglas Gregor
b11d734f73 Converted to Boost Software License, Version 1.0
[SVN r24055]
2014-02-12 16:37:14 +02:00
Peter Dimov
6f5f8babf4 _MSC_VER use clarified.
[SVN r20992]
2014-02-12 16:37:13 +02:00
Peter Dimov
7d7f32c3a9 -Wundef fixes.
[SVN r18788]
2014-02-12 16:37:13 +02:00
Peter Dimov
cb697fe9cb Fixes for Comeau with Borland as backend.
[SVN r17588]
2014-02-12 16:37:12 +02:00
Peter Dimov
8422135bf2 Made the default page size 512 (g++ 2.96 on Red Hat 7.2 dislikes 496.)
[SVN r17272]
2014-02-12 16:37:12 +02:00
Peter Dimov
fd60899dfb Added BOOST_QA_PAGE_SIZE.
[SVN r17270]
2014-02-12 16:37:12 +02:00
Peter Dimov
a11ab16010 Quick_allocator updates.
[SVN r17267]
2014-02-12 16:37:11 +02:00
Peter Dimov
9b9cad3f5b Dave's quick_allocator added, #define BOOST_SP_USE_QUICK_ALLOCATOR to make shared_ptr use it.
[SVN r17087]
2014-02-12 16:37:11 +02:00
Glen Fernandes
54fb49a5be Use typedef A1 (warnings about unused typedefs) 2014-02-09 11:27:22 -08:00
Glen Fernandes
c23bd41c44 Refactor make_shared for arrays
Refactor implementation to later simplify making an optimization [for the C++11
allocator case] for when sp_counted_impl_pda destruction invokes the
allocator's destroy function instead of the type's destructor.
2014-02-07 08:03:47 -08:00
Peter Dimov
a64cc5c41c Use allocator)traits<>::destroy in sp_counted_impl_pda::destroy 2014-02-07 17:37:00 +02:00
Glen Fernandes
d46e3c7cbd Simplify/tidy array_allocator and array_deleter 2014-02-06 01:38:58 -08:00
Glen Fernandes
6d73b4aa54 Work around VC11 which has broken rebind_traits
VC11 has only partial support for C++11 allocators. For example it has a
non-conforming rebind_alloc and rebind_traits in std::allocator_traits
because it does not support C++11 template aliases.
2014-02-04 23:56:34 -08:00
Peter Dimov
9f5822f427 Add support and test for C++11 construct/destroy in allocate_shared 2014-02-05 02:31:33 +02:00
Peter Dimov
d229ae870c Subsume zero-argument overload into the variadic one 2014-02-05 01:04:20 +02:00
Glen Fernandes
3ac6dbbf08 Make detail::as_allocator template C++11 friendly 2014-02-04 15:00:24 -08:00
Peter Dimov
af5141d492 Merge commit 2014-02-05 00:32:36 +02:00
Peter Dimov
90e74511f7 Add support and tests for C++11 minimal allocators 2014-02-05 00:17:34 +02:00
Glen Fernandes
51ab46a07d Fix use of rebind_traits and rebind_alloc 2014-02-04 12:42:10 -08:00
Glen Fernandes
e8595a05af Fix use of rebind_traits and rebind_alloc 2014-02-04 08:43:36 -08:00
Glen Fernandes
154a274916 Update make_shared for arrays to address 2070
This updates make_shared and allocate_shared for arrays in accordance with
report 2070 which requires that allocator_traits<A2>::construct(a2, ptr,
...) is used for construction and allocator_traits<A2>::destroy(a2, ptr)
is used for destruction instead of placement new and destructor
invocation.
2014-02-04 04:46:03 -08:00
Glen Fernandes
63a05a3576 Refactor make_array_helper and array_deleter
Reduce the amount of code in allocate_array_helper, make_array_helper, and
array_deleter using the empty base class optimization technique.
2014-02-03 07:28:01 -08:00
Glen Fernandes
72e5fb6fd7 Add fourth form of make_unique for objects
To support initialization syntax that Args&&... cannot forward perfectly.
2014-01-29 17:16:01 -08:00
Glen Fernandes
7fef3bb40b Add top-level make_unique.hpp and documentation 2014-01-29 07:25:30 -08:00
Glen Fernandes
7806737b52 Add make_unique for arrays and objects 2014-01-28 03:58:51 -08:00
Glen Fernandes
87e5debdc2 Minor cosmetic changes in make_shared for arrays 2014-01-28 03:40:54 -08:00
Glen Fernandes
630e4f49f3 Update make_shared for arrays to conform to N3870
Update make_shared and allocate_shared for arrays to be confined to the
set of overloads specified in N3870.
2014-01-23 20:40:46 -08:00
Peter Dimov
4de3f36839 Add add_ref parameter to intrusive_ptr::reset, add tests for reset. 2013-12-26 18:47:05 +02:00
Avi Kivity
73153d5797 Add intrusive_ptr<>::detach()
This provides a way to escape from automatic reference counting, and taking
manual control of the reference.  Useful when interfacing to a C API that
expects a pointer with an elevated reference count.

Similar to std::unique_ptr<>::release().
2013-12-26 17:47:28 +02:00
Peter Dimov
d7fa365843 Remove obsolete _nmt headers. 2013-12-14 00:15:51 +02:00
Peter Dimov
6e0ee30543 Update atomic_count.hpp to match sp_counted_base.hpp. 2013-12-14 00:01:01 +02:00
Peter Dimov
fed15ad8c5 Add support for BOOST_SP_USE_STD_ATOMIC 2013-12-13 22:58:09 +02:00
Peter Dimov
bba3b446bd Check return values of pthread_* calls with BOOST_VERIFY, per #8898 2013-12-12 02:36:33 +02:00
Peter Dimov
4c8a558982 Check return values of pthread_* calls with BOOST_VERIFY, per #8904. 2013-12-12 01:42:16 +02:00
Peter Dimov
a41b81f1c8 Added shared_array constructor from nullptr, per #8894. 2013-12-12 01:22:51 +02:00