419 Commits

Author SHA1 Message Date
Ion Gaztañaga 5be25a65db Add new deque implementation. 2025-09-20 10:48:50 +02:00
Ion Gaztañaga 77fb53dbf9 Add new_deque and its test 2025-09-07 19:16:34 +02:00
Ion Gaztañaga c982fe5989 Add some new erase tests 2025-09-06 12:45:49 +02:00
Ion Gaztañaga 29c24520e6 Merge pull request #313 from nigels-com/cmake-test
cmake support for building and running tests
2025-09-06 12:42:35 +02:00
Nigel Stewart f0b0dacf27 __cpp_sized_deallocation is not always defined (clang is opt-in) for Issue #306 2025-09-05 15:59:48 +10:00
Nigel Stewart 8a47e6e339 cmake support for building and running tests 2025-09-05 11:33:54 +10:00
Ion Gaztañaga b6a2a6ba6a Merge pull request #307 from TheJCAB/fix-MSVC-C4146-warnings
Fix all instances of MSVC warning C4146 (unsigned negation)
2025-08-12 19:12:50 +02:00
Ion Gaztañaga 74c06d3a5d Protect iwth BOOST_CXX_VERSION >= 201103L as Boost.Iterator does not support C++03 2025-08-12 17:59:29 +02:00
Juan Carlos Arevalo Baeza (JCAB) 18f29c6eda Fix all instances of MSVC warning C4146 (unsigned negation)
Unsigned negation is a well-defined operation in C and C++ and it is commonly used when doing bit manipulation of unsigned integers, because it builds a high-pass bitmask.

For instance, if `X` is known to be a power of two, `-X` is precisely the mask needed to align a value down to a multiple of `X` by means of a bit-wise `&` operation.

However, it can occasionally be flagging a bug, when the original intent was mathematical negation. For this reason, an explicit fix is preferred to suppressing this warning.

This change fixes all the instances of unsigned negation of the form `-X` to `0 - X`.

