blob: 76cc6141d7b904b8e0270b3845aecd3bd8d05f8c [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>tbb::interface5::enumerable_thread_specific&lt; T, Allocator, ETS_key_type &gt; Class Template Reference</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.4.7 -->
<div class="tabs">
<ul>
<li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li id="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
<li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
</ul></div>
<div class="tabs">
<ul>
<li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
<li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
<li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
</ul></div>
<div class="nav">
<a class="el" href="a00267.html">tbb</a>::<b>interface5</b>::<a class="el" href="a00164.html">enumerable_thread_specific</a></div>
<h1>tbb::interface5::enumerable_thread_specific&lt; T, Allocator, ETS_key_type &gt; Class Template Reference<br>
<small>
[<a class="el" href="a00275.html">Containers</a>]</small>
</h1><!-- doxytag: class="tbb::interface5::enumerable_thread_specific" -->The <a class="el" href="a00164.html">enumerable_thread_specific</a> container.
<a href="#_details">More...</a>
<p>
<code>#include &lt;<a class="el" href="a00353.html">enumerable_thread_specific.h</a>&gt;</code>
<p>
<a href="a00031.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Public Types</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="da7721b6c35d333ec89a37b63d0d82d3"></a><!-- doxytag: member="tbb::interface5::enumerable_thread_specific::allocator_type" ref="da7721b6c35d333ec89a37b63d0d82d3" args="" -->
typedef Allocator&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00164.html#da7721b6c35d333ec89a37b63d0d82d3">allocator_type</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Basic types. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="976852701d9d4018bca74907c80422af"></a><!-- doxytag: member="tbb::interface5::enumerable_thread_specific::value_type" ref="976852701d9d4018bca74907c80422af" args="" -->
typedef T&nbsp;</td><td class="memItemRight" valign="bottom"><b>value_type</b></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ca057d1cd23e99fb9d391d4af32ea3c3"></a><!-- doxytag: member="tbb::interface5::enumerable_thread_specific::reference" ref="ca057d1cd23e99fb9d391d4af32ea3c3" args="" -->
typedef T &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><b>reference</b></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="518d24e759a14ed3d4b5ad13abc54b4c"></a><!-- doxytag: member="tbb::interface5::enumerable_thread_specific::const_reference" ref="518d24e759a14ed3d4b5ad13abc54b4c" args="" -->
typedef const T &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><b>const_reference</b></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="68d25e2e57106ce3805f8f14b9c13d8c"></a><!-- doxytag: member="tbb::interface5::enumerable_thread_specific::pointer" ref="68d25e2e57106ce3805f8f14b9c13d8c" args="" -->
typedef T *&nbsp;</td><td class="memItemRight" valign="bottom"><b>pointer</b></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="dc48472e808339c40eb55c3fa4e68dc5"></a><!-- doxytag: member="tbb::interface5::enumerable_thread_specific::const_pointer" ref="dc48472e808339c40eb55c3fa4e68dc5" args="" -->
typedef const T *&nbsp;</td><td class="memItemRight" valign="bottom"><b>const_pointer</b></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="5c822bff644fb5245386486cc1ddaf7c"></a><!-- doxytag: member="tbb::interface5::enumerable_thread_specific::size_type" ref="5c822bff644fb5245386486cc1ddaf7c" args="" -->
typedef internal_collection_type::size_type&nbsp;</td><td class="memItemRight" valign="bottom"><b>size_type</b></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="5e3fa161ff14516769519d3a555ccfb3"></a><!-- doxytag: member="tbb::interface5::enumerable_thread_specific::difference_type" ref="5e3fa161ff14516769519d3a555ccfb3" args="" -->
typedef internal_collection_type::difference_type&nbsp;</td><td class="memItemRight" valign="bottom"><b>difference_type</b></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="00c3c2708bf7618b80060c2703aaf261"></a><!-- doxytag: member="tbb::interface5::enumerable_thread_specific::iterator" ref="00c3c2708bf7618b80060c2703aaf261" args="" -->
typedef internal::enumerable_thread_specific_iterator&lt;<br>
<a class="el" href="a00162.html">internal_collection_type</a>,<br>
value_type &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><b>iterator</b></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="c575f3574d5d82b98e6a07314dcdc17f"></a><!-- doxytag: member="tbb::interface5::enumerable_thread_specific::const_iterator" ref="c575f3574d5d82b98e6a07314dcdc17f" args="" -->
typedef internal::enumerable_thread_specific_iterator&lt;<br>
<a class="el" href="a00162.html">internal_collection_type</a>,<br>
const value_type &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><b>const_iterator</b></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b914933105a8b56b961dd87c35908077"></a><!-- doxytag: member="tbb::interface5::enumerable_thread_specific::range_type" ref="b914933105a8b56b961dd87c35908077" args="" -->
typedef generic_range_type&lt;<br>
iterator &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><b>range_type</b></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="c914d5e2d64af34ae7399010057999c9"></a><!-- doxytag: member="tbb::interface5::enumerable_thread_specific::const_range_type" ref="c914d5e2d64af34ae7399010057999c9" args="" -->
typedef generic_range_type&lt;<br>
const_iterator &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><b>const_range_type</b></td></tr>
<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ca9994099ebd88e92be061452687422e"></a><!-- doxytag: member="tbb::interface5::enumerable_thread_specific::enumerable_thread_specific" ref="ca9994099ebd88e92be061452687422e" args="()" -->
&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00164.html#ca9994099ebd88e92be061452687422e">enumerable_thread_specific</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Default constructor, which leads to default construction of local copies. <br></td></tr>
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="724ed4c846493da62b4efe032e16eb4a"></a><!-- doxytag: member="tbb::interface5::enumerable_thread_specific::enumerable_thread_specific" ref="724ed4c846493da62b4efe032e16eb4a" args="(Finit _finit)" -->
template&lt;typename Finit&gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00164.html#724ed4c846493da62b4efe032e16eb4a">enumerable_thread_specific</a> (Finit _finit)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">construction with initializer method <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="105a6487c8c4113ba89891b75243780c"></a><!-- doxytag: member="tbb::interface5::enumerable_thread_specific::enumerable_thread_specific" ref="105a6487c8c4113ba89891b75243780c" args="(const T &amp;_exemplar)" -->
&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00164.html#105a6487c8c4113ba89891b75243780c">enumerable_thread_specific</a> (const T &amp;_exemplar)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constuction with exemplar, which leads to copy construction of local copies. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="7f6e5b3654712ea003cbb7ebaffa8dd9"></a><!-- doxytag: member="tbb::interface5::enumerable_thread_specific::~enumerable_thread_specific" ref="7f6e5b3654712ea003cbb7ebaffa8dd9" args="()" -->
&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00164.html#7f6e5b3654712ea003cbb7ebaffa8dd9">~enumerable_thread_specific</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Destructor. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="8bcc55bfecc81937872b13f6db962b16"></a><!-- doxytag: member="tbb::interface5::enumerable_thread_specific::local" ref="8bcc55bfecc81937872b13f6db962b16" args="()" -->
reference&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00164.html#8bcc55bfecc81937872b13f6db962b16">local</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">returns reference to local, discarding exists <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="34423652c3add42563b1d5d44ca78158"></a><!-- doxytag: member="tbb::interface5::enumerable_thread_specific::local" ref="34423652c3add42563b1d5d44ca78158" args="(bool &amp;exists)" -->
reference&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00164.html#34423652c3add42563b1d5d44ca78158">local</a> (bool &amp;exists)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns reference to calling thread's local copy, creating one if necessary. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="101ecd32efae3ce1331c3d8a791c645b"></a><!-- doxytag: member="tbb::interface5::enumerable_thread_specific::size" ref="101ecd32efae3ce1331c3d8a791c645b" args="() const " -->
size_type&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00164.html#101ecd32efae3ce1331c3d8a791c645b">size</a> () const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the number of local copies. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="af91306d8e10e093226788a733ee59b4"></a><!-- doxytag: member="tbb::interface5::enumerable_thread_specific::empty" ref="af91306d8e10e093226788a733ee59b4" args="() const " -->
bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00164.html#af91306d8e10e093226788a733ee59b4">empty</a> () const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">true if there have been no local copies created <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="efd1e3d008ec5cd69c6b10c6dcac1e2c"></a><!-- doxytag: member="tbb::interface5::enumerable_thread_specific::begin" ref="efd1e3d008ec5cd69c6b10c6dcac1e2c" args="()" -->
iterator&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00164.html#efd1e3d008ec5cd69c6b10c6dcac1e2c">begin</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">begin iterator <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="3156594e622924c094c45faa261dba5a"></a><!-- doxytag: member="tbb::interface5::enumerable_thread_specific::end" ref="3156594e622924c094c45faa261dba5a" args="()" -->
iterator&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00164.html#3156594e622924c094c45faa261dba5a">end</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">end iterator <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="5f94cdb3a743e8b57c70dcb1041cfdf9"></a><!-- doxytag: member="tbb::interface5::enumerable_thread_specific::begin" ref="5f94cdb3a743e8b57c70dcb1041cfdf9" args="() const " -->
const_iterator&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00164.html#5f94cdb3a743e8b57c70dcb1041cfdf9">begin</a> () const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">begin const iterator <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="9909c01ec91ef10908c5155d6350db2d"></a><!-- doxytag: member="tbb::interface5::enumerable_thread_specific::end" ref="9909c01ec91ef10908c5155d6350db2d" args="() const " -->
const_iterator&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00164.html#9909c01ec91ef10908c5155d6350db2d">end</a> () const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">end const iterator <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ab3f04b8d355b5d311e955d3bb63562c"></a><!-- doxytag: member="tbb::interface5::enumerable_thread_specific::range" ref="ab3f04b8d355b5d311e955d3bb63562c" args="(size_t grainsize=1)" -->
range_type&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00164.html#ab3f04b8d355b5d311e955d3bb63562c">range</a> (size_t grainsize=1)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get range for parallel algorithms. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="48f5ab20db3c77faa7219deb28076e6c"></a><!-- doxytag: member="tbb::interface5::enumerable_thread_specific::range" ref="48f5ab20db3c77faa7219deb28076e6c" args="(size_t grainsize=1) const " -->
const_range_type&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00164.html#48f5ab20db3c77faa7219deb28076e6c">range</a> (size_t grainsize=1) const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get const range for parallel algorithms. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e7be0d504ba71ae6c7479eb373a361ab"></a><!-- doxytag: member="tbb::interface5::enumerable_thread_specific::clear" ref="e7be0d504ba71ae6c7479eb373a361ab" args="()" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00164.html#e7be0d504ba71ae6c7479eb373a361ab">clear</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Destroys local copies. <br></td></tr>
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="a2f7ac9445823125ad1df2aaa06b5b92"></a><!-- doxytag: member="tbb::interface5::enumerable_thread_specific::enumerable_thread_specific" ref="a2f7ac9445823125ad1df2aaa06b5b92" args="(const enumerable_thread_specific&lt; U, Alloc, Cachetype &gt; &amp;other)" -->
template&lt;typename U, typename Alloc, ets_key_usage_type Cachetype&gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memTemplItemRight" valign="bottom"><b>enumerable_thread_specific</b> (const <a class="el" href="a00164.html">enumerable_thread_specific</a>&lt; U, Alloc, Cachetype &gt; &amp;other)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="8efb1e66e999d19e293964876da6414c"></a><!-- doxytag: member="tbb::interface5::enumerable_thread_specific::enumerable_thread_specific" ref="8efb1e66e999d19e293964876da6414c" args="(const enumerable_thread_specific &amp;other)" -->
&nbsp;</td><td class="memItemRight" valign="bottom"><b>enumerable_thread_specific</b> (const <a class="el" href="a00164.html">enumerable_thread_specific</a> &amp;other)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a9b097f10dc5f035c73a0393b1820f4d"></a><!-- doxytag: member="tbb::interface5::enumerable_thread_specific::operator=" ref="a9b097f10dc5f035c73a0393b1820f4d" args="(const enumerable_thread_specific &amp;other)" -->
<a class="el" href="a00164.html">enumerable_thread_specific</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><b>operator=</b> (const <a class="el" href="a00164.html">enumerable_thread_specific</a> &amp;other)</td></tr>
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="f96ff60333760809cbf29850ed31cae3"></a><!-- doxytag: member="tbb::interface5::enumerable_thread_specific::operator=" ref="f96ff60333760809cbf29850ed31cae3" args="(const enumerable_thread_specific&lt; U, Alloc, Cachetype &gt; &amp;other)" -->
template&lt;typename U, typename Alloc, ets_key_usage_type Cachetype&gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top"><a class="el" href="a00164.html">enumerable_thread_specific</a> &amp;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><b>operator=</b> (const <a class="el" href="a00164.html">enumerable_thread_specific</a>&lt; U, Alloc, Cachetype &gt; &amp;other)</td></tr>
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="8203013705240cba76052ec7b828aaa8"></a><!-- doxytag: member="tbb::interface5::enumerable_thread_specific::combine" ref="8203013705240cba76052ec7b828aaa8" args="(combine_func_t f_combine)" -->
template&lt;typename combine_func_t&gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">T&nbsp;</td><td class="memTemplItemRight" valign="bottom"><b>combine</b> (combine_func_t f_combine)</td></tr>
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="665463cc7bb56143d9cdbb35fc3616b0"></a><!-- doxytag: member="tbb::interface5::enumerable_thread_specific::combine_each" ref="665463cc7bb56143d9cdbb35fc3616b0" args="(combine_func_t f_combine)" -->
template&lt;typename combine_func_t&gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><b>combine_each</b> (combine_func_t f_combine)</td></tr>
<tr><td colspan="2"><br><h2>Friends</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="45364b2f249ceb935cff05c29fcfcf5c"></a><!-- doxytag: member="tbb::interface5::enumerable_thread_specific::enumerable_thread_specific" ref="45364b2f249ceb935cff05c29fcfcf5c" args="" -->
class&nbsp;</td><td class="memItemRight" valign="bottom"><b>enumerable_thread_specific</b></td></tr>
<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><b>generic_range_type</b></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A generic range, used to create range objects from the iterators. <br></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
<h3>template&lt;typename T, typename Allocator = cache_aligned_allocator&lt;T&gt;, ets_key_usage_type ETS_key_type = ets_no_key&gt;<br>
class tbb::interface5::enumerable_thread_specific&lt; T, Allocator, ETS_key_type &gt;</h3>
The <a class="el" href="a00164.html">enumerable_thread_specific</a> container.
<p>
<a class="el" href="a00164.html">enumerable_thread_specific</a> has the following properties:<ul>
<li>thread-local copies are lazily created, with default, exemplar or function initialization.</li><li>thread-local copies do not move (during lifetime, and excepting <a class="el" href="a00164.html#e7be0d504ba71ae6c7479eb373a361ab">clear()</a>) so the address of a copy is invariant.</li><li>the contained objects need not have operator=() defined if combine is not used.</li><li><a class="el" href="a00164.html">enumerable_thread_specific</a> containers may be copy-constructed or assigned.</li><li>thread-local copies can be managed by hash-table, or can be accessed via TLS storage for speed.</li><li>outside of parallel contexts, the contents of all thread-local copies are accessible by iterator or using combine or combine_each methods</li></ul>
<p>
<dl compact><dt><b>Segmented iterator</b></dt><dd>When the thread-local objects are containers with input_iterators defined, a segmented iterator may be used to iterate over all the elements of all thread-local copies.</dd></dl>
<dl compact><dt><b>combine and combine_each</b></dt><dd><ul>
<li>Both methods are defined for <a class="el" href="a00164.html">enumerable_thread_specific</a>.</li><li>combine() requires the the type T have operator=() defined.</li><li>neither method modifies the contents of the object (though there is no guarantee that the applied methods do not modify the object.)</li><li>Both are evaluated in serial context (the methods are assumed to be non-benign.) </li></ul>
</dd></dl>
<p>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="a00353.html">enumerable_thread_specific.h</a></ul>
<hr>
<p></p>
Copyright &copy; 2005-2010 Intel Corporation. All Rights Reserved.
<p></p>
Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
registered trademarks or trademarks of Intel Corporation or its
subsidiaries in the United States and other countries.
<p></p>
* Other names and brands may be claimed as the property of others.