Commit Graph

88 Commits

Author SHA1 Message Date
Glen Fernandes
7be41ca8f9 Use allocator's max_size() when possible 2019-08-15 17:25:37 -04:00
Glen Fernandes
0818faec5c Hide internals from Boostbook Doxygen 2019-05-21 21:57:55 -04:00
Glen Fernandes
81e4b9590f Merge branch niklasfejes/insert-bug-fix into develop 2019-04-24 00:11:22 -04:00
Glen Fernandes
03a5c8494e Eliminate ubsan warning on add() and sub() 2019-04-23 09:01:05 -04:00
Tinko Bartels
061ac223a1 Replace broken sgi links. 2019-04-23 13:38:28 +02:00
Glen Fernandes
b07fbd056a More max that needs guarding from Windows header macros 2018-11-28 20:06:31 -05:00
Glen Fernandes
2433adc0ec Add variadic construct to cb_details::allocator_traits 2018-10-02 06:08:26 -04:00
luz.paz
187f4db314 circular_buffer: misc-typos
Found via `codespell -q 3 -L tim`
2018-09-23 15:35:26 -04:00
Glen Fernandes
fc3e2cd1bc Drop dependency on Boost.Iterator 2018-09-07 08:10:50 -04:00
Glen Fernandes
28e32ba5e8 Remove or replace unnecessary or obsolete header includes 2018-09-07 00:45:01 -04:00
Glen Fernandes
ca3d6678ee In pre-C++11 use our own allocator_traits implementation
Drops dependency on Boost.Container.
2018-09-07 00:44:52 -04:00
Adam Shapiro
a3317ecd15 Removed unnecessary include of call_traits.hpp. 2018-09-06 20:36:27 -04:00
Adam Shapiro
7572374d3b Corrected no_exceptions_support.hpp include. 2018-09-06 20:36:09 -04:00
Glen Fernandes
bad3f6a8ec Use the empty base optimization for the Allocator 2018-09-05 23:43:32 -04:00
Niklas Fejes
3b9280c0e0 Fix broken uninitialized check. 2018-07-17 09:49:40 +02:00
Daniela Engert
14b50f574a
Inheriting std::iterator is deprecated in c++17.
Boost's iterator.hpp is deprecated, too. Therefore get rid of all of that and replace inheritance by lifting std::iterator's members into the derived class.

Signed-off-by: Daniela Engert <dani@ngrt.de>
2017-12-28 10:44:23 +01:00
Glen Fernandes
5c5bef6cee Use to_address free function instead of pointer_traits member 2017-11-23 23:21:39 -05:00
Glen Fernandes
ef8c59c4a6 Use pointer_traits.to_address instead of addressof(*p) 2017-05-29 18:39:33 -04:00
Andrey Semashev
ea60799f31 Disable debug implementation by default
The debug implementation is not thread-safe, even if different threads are using separate iterators for reading elements of the container. BOOST_CB_DISABLE_DEBUG macro is no longer used, BOOST_CB_ENABLE_DEBUG=1 should be defined instead to enable debug support.

