Lines Matching refs:ilist
800 llvm/ADT/ilist.h
803 ``ilist<T>`` implements an 'intrusive' doubly-linked list. It is intrusive,
807 ``ilist`` has the same drawbacks as ``std::list``, and additionally requires an
811 list, and ``ilist``\ s are guaranteed to support a constant-time splice
815 basic blocks, which is why these are implemented with ``ilist``\ s.
863 ``ilist_traits<T>`` is ``ilist<T>``'s customization mechanism. ``iplist<T>``
864 (and consequently ``ilist<T>``) publicly derive from this traits class.
871 ``iplist<T>`` is ``ilist<T>``'s base and as such supports a slightly narrower
883 by the ``ilist<T>`` (and analogous containers) in the default manner.
893 ``ilist``\ s have another specialty that must be considered. To be a good
897 non-empty ``ilist``\ s.
905 These constraints allow for some implementation freedom to the ``ilist`` how to
912 instances of ``ilist``\ s, the memory overhead of the associated sentinels is
917 superpose the sentinel with the ``ilist`` instance in memory. Pointer
918 arithmetic is used to obtain the sentinel, which is relative to the ``ilist``'s
919 ``this`` pointer. The ``ilist`` is augmented by an extra pointer, which serves