public inbox for libstdc++@gcc.gnu.org
 help / color / mirror / Atom feed
* [PATCH 0/5] libstdc++: keep subtree sizes in pb_ds binary search trees (PR 81806)
@ 2020-07-13  8:37 Xi Ruoyao
  2020-07-13  8:39 ` Xi Ruoyao
                   ` (5 more replies)
  0 siblings, 6 replies; 7+ messages in thread
From: Xi Ruoyao @ 2020-07-13  8:37 UTC (permalink / raw)
  To: gcc-patches, libstdc++; +Cc: Oleksandr Kulkov, Raihat Zaman Neloy

This is a series of patches essentially adding order statistics directly into
pb_ds binary search trees.  The main purpose is to resolve PR 81806 (spliting a
splay tree needs linear time).

The first patch removes two redundant statements which are confusing.  It should
be applied anyway, disregarding other patches.

The second and third patch together resolve PR 81806.

The fourth patch converts the point_iterator of rb_tree and splay_tree based
maps to random access iterator.  With the subtree size kept we can implement the
operators required by random access iterator in logarithm time.

The fifth patch moves the functionality of tree_order_statistics_node_update
into the implementation of binary search trees (they are now order-statistics
trees), makes tree_order_statistics_node_update no-op, and deprecates it.

Tested with `make check-target-libstdc++` in a non-bootstrap GCC build.  GCC
does not use pb_ds so it should be unnecessary to run a bootstrap.
-- 
Xi Ruoyao <xry111@mengyan1223.wang>
School of Aerospace Science and Technology, Xidian University


^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2020-07-13  8:51 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-07-13  8:37 [PATCH 0/5] libstdc++: keep subtree sizes in pb_ds binary search trees (PR 81806) Xi Ruoyao
2020-07-13  8:39 ` Xi Ruoyao
2020-07-13  8:40 ` [PATCH 1/5] " Xi Ruoyao
2020-07-13  8:42 ` [PATCH 2/5] " Xi Ruoyao
2020-07-13  8:45 ` [PATCH 3/5] " Xi Ruoyao
2020-07-13  8:48 ` [PATCH 4/5] " Xi Ruoyao
2020-07-13  8:51 ` [PATCH 5/5] " Xi Ruoyao

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).