Fixes https://svn.boost.org/trac/boost/ticket/6277.
2016-04-29 00:56:06 +03:00
Marcel Raad
45c5d05b1d Remove deprecated include
All that boost/iterator.hpp does is pull std::iterator into namespace boost. A comment in that header mentions: "This header is obsolete and will be deprecated."
2015-09-11 16:30:17 +02:00
Alexander Merry
2c88fa2f27 Use boost/move/adl_move_swap.hpp to perform swaps. 2015-04-21 09:02:26 +01:00
Antony Polukhin
d48b479c6a Use move_if_noexcept from Boost.Move 2014-08-18 12:08:23 +04:00
Antony Polukhin
f02cbb939c Finished sync of develop and master branches 2014-08-12 20:50:49 +04:00
Glen Fernandes
7e233f7b41 Merge branch 'develop' 2014-05-04 07:42:32 -07:00
Glen Fernandes
18306aee33 Eliminate need for do_construct helper 2014-05-02 10:26:11 -07:00
Glen Fernandes
c4b62627e7 Add C++11 allocator model support 2014-05-01 23:50:44 -07:00
Antony Polukhin
f5303c70d8 Merge branch 'develop' 2014-01-19 12:02:44 +04:00
Antony Polukhin
62233c53bb Removed some whitespaces 2013-12-09 11:13:34 +04:00
Antony Polukhin
fc1d341a26 Fixed setting memory to '0xcc' in debug mode for non-pointer allocator::pointer types 2013-12-09 11:13:34 +04:00
Antony Polukhin
ece1277965 Fixed issues with allocators that do not return pointers, added tes case for such situations (refs #9334) 2013-12-09 11:13:34 +04:00
Antony Polukhin
33cfe492d9 Merge circular_buffer from trunk:
* dropped support of antique compilers (thanks to Stephen Kelly for doing it all around the boost!)

[SVN r86677]
2013-11-13 13:30:10 +00:00
Stephen Kelly
f9694e2dcb Remove remaining occurances of BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
These evaded scripting.

[SVN r86249]
2013-10-11 23:22:36 +00:00
Stephen Kelly
6b14d766d2 CircularBuffer: Remove obsolete MSVC version checks.
[SVN r86081]
2013-09-30 16:03:51 +00:00
Stephen Kelly
d2d2710560 Remove use of BOOST_ITERATOR_CATEGORY
[SVN r86056]
2013-09-30 15:54:32 +00:00
Stephen Kelly
1f3a0aaa3d Remove obsolete MSVC check from pragma guard
git grep -h -B1 "^#\s*pragma once" | grep -v pragma | sort | uniq

is now clean.

[SVN r85952]
2013-09-26 13:02:51 +00:00
Antony Polukhin
6eb5fd4a3d Big merge of Boost.CircularBuffer :
* Full merge of QuickBoock documentation from Paul A. Bristow
* Merged rvalue references support with tests and documentation (fixed #7888)

[SVN r85510]
2013-08-29 08:39:09 +00:00
Antony Polukhin
f129fc1a7e Make move_if_noexcept more strict and move values only if they have noexcept move constructor *and* noexcept move assignment operator (refs #7888)
[SVN r85458]
2013-08-25 12:36:51 +00:00
Antony Polukhin
24ef3b6939 Updated documentaion of the circular_buffer to reflect the rvalue references support (refs #7888) + replaced some tabs with whitespaces and added the boost.root parameter to jamfile.v2
[SVN r85240]
2013-08-08 15:32:11 +00:00
Antony Polukhin
f91a722738 Fixed MSVC related bug for rvalues move support of circular_buffer (refs #7888)
[SVN r85101]
2013-07-22 11:44:10 +00:00
Antony Polukhin
a739343a66 Improved rvalues move support for elements of circular_buffer (refs #7888):
* all `erase` methods now use move construction to to move elements
* space optimized circullar buffer now has move constructor, move assignment and functions that work with rvalues 
* more methods marked as BOOST_NOEXCEPT
* much more tests

[SVN r85003]
2013-07-11 14:55:24 +00:00
Antony Polukhin
62b25b47c7 Improved rvalues move support for elements of circular_buffer (refs #7888):
* set_capacity and rset_capacity now work with move-only types if move constructor of type marked with `noexcept`
* force placement ::new usage
* minor optimizations (move values in more cases)
* more tests

[SVN r84991]
2013-07-09 15:06:16 +00:00
Antony Polukhin
4d86f119cb Improved rvalues move support for elements of circular_buffer (refs #7888):
* move_if_noexcept uses is_copy_constructible trait
* more tests, tests are now more strict
* linearize() now works with move-only types

[SVN r84988]
2013-07-09 09:32:45 +00:00
Antony Polukhin
4eb876042e Add basic rvalues move support for elements of circular_buffer (refs #7888). Patch uses Boost.Move to emulate rvalues in C++03
[SVN r84984]
2013-07-08 13:41:58 +00:00
Vicente J. Botet Escriba
e06194c3d3 CircularBuffer: manage with #5362, #7025, #7050.
[SVN r84971]
2013-07-07 12:59:57 +00:00
Antony Polukhin
693933160d Basic commit of C++11 move constructor and move assignment for circular_buffer (refs #7888). some of the functions marked with BOOST_NOEXCEPT
[SVN r84941]
2013-07-02 13:51:55 +00:00
Paul A. Bristow
82bf47c8d2 Changed Doxygen comments for new Quickbook/Doxygen based documentation. No intentional changes to code.
[SVN r84881]
2013-06-22 13:43:44 +00:00
Marshall Clow
6998f28fda Apply patch to release branch; Fixes #8032
[SVN r84450]
2013-05-23 18:45:31 +00:00
Marshall Clow
dc0aa175a9 Applied patch from #8032
[SVN r84405]
2013-05-21 18:48:05 +00:00
Jan Gaspar
ed237fa058 circular_buffer: fixed when BOOST_NO_STDC_NAMESPACE defined
[SVN r66704]
2010-11-23 19:45:36 +00:00
Jan Gaspar
fb85032783 circular_buffer: fixed (the fix ;-) when BOOST_NO_STDC_NAMESPACE defined
[SVN r66691]
2010-11-22 22:06:08 +00:00