haiku-website/static/legacy-docs/bebook/BList_Overview.html

30 lines
6.5 KiB
HTML
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>The Be Book - System Overview - The Support Kit</title><link rel="stylesheet" href="be_book.css" type="text/css" media="all" /><link rel="shortcut icon" type="image/vnd.microsoft.icon" href="./images/favicon.ico" /><!--[if IE]>
<link rel="stylesheet" type="text/css" href="be_book_ie.css" />
<![endif]--><meta name="generator" content="DocBook XSL Stylesheets V1.73.2" /><meta name="keywords" content="Access, BeOS, BeBook, API" /><link rel="start" href="index.html" title="The Be Book" /><link rel="up" href="TheSupportKit_Overview.html" title="The Support Kit" /><link rel="prev" href="BFlattenable_Overview.html" title="BFlattenable" /><link rel="next" href="BLocker_Overview.html" title="BLocker" /></head><body><div id="header"><div id="headerT"><div id="headerTL"><a accesskey="p" href="BFlattenable_Overview.html" title="BFlattenable"><img src="./images/navigation/prev.png" alt="Prev" /></a> <a accesskey="u" href="TheSupportKit_Overview.html" title="The Support Kit"><img src="./images/navigation/up.png" alt="Up" /></a> <a accesskey="n" href="BLocker_Overview.html" title="BLocker"><img src="./images/navigation/next.png" alt="Next" /></a></div><div id="headerTR"><div id="navigpeople"><a href="http://www.haiku-os.org"><img src="./images/People_24.png" alt="haiku-os.org" title="Visit The Haiku Website" /></a></div><div class="navighome" title="Home"><a accesskey="h" href="index.html"><img src="./images/navigation/home.png" alt="Home" /></a></div><div class="navigboxed" id="navigindex"><a accesskey="i" href="ClassIndex.html" title="Index">I</a></div><div class="navigboxed" id="naviglang" title="English">en</div></div><div id="headerTC">The Be Book - System Overview - The Support Kit</div></div><div id="headerB">Prev: <a href="BFlattenable_Overview.html">BFlattenable</a>  Up: <a href="TheSupportKit_Overview.html">The Support Kit</a>  Next: <a href="BLocker_Overview.html">BLocker</a></div><hr /></div><div class="section"><div xmlns="" xmlns:d="http://docbook.org/ns/docbook" class="titlepage"><div><div xmlns:d="http://docbook.org/ns/docbook"><h2 xmlns="http://www.w3.org/1999/xhtml" class="title"><a id="BList_Overview"></a>BList</h2></div></div></div><a id="id618646" class="indexterm"></a><p>A <a class="link" href="BList.html" title="BList"><code class="classname">BList</code></a>
object is a compact, ordered list of data pointers.
<a class="link" href="BList.html" title="BList"><code class="classname">BList</code></a> objects
can contain pointers to any type of data, including—and
especially—objects.</p><p>An item assigned to a
<a class="link" href="BList.html" title="BList"><code class="classname">BList</code></a>
is identified by an index to its position in
the list. Indices start at 0 and are neither arbitrary nor permanent. If,
for example, you insert an item into the middle of a list, the indices of
the items at the tail of the list are incremented (by one). Similarly,
removing an item decrements the indices of the following items.</p><p>A <a class="link" href="BList.html" title="BList"><code class="classname">BList</code></a>
stores its items as type <span class="type">void*</span>, so it's necessary to cast an
item to the correct type when you retrieve it. For example, items
retrieved from a list of
<a class="link" href="BBitmap.html" title="BBitmap"><code class="classname">BBitmap</code></a>
objects must be cast as
<a class="link" href="BBitmap.html" title="BBitmap"><code class="classname">BBitmap</code></a> pointers:</p><pre class="programlisting example cpp"><code class="classname">BBitmap</code> *<code class="varname">theImage</code> = (<code class="classname">BBitmap</code> *)<code class="varname">myList</code>-&gt;<code class="methodname">ItemAt</code>(<code class="varname">anIndex</code>);</pre><div class="admonition warning"><div class="title">Warning</div><div class="graphic"><img class="icon" alt="Warning" width="32" src="./images/admonitions/Stop_32.png" /><div class="text"><p>There's nothing to prevent you from adding a <code class="constant">NULL</code>
pointer to a <a class="link" href="BList.html" title="BList"><code class="classname">BList</code></a>.
However, functions that retrieve items from the list (such as
<a class="link" href="BList.html#BList_ItemAt" title="ItemAt()"><code class="methodname">ItemAt()</code></a>)
return <code class="constant">NULL</code> when the requested item can't be found. Thus, you can't
distinguish between a valid <code class="constant">NULL</code> item and an invalid attempt to access an
item that isn't there.</p></div></div></div></div><div id="footer"><hr /><div id="footerT">Prev: <a href="BFlattenable_Overview.html">BFlattenable</a>  Up: <a href="TheSupportKit_Overview.html">The Support Kit</a>  Next: <a href="BLocker_Overview.html">BLocker</a> </div><div id="footerB"><div id="footerBL"><a href="BFlattenable_Overview.html" title="BFlattenable"><img src="./images/navigation/prev.png" alt="Prev" /></a> <a href="TheSupportKit_Overview.html" title="The Support Kit"><img src="./images/navigation/up.png" alt="Up" /></a> <a href="BLocker_Overview.html" title="BLocker"><img src="./images/navigation/next.png" alt="Next" /></a></div><div id="footerBR"><div><a href="http://www.haiku-os.org"><img src="./images/People_24.png" alt="haiku-os.org" title="Visit The Haiku Website" /></a></div><div class="navighome" title="Home"><a accesskey="h" href="index.html"><img src="./images/navigation/home.png" alt="Home" /></a></div></div><div id="footerBC"><a href="http://www.access-company.com/home.html" title="ACCESS Co."><img alt="Access Company" src="./images/access_logo.png" /></a></div></div></div><div id="licenseFooter"><div id="licenseFooterBL"><a rel="license" href="http://creativecommons.org/licenses/by-nc-nd/3.0/" title="Creative Commons License"><img alt="Creative Commons License" style="border-width:0" src="https://licensebuttons.net/l/by-nc-nd/3.0/88x31.png" /></a></div><div id="licenseFooterBR"><a href="./LegalNotice.html">Legal Notice</a></div><div id="licenseFooterBC"><span id="licenseText">This work is licensed under a
<a rel="license" href="http://creativecommons.org/licenses/by-nc-nd/3.0/">Creative
Commons Attribution-Non commercial-No Derivative Works 3.0 License</a>.</span></div></div></body></html>