mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-02-06 23:32:27 +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
|
intrusive, because it requires the element to store and provide access to the
|
||||||
prev/next pointers for the list.</p>
|
prev/next pointers for the list.</p>
|
||||||
|
|
||||||
<p>ilist has the same drawbacks as std::list, and additionally requires an
|
<p><tt>ilist</tt> has the same drawbacks as <tt>std::list</tt>, and additionally
|
||||||
ilist_traits implementation for the element type, but it provides some novel
|
requires an <tt>ilist_traits</tt> implementation for the element type, but it
|
||||||
characteristics. In particular, it can efficiently store polymorphic objects,
|
provides some novel characteristics. In particular, it can efficiently store
|
||||||
the traits class is informed when an element is inserted or removed from the
|
polymorphic objects, the traits class is informed when an element is inserted or
|
||||||
list, and ilists are guaranteed to support a constant-time splice operation.
|
removed from the list, and ilists are guaranteed to support a constant-time splice
|
||||||
</p>
|
operation.</p>
|
||||||
|
|
||||||
<p>These properties are exactly what we want for things like Instructions and
|
<p>These properties are exactly what we want for things like <tt>Instruction</tt>s
|
||||||
basic blocks, which is why these are implemented with ilists.</p>
|
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:
|
Related classes of interest are explained in the following subsections:
|
||||||
<ul>
|
<ul>
|
||||||
|
<li><a href="#dss_iplist">iplist</a></li>
|
||||||
<li><a href="#dss_ilist_node">llvm/ADT/ilist_node.h</a></li>
|
<li><a href="#dss_ilist_node">llvm/ADT/ilist_node.h</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</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">
|
<div class="doc_subsubsection">
|
||||||
<a name="dss_ilist_node">llvm/ADT/ilist_node.h</a>
|
<a name="dss_ilist_node">llvm/ADT/ilist_node.h</a>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user