6 Commits

Author SHA1 Message Date
Ion Gaztañaga
7c74232a40 Remove Boost.StaticAsser dependency 2024-01-02 19:46:05 +01:00
Robert Leahy
d4a0917821 RandomAccessIterator + 0
Previously the iterators of boost::container::deque would assert when
zero was added to them in at least the following situations:

- The iterator was obtained by a call to boost::container::deque::begin
  and boost::container::deque::empty returns true
- The iterator was default constructed

This is inconsistent with the way in which the iterators of boost::
container::deque have behaved historically and is also inconsistent
with an understanding of iterators developed by analogy with pointers:

- Adding zero to a null pointer is valid despite the fact the null
  pointer cannot be dereferenced
- Adding zero to a pointer that is one past the end yields a pointer
  which is still one past the end and thus which has well defined
  semantics

Fixed this issue and codified the expected behavior in unit tests.
2019-12-22 20:03:57 -05:00
Ion Gaztañaga
fa2494631a Use namespace dtl instead of container_detail to avoid excessively long symbol names. 2017-11-07 00:51:46 +01:00
Ion Gaztañaga
360957a797 Massive dependency reduction. Removed dependency on several boost libraries and standard C++ headers. 2015-01-02 19:34:21 +01:00
Ion Gaztañaga
456e9fedcb Some adaptations due to internal Intrusive changes. 2014-12-08 15:49:21 +01:00
Ion Gaztañaga
3af96e0801 Implements N3644.
- Avoid deriving from std::iterator_traits as iterators become too fat.
- Use intrusive's reverse_iterator some std::reverse_iterator-s don't value initialize base.
2014-09-24 16:09:56 +02:00