mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-02-06 06:33:24 +00:00
Expand a bit on iplist. If you are more expert on this class, please review!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65630 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
3899e498df
commit
2946d1c928
@ -886,22 +886,34 @@ not invalidate iterator or pointers to other elements in the list.</p>
|
||||
intrusive, because it requires the element to store and provide access to the
|
||||
prev/next pointers for the list.</p>
|
||||
|
||||
<p>ilist has the same drawbacks as std::list, and additionally requires an
|
||||
ilist_traits implementation for the element type, but it provides some novel
|
||||
characteristics. In particular, it can efficiently store polymorphic objects,
|
||||
the traits class is informed when an element is inserted or removed from the
|
||||
list, and ilists are guaranteed to support a constant-time splice operation.
|
||||
</p>
|
||||
<p><tt>ilist</tt> has the same drawbacks as <tt>std::list</tt>, and additionally
|
||||
requires an <tt>ilist_traits</tt> implementation for the element type, but it
|
||||
provides some novel characteristics. In particular, it can efficiently store
|
||||
polymorphic objects, the traits class is informed when an element is inserted or
|
||||
removed from the list, and ilists are guaranteed to support a constant-time splice
|
||||
operation.</p>
|
||||
|
||||
<p>These properties are exactly what we want for things like Instructions and
|
||||
basic blocks, which is why these are implemented with ilists.</p>
|
||||
<p>These properties are exactly what we want for things like <tt>Instruction</tt>s
|
||||
and basic blocks, which is why these are implemented with <tt>ilist</tt>s.</p>
|
||||
|
||||
Related classes of interest are explained in the following subsections:
|
||||
<ul>
|
||||
<li><a href="#dss_iplist">iplist</a></li>
|
||||
<li><a href="#dss_ilist_node">llvm/ADT/ilist_node.h</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<!-- _______________________________________________________________________ -->
|
||||
<div class="doc_subsubsection">
|
||||
<a name="dss_iplist">iplist</a>
|
||||
</div>
|
||||
|
||||
<div class="doc_text">
|
||||
<p><tt>iplist<T></tt> is <tt>ilist<T></tt>'s base and as such
|
||||
supports a slightly narrower interface. Notably, inserters from <tt>T&</tt>
|
||||
are absent.</p>
|
||||
</div>
|
||||
|
||||
<!-- _______________________________________________________________________ -->
|
||||
<div class="doc_subsubsection">
|
||||
<a name="dss_ilist_node">llvm/ADT/ilist_node.h</a>
|
||||
|
Loading…
x
Reference in New Issue
Block a user