382 Commits

Author SHA1 Message Date
Ion Gaztañaga
4f6c915f95 Add minimal instantiation to pmr compilation tests 2025-10-28 15:51:05 +01:00
Ion Gaztañaga
247ffd0336 Fixes #304 ("Usage of boost::container::small_vector with custom allocator") 2025-10-27 23:55:05 +01:00
Ion Gaztañaga
0db85fbb77 Use operator_new_allocate/operator_delete_deallocate for test allocators 2025-10-26 22:23:04 +01:00
Ion Gaztañaga
806aee2b7b Add experimental "reservable" option to deque. 2025-09-29 00:43:44 +02:00
Ion Gaztañaga
8fc53b4728 Add default block size test 2025-09-24 23:19:27 +02:00
Ion Gaztañaga
df4af0989c Implement the initial machinery to support "stored_size" option. 2025-09-22 00:35:20 +02:00
Ion Gaztañaga
679ace9b81 Correct ">>" disambiguation for C++03 2025-09-22 00:34:54 +02:00
Ion Gaztañaga
a05500c3a2 Add construction from input_iterator 2025-09-21 21:19:15 +02:00
Ion Gaztañaga
ea0af71ac8 Add allocator converting constructor + default constructor 2025-09-21 11:12:24 +02:00
Ion Gaztañaga
1519d48135 Make small_size_type_allocator a template so that it can be rebinded 2025-09-21 11:00:08 +02:00
Ion Gaztañaga
08d1a17945 Rename CustomAllocator to small_size_type_allocator and move it to a common header so that other classes can use it 2025-09-21 08:20:11 +02:00
Ion Gaztañaga
5536aa59e1 Add test to check that a correctly "stored_size_type"-enabled vector is smaller than the original 2025-09-21 07:53:16 +02:00
Ion Gaztañaga
3ebb0662da Add deque_iterator explicit instantiation. 2025-09-21 07:52:26 +02:00
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