Update the ProgrammersManual explanation for ilist and iplist

They are now `using` aliases and thus the comments about iplist are now
incorrect. Remove them here.

Reviewed By: dexonsmith

Differential Revision: https://reviews.llvm.org/D95210
This commit is contained in:
Nathan Lanza 2022-06-07 22:48:24 -04:00
parent 2094fad009
commit 9b3c5cba9f
1 changed files with 5 additions and 15 deletions

View File

@ -1705,6 +1705,9 @@ the traits class is informed when an element is inserted or removed from the
list, and ``ilist``\ s are guaranteed to support a constant-time splice
operation.
An ``ilist`` and an ``iplist`` are ``using`` aliases to one another and the
latter only currently exists for historical purposes.
These properties are exactly what we want for things like ``Instruction``\ s and
basic blocks, which is why these are implemented with ``ilist``\ s.
@ -1712,8 +1715,6 @@ Related classes of interest are explained in the following subsections:
* :ref:`ilist_traits <dss_ilist_traits>`
* :ref:`iplist <dss_iplist>`
* :ref:`llvm/ADT/ilist_node.h <dss_ilist_node>`
* :ref:`Sentinels <dss_ilist_sentinel>`
@ -1754,19 +1755,8 @@ For example:
ilist_traits
^^^^^^^^^^^^
``ilist_traits<T>`` is ``ilist<T>``'s customization mechanism. ``iplist<T>``
(and consequently ``ilist<T>``) publicly derive from this traits class.
.. _dss_iplist:
iplist
^^^^^^
``iplist<T>`` is ``ilist<T>``'s base and as such supports a slightly narrower
interface. Notably, inserters from ``T&`` are absent.
``ilist_traits<T>`` is a public base of this class and can be used for a wide
variety of customizations.
``ilist_traits<T>`` is ``ilist<T>``'s customization mechanism. ``ilist<T>``
publicly derives from this traits class.
.. _dss_ilist_node: