419 Commits

Author SHA1 Message Date
Ion Gaztañaga d41012163e Fix test failure of default_init with advanced optimizers like GCC-16, since operator new ends the lifetime of the previous value. 2026-06-18 18:59:11 +02:00
Ion Gaztañaga 1713116fd1 Remove unused variable warning. 2026-06-18 14:26:05 +02:00
Ion Gaztañaga f9c282111d Use sizeof(void*) instead of std::max_align_t since old C++11 compilers like gcc-4.8 don't suppor it. 2026-06-16 00:48:15 +02:00
Ion Gaztañaga 4e3dac1c5d Update copyright. 2026-06-15 23:22:08 +02:00
Ion Gaztañaga 12f62ca98e Unify "hub" with the rest of containers using default "void" allocator parameter (defaults to "new_allocator" which supports overalignment in all std standards). 2026-06-15 23:19:42 +02:00
Ion Gaztañaga c2e07fd78a Using Container utilities and avoiding Core dependency (no core dependency was present before hub inclusion) 2026-06-15 00:21:49 +02:00
Ion Gaztañaga 8b0cec03f8 Rename hub tests to the existing naming practice 2026-06-12 22:24:26 +02:00
Ion Gaztañaga 86786845c2 Unify hub's pmr option to the rest of the library 2026-06-07 23:12:17 +02:00
Ion Gaztañaga ca2115baa1 Protect test agains BOOST_NO_EXCEPTIONS 2026-06-06 00:33:50 +02:00
Ion Gaztañaga 6cccfaca5a Fix -Wundef 2026-06-06 00:33:32 +02:00
Ion Gaztañaga 050cf8d856 Make tests compatible with BOOST_NO_EXCEPTIONS 2026-06-06 00:04:04 +02:00
Ion Gaztañaga 94608e4cd9 Add hub tests and example 2026-06-05 23:50:25 +02:00
Ion Gaztañaga 47a98ed1fe Renamed "emplace" as "quick_emplace" and recover strong exception guarantee for "emplace". 2026-06-05 00:37:12 +02:00
Ion Gaztañaga 6765a2a489 Removed segmented iterator machinery 2026-06-04 22:38:57 +02:00
Ion Gaztañaga b768b57b86 Implement hub's #21 (made trim_capacity O(#reserved blocks)) 2026-06-02 14:29:14 +02:00
Ion Gaztañaga 2db8a3105e Remove bad get_iterator case, new implementation asserts in that case 2026-05-25 22:24:03 +02:00
Ion Gaztañaga dddce5beaa Update "hub" to the post-review version and update "nest", its test and benchamarks accordingly. 2026-05-25 21:55:00 +02:00
Ion Gaztañaga c1fa6eddec Ported hub api tests to nest 2026-04-22 01:11:42 +02:00
Ion Gaztañaga dcaf49b677 Performance improvements to nest, and fixed bug when allocators are unequal 2026-04-22 01:11:10 +02:00
Ion Gaztañaga d56993febc Added unchecked_push_back to vector/small_vector/static_vector 2026-03-28 00:42:21 +01:00
Ion Gaztañaga 4f6237bc15 Implemented unchecked_emplace_back 2026-03-27 22:53:44 +01:00
Ion Gaztañaga 2d5155302d Removed commented bug report code 2026-03-22 18:32:28 +01:00
Ion Gaztañaga ce12d2aec5 Fixes #334 ("Wrong overload resolution protection in implementation of P2363R5") and adds tests with transparent comparator for associative containers. 2026-03-22 17:26:15 +01:00
Ion Gaztañaga 7a21853b26 Add test for segment and local iterators 2026-03-17 23:26:44 +01:00
Ion Gaztañaga 8bad508361 Add missing simple tests for public API methods 2026-02-22 19:08:10 +01:00
Ion Gaztañaga 9fa2319339 add test for move constructor and move assignment with unequal allocators 2026-02-22 17:36:13 +01:00
Ion Gaztañaga 078fb8671e Added, for testing and comparison and benchmarking purposes, experimental "nest" container under "experimental" folder, a C++03 backport and adaptation to use Boost.Container internals of Joaquín López Muñoz's "hub" container proposal (https://lists.boost.org/archives/list/boost@lists.boost.org/thread/6YXMHMARNAEFTGBTZYYAETCAYCYHHKQP/). 2026-02-11 12:05:12 +01:00
Ion Gaztañaga 15d9694ab2 Fix segtor test names 2026-02-08 05:19:45 +01:00
Ion Gaztañaga d24ff073cf Rename segmented_vector to segtor, to reserve "vector" name to contiguous memory containers. 2026-02-07 15:04:21 +01:00
Ion Gaztañaga cd0387b5fc Changed return type of erase/erase_if/unique members of list and slist to size_type to follow C++20 changes to std::list. 2026-02-05 00:29:03 +01:00
Ion Gaztañaga 8ed60bcbe1 Protect CTAD from old clang compilers that suffer from ICE 2026-02-03 15:50:39 +01:00
Ion Gaztañaga f483482d7c Optimize segmented_vector:
- Add option to deque_impl to optimize a "single-ended" version.
- If single_ended, start offset is not stored as member and is assumed to be zero.
- Members with cases for front insertion are modified to avoid those branches.
- If single_ended, only a free slot at the back on the index is needed instead of 2 (front and back)
2026-02-03 02:09:50 +01:00
Ion Gaztañaga fc89601942 Add more checks in each erase step 2026-02-03 01:53:40 +01:00
Ion Gaztañaga 17c4c688e5 Add expected sizeof test to detect any unwanted growth when refactoring 2026-02-02 23:02:21 +01:00
Ion Gaztañaga 56268e7a18 Add experimental "segmented_vector" container, which is a single-ended version of deque. First implementation is suboptimal. 2026-02-02 12:59:07 +01:00
Ion Gaztañaga 0a78d89b24 Replace BOOST_ASSERT with BOOST_TEST 2026-02-02 12:56:29 +01:00
Ion Gaztañaga aec7dfbaae Rename "deque" instances with "cont" to be able to easily diff tests and see differences between container tests 2026-02-01 21:54:16 +01:00
Ion Gaztañaga d4e38179fc Add options "stored_size" and "growth_factor" options to string. Make string's default growth factor the same as vector's (60%) 2026-01-24 11:08:28 +01:00
Ion Gaztañaga f2c1b10bc9 Remove unneded "typename" to avoid warnings 2026-01-24 11:05:29 +01:00
Ion Gaztañaga 4f449051f0 Rollback clang's _NonNull attribute, too many warnings in older compilers. Replaced with BOOST_ASSERT null checks and added some corner cases to the test-suite. 2026-01-23 00:18:46 +01:00
Ion Gaztañaga 20aa1aee7e Implement "ends_with" and update "starts_with" to the same implementation style. 2026-01-22 00:09:11 +01:00
Ion Gaztañaga dc3a96a29b Add C++20 "starts_with" overloads 2026-01-21 23:40:18 +01:00
Ion Gaztañaga a02aae0b9f Add C++23 "contains" to basic_string. 2026-01-21 22:46:19 +01:00
Ion Gaztañaga 07806c7752 Properly rename implementation pool types 2026-01-20 22:51:43 +01:00
Ion Gaztañaga 89d04c76ea Re-enable full node_allocator testing 2026-01-20 20:49:17 +01:00
Ion Gaztañaga 75806031b9 Disable overaligned tests until the root cause of failure is found 2026-01-20 10:36:39 +01:00
Ion Gaztañaga 91663758da Add testcase for node allocator testing list/vector x v2/v1 x int/overaligned_int 2026-01-20 01:02:35 +01:00
Ion Gaztañaga bc322c91b3 Remove unneeded comments 2026-01-19 23:36:36 +01:00
Ion Gaztañaga edcfde1ade Add test for adaptive_pool in several configurations (list/vector x int/aligned_int x v2/v1 allocation versions) 2026-01-19 23:32:11 +01:00
Ion Gaztañaga 620e09223c Remove unneeded includes 2026-01-19 01:17:00 +01:00