It also includes a drive-by spot-fix for the macro `left_bits(x)` whose parameter was missing the usual parenthesis. This was benign in all the uses of the macro.
2025-07-30 15:35:34 -07:00
Ion Gaztañaga e8baf848bc Fixes #250 ("Custom container leads to "invalid use of incomplete type" for "struct boost::container::dtl::container_rebind"") 2025-05-21 12:05:35 +02:00
Ion Gaztañaga bae5554f54 Use SFINAE to avoid errors in C++03 mode and std::pair 2024-12-23 21:53:13 +01:00
Ion Gaztañaga a6a41e2356 FIxes #297 ("flat_map::try_emplace does not compile if allocator has construct") 2024-12-22 22:02:07 +01:00
Ion Gaztañaga 65dc4d1ac6 Use static_assert instead of runtime checks for "has_trivial_destructor_after_move" 2024-11-27 21:59:28 +01:00
Ion Gaztañaga a0848ceaf1 Fixes #295 ("Bug in small_vector::swap") 2024-11-21 15:49:08 +01:00
Ion Gaztañaga af58c7d226 Added stored_size option to small_vector 2024-10-13 00:29:12 +02:00
Ion Gaztañaga 13603d7de1 Added stored_size option to static_vector 2024-10-12 23:22:59 +02:00
Ion Gaztañaga 0a62c979a7 Use boost::hash instead of boost::hash_value (properly tests #290 use case) 2024-09-30 21:06:01 +02:00
Ion Gaztañaga bf029b6a52 - Adds compatibility tests between string and std::string_view
- Fixes #290 ("boost::hash<container::string> doesn't match boost::hash<std::string_view>")
2024-09-30 16:00:12 +02:00
Ion Gaztañaga 84e852f638 Fix GCC comparison for flat_map tests 2024-09-09 18:01:21 +02:00
Ion Gaztañaga 12afa8457f Disable std::vector as underlying sequence in old GCCs as we have compilation errors due to unsupported features. 2024-09-09 17:34:53 +02:00
Ion Gaztañaga 13180fd601 Disable std::vector as underlying sequence in old GCCs as we have compilation errors due to unsupported features. 2024-09-09 13:53:24 +02:00
Ion Gaztañaga daa81ed5bb Expand flat_map testing coverage 2024-09-09 00:57:30 +02:00
Ion Gaztañaga c552a23d96 Use BOOST_CXX_VERSION instead of __cplusplus 2024-09-09 00:55:18 +02:00
Ion Gaztañaga d26e35d468 Fix typos, unneded empty lines 2024-09-09 00:42:05 +02:00
Rene Rivera df9132c80f Update build dependencies. 2024-07-29 21:56:22 -05:00
Rene Rivera 4b56fdee84 Sync from upstream. 2024-07-29 20:14:46 -05:00
Ion Gaztañaga 0f448277c5 Remove hash_value from string, Boost.ContainerHash hashes containers by default now. 2024-07-27 22:49:42 +02:00
Rene Rivera fbf07feea8 Change all <source> references to <library>. 2024-07-20 19:37:36 -05:00
Rene Rivera bc554a9ee8 Sync from upstream. 2024-07-18 09:29:21 -05:00
Ion Gaztañaga 4ea9c64316 Use algo_equal to reduce test dependencies 2024-07-15 11:50:50 +02:00
Ion Gaztañaga 8d0dc6daeb Fixes #285 ("devector<>::push_front asserts after clear()") 2024-07-15 10:41:42 +02:00
Rene Rivera 0abc02729d Sync from upstream. 2024-07-12 08:54:46 -05:00
Ion Gaztañaga df03ffc8ec Fixes #241: flat_map should support same interface as std::map 2024-06-28 14:04:00 +02:00
Rene Rivera cb9b667234 Sync from upstream. 2024-06-16 08:22:11 -05:00
Ion Gaztañaga 43ac22eff2 Add test for move assignable index operator 2024-06-14 12:36:36 +02:00
Ion Gaztañaga f21c5fb723 Add missing detail/pair.hpp include 2024-06-14 12:35:23 +02:00
Rene Rivera e62694f5f0 Sync from upstream. 2024-06-02 23:26:49 -05:00
Ion Gaztañaga aa35950ca0 Add shrink_to_fit tests to small_vector 2024-06-03 00:14:25 +02:00
Rene Rivera 5f43b093c7 Sync from upstream. 2024-06-02 13:50:52 -05:00
Ion Gaztañaga 9da5dc49f7 Refactor move constructor and swap implementations for small_vector as in some cass unnecesary heap allocation was performed. Add tests for this. 2024-06-02 13:08:18 +02:00
Ion Gaztañaga 7ec7de921c Remove unused or unneeded _id member 2024-05-30 23:12:52 +02:00
Rene Rivera af24268fbb Sync from upstream. 2024-05-30 11:21:12 -05:00
Ion Gaztañaga f46ee4391f Protect struct POD definition with the same macro as the test 2024-05-28 10:51:33 +02:00
Ion Gaztañaga 397fbda8be Fixes #280 ("Several containers don't support non-movable types when move assigning") 2024-05-23 23:28:54 +02:00
Ion Gaztañaga 292bab35c6 Revert accidental commit 2024-05-21 14:11:30 +02:00
Ion Gaztañaga 59d760c08b Document block_size option in deque_options. 2024-05-21 14:08:36 +02:00
Rene Rivera 9fea4700ca Sync from upstream. 2024-04-20 15:33:32 -05:00
Ion Gaztañaga 978bbb113a Clean force_ptr usage and use launder_cast 2024-04-15 12:51:15 +02:00
Ion Gaztañaga 56cc38f761 Update test_iterator_random test for vector-like containers 2024-04-15 11:57:44 +02:00
Rene Rivera 1c17646cd0 Make the library modular usable. 2024-03-11 08:31:01 -05:00