753 Commits

Author SHA1 Message Date
joaquintides
5b6f39da75 updated docs 2021-08-16 19:14:58 +02:00
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
b77f57be5e removed commented-out code 2021-08-13 17:50:47 +02:00
joaquintides
11fa731dbc automatically checked iterator invalidation upon merge/splice 2021-08-13 17:42:37 +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
41c9f2a0e2 suppressed unused variable 2021-08-10 19:43:59 +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
81aeecad30 fixed problem with Boost.Move C++03 perfect fwd emulation 2021-08-09 20:37:04 +02:00
joaquintides
218b44d2f4 called the right merge_different overload 2021-08-09 20:35:36 +02:00
joaquintides
d5a592aaca s/BOOST_RV_REF/BOOST_FWD_REF 2021-08-09 17:12:32 +02:00
joaquintides
2c060aaba3 hardened merge/splice tests 2021-08-09 13:29:08 +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
3b6079d13b fixed previous workaround 2021-08-05 11:24:24 +02:00
joaquintides
d8cd4ab6bc added explicit boost::move on rvalue ref
for the benefit of C++03 compilers
2021-08-05 09:37:21 +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
1fd6d7464a modified appveyor.yml for this branch 2021-08-04 18:20:30 +02:00