301 Commits

Author SHA1 Message Date
joaquintides
536c6e91ac reimplemented random_access_index internal, cross-index splice in linear time 2021-08-16 10:20:51 +02:00
joaquintides
b590797738 checked allocator equality 2021-08-14 11:09:03 +02:00
joaquintides
18a0b27e07 stylistic 2021-08-13 17:39:06 +02:00
joaquintides
f4b9c802f0 reorganized internal deps 2021-08-13 13:46:09 +02:00
joaquintides
7dd7e2e45b implemented safe iterator transfer in merge/splice 2021-08-13 13:08:40 +02:00
joaquintides
1c121c6b22 refactored any_container_view 2021-08-12 09:09:19 +02:00
joaquintides
eed24d1faa made safe-mode iterators SCARY 2021-08-11 20:59:20 +02:00
joaquintides
fee9c9d03c fixed wrong signature in splice memfun 2021-08-10 19:44:33 +02:00
joaquintides
dc480499a2 added partial merge functionality to key-based indices
plus fixed a compile-time error with legacy splice code when applied to different-type indices
2021-08-10 19:24:48 +02:00
joaquintides
4d15bf41fa made pointwise splice return a pair<iterator,bool> 2021-08-10 14:33:53 +02:00
joaquintides
6f88f65d99 required position==end() in intra-container full splice 2021-08-10 12:10:14 +02:00
joaquintides
5581ac66bb allowed intra-container full splice 2021-08-10 10:59:27 +02:00
joaquintides
251edf92cb updated (C) year 2021-08-10 10:53:23 +02:00
joaquintides
9e5991e039 fixed safe mode check for different-type containers 2021-08-09 13:28:31 +02:00
joaquintides
a1e4d04fcc replaced multi_index_container::merge_ with transfer_range_
so as to refactor some code in non-key-based indices
2021-08-09 10:35:23 +02:00
joaquintides
cb6a581eda re-engineered random_access_index::splice(position,x,first,last)
the same way as done with sequenced_index
2021-08-09 10:04:58 +02:00
joaquintides
1bd4450884 fixed internal sequenced_index::splice(position,x,first,last) across different indices 2021-08-09 09:49:43 +02:00
joaquintides
070f7209f0 fixed bug in rvalue ref overload of sequenced_index::splice(position,x,first,last) 2021-08-08 13:21:20 +02:00
joaquintides
0f52598544 stylistic 2021-08-08 13:18:03 +02:00
joaquintides
a1f2851b6a re-engineered sequenced_index::splice(position,x,first,last)
so that it works when source and destination belong to the same container
2021-08-08 13:15:01 +02:00
joaquintides
57bbdb9fc6 re-engineered random_access_index::splice(position,x,i)
so that it works when source and destination belong to the same container
2021-08-08 12:40:59 +02:00
joaquintides
edc34d80d8 stylistic 2021-08-08 12:35:39 +02:00
joaquintides
b26e279b6c re-engineered sequenced_index::splice(position,x,i)
so that it works when source and destination belong to the same container
2021-08-08 12:28:50 +02:00
joaquintides
9afc277fd2 reimplemented random_access_index::splice(position,x,first,last) 2021-08-07 13:15:54 +02:00
joaquintides
3072a4a31c reimplemented sequenced_index::splice(position,x,first,last) 2021-08-07 12:43:55 +02:00
joaquintides
3f42ea4865 reimplemented random_access_index::splice(position,x,i) 2021-08-06 19:21:42 +02:00
joaquintides
74abab05b6 reimplemented sequenced_index::splice(position,x,i) 2021-08-06 19:05:42 +02:00
joaquintides
e1b94b0087 added missing #include 2021-08-06 17:53:52 +02:00
joaquintides
a885049765 micro-optimized legacy code in random_access_index::splice(position,x) 2021-08-06 17:36:31 +02:00
joaquintides
140bbaf3ee reimplemented random_access_index::splice(position,x) 2021-08-06 17:31:17 +02:00
joaquintides
174a7ae56d made sequenced_index::splice(position,x) exception robust 2021-08-06 17:14:37 +02:00
joaquintides
2f45c2f409 refactored SFINAEing code 2021-08-06 13:46:33 +02:00
joaquintides
eb491a1964 added missing this->'s 2021-08-06 12:49:31 +02:00
joaquintides
f5a7468bc4 reimplemented sequenced_index::splice(position,x) 2021-08-06 11:18:46 +02:00
joaquintides
02fb784eb1 added hashed_index::merge 2021-08-05 19:14:52 +02:00
joaquintides
c2f282ffb6 refactored merge algorithm into multi_index_container 2021-08-05 18:22:18 +02:00
joaquintides
7d2b9dd808 added rvalue ref merge
(test expected to fail in C++03)
2021-08-05 09:23:32 +02:00
joaquintides
6dd60d07ac befriended index_base from all indices
so as to be grant access to final_extract_for_merge_ from an external container
2021-08-04 19:28:35 +02:00
joaquintides
dabe8158a1 dropped BOOST_RV_REF
as it doesn't handle lvalue refs
2021-08-04 18:48:51 +02:00
joaquintides
973ce468fd initial draft 2021-08-04 18:11:48 +02:00
joaquintides
5623d2b9e2 added contains (#35) 2021-07-29 12:04:15 +02:00
joaquintides
b685e11dfc stopped relying on stdlib function objects' ::result_type 2020-06-29 11:51:24 +02:00
joaquintides
1b1e29d6e3 added workaround for https://github.com/boostorg/config/issues/336 2020-05-10 15:27:11 +02:00
joaquintides
53c11e1ea7 added missing #include 2020-05-10 13:58:16 +02:00
joaquintides
e3fec3af57 fixed allocator_is_always_equal usage 2020-05-10 13:47:09 +02:00
joaquintides
ed5a975059 provided pre-C++17 allocator_traits::is_always_equal 2020-05-10 13:33:36 +02:00
joaquintides
4a109e99e5 avoided deprecated #includes, fixed Boost.Move headers 2020-05-10 12:17:55 +02:00
joaquintides
ff3f612abb added missing template keywords 2020-05-10 10:11:51 +02:00
joaquintides
99430f9edd avoided deprecated #includes 2020-05-09 22:01:20 +02:00
joaquintides
e69466039d implemented node extraction/insertion (#27) 2020-05-09 20:25:41 +02:00