blob: 2eb8a4ad3a0b3fe899f30523b8a6dbb0aca7aea6 [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_stddef.h Source File</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><a href="annotated.html"><span>Classes</span></a></li>
<li id="current"><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="files.html"><span>File&nbsp;List</span></a></li>
<li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
</ul></div>
<h1>tbb_stddef.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
<a name="l00002"></a>00002 <span class="comment"> Copyright 2005-2010 Intel Corporation. All Rights Reserved.</span>
<a name="l00003"></a>00003 <span class="comment"></span>
<a name="l00004"></a>00004 <span class="comment"> The source code contained or described herein and all documents related</span>
<a name="l00005"></a>00005 <span class="comment"> to the source code ("Material") are owned by Intel Corporation or its</span>
<a name="l00006"></a>00006 <span class="comment"> suppliers or licensors. Title to the Material remains with Intel</span>
<a name="l00007"></a>00007 <span class="comment"> Corporation or its suppliers and licensors. The Material is protected</span>
<a name="l00008"></a>00008 <span class="comment"> by worldwide copyright laws and treaty provisions. No part of the</span>
<a name="l00009"></a>00009 <span class="comment"> Material may be used, copied, reproduced, modified, published, uploaded,</span>
<a name="l00010"></a>00010 <span class="comment"> posted, transmitted, distributed, or disclosed in any way without</span>
<a name="l00011"></a>00011 <span class="comment"> Intel's prior express written permission.</span>
<a name="l00012"></a>00012 <span class="comment"></span>
<a name="l00013"></a>00013 <span class="comment"> No license under any patent, copyright, trade secret or other</span>
<a name="l00014"></a>00014 <span class="comment"> intellectual property right is granted to or conferred upon you by</span>
<a name="l00015"></a>00015 <span class="comment"> disclosure or delivery of the Materials, either expressly, by</span>
<a name="l00016"></a>00016 <span class="comment"> implication, inducement, estoppel or otherwise. Any license under such</span>
<a name="l00017"></a>00017 <span class="comment"> intellectual property rights must be express and approved by Intel in</span>
<a name="l00018"></a>00018 <span class="comment"> writing.</span>
<a name="l00019"></a>00019 <span class="comment">*/</span>
<a name="l00020"></a>00020
<a name="l00021"></a>00021 <span class="preprocessor">#ifndef __TBB_tbb_stddef_H</span>
<a name="l00022"></a>00022 <span class="preprocessor"></span><span class="preprocessor">#define __TBB_tbb_stddef_H</span>
<a name="l00023"></a>00023 <span class="preprocessor"></span>
<a name="l00024"></a>00024 <span class="comment">// Marketing-driven product version</span>
<a name="l00025"></a>00025 <span class="preprocessor">#define TBB_VERSION_MAJOR 3</span>
<a name="l00026"></a>00026 <span class="preprocessor"></span><span class="preprocessor">#define TBB_VERSION_MINOR 0</span>
<a name="l00027"></a>00027 <span class="preprocessor"></span>
<a name="l00028"></a>00028 <span class="comment">// Engineering-focused interface version</span>
<a name="l00029"></a>00029 <span class="preprocessor">#define TBB_INTERFACE_VERSION 5000</span>
<a name="l00030"></a>00030 <span class="preprocessor"></span><span class="preprocessor">#define TBB_INTERFACE_VERSION_MAJOR TBB_INTERFACE_VERSION/1000</span>
<a name="l00031"></a>00031 <span class="preprocessor"></span>
<a name="l00032"></a>00032 <span class="comment">// The oldest major interface version still supported</span>
<a name="l00033"></a>00033 <span class="comment">// To be used in SONAME, manifests, etc.</span>
<a name="l00034"></a>00034 <span class="preprocessor">#define TBB_COMPATIBLE_INTERFACE_VERSION 2</span>
<a name="l00035"></a>00035 <span class="preprocessor"></span>
<a name="l00036"></a>00036 <span class="preprocessor">#define __TBB_STRING_AUX(x) #x</span>
<a name="l00037"></a>00037 <span class="preprocessor"></span><span class="preprocessor">#define __TBB_STRING(x) __TBB_STRING_AUX(x)</span>
<a name="l00038"></a>00038 <span class="preprocessor"></span>
<a name="l00039"></a>00039 <span class="comment">// We do not need defines below for resource processing on windows</span>
<a name="l00040"></a>00040 <span class="preprocessor">#if !defined RC_INVOKED</span>
<a name="l00041"></a>00041 <span class="preprocessor"></span>
<a name="l00042"></a>00042 <span class="comment">// Define groups for Doxygen documentation</span>
<a name="l00052"></a>00052 <span class="comment"></span><span class="comment">// Simple text that is displayed on the main page of Doxygen documentation.</span>
<a name="l00094"></a>00094 <span class="comment"></span><span class="comment">// Define preprocessor symbols used to determine architecture</span>
<a name="l00095"></a>00095 <span class="preprocessor">#if _WIN32||_WIN64</span>
<a name="l00096"></a>00096 <span class="preprocessor"></span><span class="preprocessor"># if defined(_M_AMD64)</span>
<a name="l00097"></a>00097 <span class="preprocessor"></span><span class="preprocessor"># define __TBB_x86_64 1</span>
<a name="l00098"></a>00098 <span class="preprocessor"></span><span class="preprocessor"># elif defined(_M_IA64)</span>
<a name="l00099"></a>00099 <span class="preprocessor"></span><span class="preprocessor"># define __TBB_ipf 1</span>
<a name="l00100"></a>00100 <span class="preprocessor"></span><span class="preprocessor"># elif defined(_M_IX86)||defined(__i386__) // the latter for MinGW support</span>
<a name="l00101"></a>00101 <span class="preprocessor"></span><span class="preprocessor"># define __TBB_x86_32 1</span>
<a name="l00102"></a>00102 <span class="preprocessor"></span><span class="preprocessor"># endif</span>
<a name="l00103"></a>00103 <span class="preprocessor"></span><span class="preprocessor">#else </span><span class="comment">/* Assume generic Unix */</span>
<a name="l00104"></a>00104 <span class="preprocessor"># if !__linux__ &amp;&amp; !__APPLE__</span>
<a name="l00105"></a>00105 <span class="preprocessor"></span><span class="preprocessor"># define __TBB_generic_os 1</span>
<a name="l00106"></a>00106 <span class="preprocessor"></span><span class="preprocessor"># endif</span>
<a name="l00107"></a>00107 <span class="preprocessor"></span><span class="preprocessor"># if __x86_64__</span>
<a name="l00108"></a>00108 <span class="preprocessor"></span><span class="preprocessor"># define __TBB_x86_64 1</span>
<a name="l00109"></a>00109 <span class="preprocessor"></span><span class="preprocessor"># elif __ia64__</span>
<a name="l00110"></a>00110 <span class="preprocessor"></span><span class="preprocessor"># define __TBB_ipf 1</span>
<a name="l00111"></a>00111 <span class="preprocessor"></span><span class="preprocessor"># elif __i386__||__i386 // __i386 is for Sun OS</span>
<a name="l00112"></a>00112 <span class="preprocessor"></span><span class="preprocessor"># define __TBB_x86_32 1</span>
<a name="l00113"></a>00113 <span class="preprocessor"></span><span class="preprocessor"># else</span>
<a name="l00114"></a>00114 <span class="preprocessor"></span><span class="preprocessor"># define __TBB_generic_arch 1</span>
<a name="l00115"></a>00115 <span class="preprocessor"></span><span class="preprocessor"># endif</span>
<a name="l00116"></a>00116 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
<a name="l00117"></a>00117 <span class="preprocessor"></span>
<a name="l00118"></a>00118 <span class="preprocessor">#if _MSC_VER</span>
<a name="l00119"></a>00119 <span class="preprocessor"></span><span class="comment">// define the parts of stdint.h that are needed, but put them inside tbb::internal</span>
<a name="l00120"></a>00120 <span class="keyword">namespace </span>tbb {
<a name="l00121"></a>00121 <span class="keyword">namespace </span>internal {
<a name="l00122"></a>00122 <span class="keyword">typedef</span> __int8 int8_t;
<a name="l00123"></a>00123 <span class="keyword">typedef</span> __int16 int16_t;
<a name="l00124"></a>00124 <span class="keyword">typedef</span> __int32 int32_t;
<a name="l00125"></a>00125 <span class="keyword">typedef</span> __int64 int64_t;
<a name="l00126"></a>00126 <span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> __int8 uint8_t;
<a name="l00127"></a>00127 <span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> __int16 uint16_t;
<a name="l00128"></a>00128 <span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> __int32 uint32_t;
<a name="l00129"></a>00129 <span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> __int64 uint64_t;
<a name="l00130"></a>00130 } <span class="comment">// namespace internal</span>
<a name="l00131"></a>00131 } <span class="comment">// namespace tbb</span>
<a name="l00132"></a>00132 <span class="preprocessor">#else</span>
<a name="l00133"></a>00133 <span class="preprocessor"></span><span class="preprocessor">#include &lt;stdint.h&gt;</span>
<a name="l00134"></a>00134 <span class="preprocessor">#endif </span><span class="comment">/* _MSC_VER */</span>
<a name="l00135"></a>00135
<a name="l00136"></a>00136 <span class="preprocessor">#if _MSC_VER &gt;=1400</span>
<a name="l00137"></a>00137 <span class="preprocessor"></span><span class="preprocessor">#define __TBB_EXPORTED_FUNC __cdecl</span>
<a name="l00138"></a>00138 <span class="preprocessor"></span><span class="preprocessor">#define __TBB_EXPORTED_METHOD __thiscall</span>
<a name="l00139"></a>00139 <span class="preprocessor"></span><span class="preprocessor">#else</span>
<a name="l00140"></a>00140 <span class="preprocessor"></span><span class="preprocessor">#define __TBB_EXPORTED_FUNC</span>
<a name="l00141"></a>00141 <span class="preprocessor"></span><span class="preprocessor">#define __TBB_EXPORTED_METHOD</span>
<a name="l00142"></a>00142 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
<a name="l00143"></a>00143 <span class="preprocessor"></span>
<a name="l00144"></a>00144 <span class="preprocessor">#include &lt;cstddef&gt;</span> <span class="comment">/* Need size_t and ptrdiff_t (the latter on Windows only) from here. */</span>
<a name="l00145"></a>00145
<a name="l00146"></a>00146 <span class="preprocessor">#if _MSC_VER</span>
<a name="l00147"></a>00147 <span class="preprocessor"></span><span class="preprocessor">#define __TBB_tbb_windef_H</span>
<a name="l00148"></a>00148 <span class="preprocessor"></span><span class="preprocessor">#include "_tbb_windef.h"</span>
<a name="l00149"></a>00149 <span class="preprocessor">#undef __TBB_tbb_windef_H</span>
<a name="l00150"></a>00150 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
<a name="l00151"></a>00151 <span class="preprocessor"></span>
<a name="l00152"></a>00152 <span class="preprocessor">#include "tbb_config.h"</span>
<a name="l00153"></a>00153
<a name="l00155"></a>00155 <span class="keyword">namespace </span>tbb {
<a name="l00157"></a><a class="code" href="a00267.html#ed375248ff6019a70ca0f9da528e5d0b">00157</a> <span class="keyword">typedef</span> void(*<a class="code" href="a00267.html#ed375248ff6019a70ca0f9da528e5d0b">assertion_handler_type</a>)( <span class="keyword">const</span> <span class="keywordtype">char</span>* filename, <span class="keywordtype">int</span> line, <span class="keyword">const</span> <span class="keywordtype">char</span>* expression, <span class="keyword">const</span> <span class="keywordtype">char</span> * comment );
<a name="l00158"></a>00158
<a name="l00159"></a>00159 <span class="preprocessor">#if TBB_USE_ASSERT</span>
<a name="l00160"></a>00160 <span class="preprocessor"></span>
<a name="l00162"></a>00162
<a name="l00165"></a>00165 <span class="preprocessor">#define __TBB_ASSERT(predicate,message) ((predicate)?((void)0):tbb::assertion_failure(__FILE__,__LINE__,#predicate,message))</span>
<a name="l00166"></a>00166 <span class="preprocessor"></span><span class="preprocessor">#define __TBB_ASSERT_EX __TBB_ASSERT</span>
<a name="l00167"></a>00167 <span class="preprocessor"></span>
<a name="l00169"></a>00169 <a class="code" href="a00267.html#ed375248ff6019a70ca0f9da528e5d0b">assertion_handler_type</a> __TBB_EXPORTED_FUNC <a class="code" href="a00267.html#823fa1c15dd829d1d9167157450ddcd9">set_assertion_handler</a>( <a class="code" href="a00267.html#ed375248ff6019a70ca0f9da528e5d0b">assertion_handler_type</a> new_handler );
<a name="l00170"></a>00170
<a name="l00172"></a>00172
<a name="l00175"></a>00175 <span class="keywordtype">void</span> __TBB_EXPORTED_FUNC <a class="code" href="a00267.html#3d1252787be39b4aef311f1cadaff9e8">assertion_failure</a>( <span class="keyword">const</span> <span class="keywordtype">char</span>* filename, <span class="keywordtype">int</span> line, <span class="keyword">const</span> <span class="keywordtype">char</span>* expression, <span class="keyword">const</span> <span class="keywordtype">char</span>* comment );
<a name="l00176"></a>00176
<a name="l00177"></a>00177 <span class="preprocessor">#else</span>
<a name="l00178"></a>00178 <span class="preprocessor"></span>
<a name="l00180"></a>00180 <span class="preprocessor">#define __TBB_ASSERT(predicate,comment) ((void)0)</span>
<a name="l00182"></a>00182 <span class="preprocessor">#define __TBB_ASSERT_EX(predicate,comment) ((void)(1 &amp;&amp; (predicate)))</span>
<a name="l00183"></a>00183 <span class="preprocessor"></span>
<a name="l00184"></a>00184 <span class="preprocessor">#endif </span><span class="comment">/* TBB_USE_ASSERT */</span>
<a name="l00185"></a>00185
<a name="l00187"></a>00187
<a name="l00191"></a>00191 <span class="keyword">extern</span> <span class="stringliteral">"C"</span> <span class="keywordtype">int</span> __TBB_EXPORTED_FUNC <a class="code" href="a00267.html#a6858b22e90041c9c4669674ff39b056">TBB_runtime_interface_version</a>();
<a name="l00192"></a>00192
<a name="l00194"></a>00194
<a name="l00198"></a><a class="code" href="a00198.html">00198</a> <span class="keyword">class </span><a class="code" href="a00198.html">split</a> {
<a name="l00199"></a>00199 };
<a name="l00200"></a>00200
<a name="l00205"></a>00205 <span class="keyword">namespace </span>internal {
<a name="l00206"></a>00206
<a name="l00207"></a>00207 <span class="keyword">using</span> std::size_t;
<a name="l00208"></a>00208
<a name="l00210"></a>00210
<a name="l00213"></a>00213 <span class="keyword">const</span> size_t NFS_MaxLineSize = 128;
<a name="l00214"></a>00214
<a name="l00215"></a>00215 <span class="keyword">template</span>&lt;<span class="keyword">class</span> T, <span class="keywordtype">int</span> S&gt;
<a name="l00216"></a>00216 <span class="keyword">struct </span>padded_base : T {
<a name="l00217"></a>00217 <span class="keywordtype">char</span> pad[NFS_MaxLineSize - <span class="keyword">sizeof</span>(T) % NFS_MaxLineSize];
<a name="l00218"></a>00218 };
<a name="l00219"></a>00219 <span class="keyword">template</span>&lt;<span class="keyword">class</span> T&gt; <span class="keyword">struct </span>padded_base&lt;T, 0&gt; : T {};
<a name="l00220"></a>00220
<a name="l00222"></a>00222 <span class="keyword">template</span>&lt;<span class="keyword">class</span> T&gt;
<a name="l00223"></a>00223 <span class="keyword">struct </span>padded : padded_base&lt;T, sizeof(T)&gt; {};
<a name="l00224"></a>00224
<a name="l00226"></a>00226
<a name="l00228"></a>00228 <span class="preprocessor">#define __TBB_offsetof(class_name, member_name) \</span>
<a name="l00229"></a>00229 <span class="preprocessor"> ((ptrdiff_t)&amp;(reinterpret_cast&lt;class_name*&gt;(0x1000)-&gt;member_name) - 0x1000)</span>
<a name="l00230"></a>00230 <span class="preprocessor"></span>
<a name="l00232"></a>00232 <span class="preprocessor">#define __TBB_get_object_ref(class_name, member_name, member_addr) \</span>
<a name="l00233"></a>00233 <span class="preprocessor"> (*reinterpret_cast&lt;class_name*&gt;((char*)member_addr - __TBB_offsetof(class_name, member_name)))</span>
<a name="l00234"></a>00234 <span class="preprocessor"></span>
<a name="l00236"></a>00236 <span class="keywordtype">void</span> __TBB_EXPORTED_FUNC handle_perror( <span class="keywordtype">int</span> error_code, <span class="keyword">const</span> <span class="keywordtype">char</span>* aux_info );
<a name="l00237"></a>00237
<a name="l00238"></a>00238 <span class="preprocessor">#if TBB_USE_EXCEPTIONS</span>
<a name="l00239"></a>00239 <span class="preprocessor"></span><span class="preprocessor"> #define __TBB_TRY try</span>
<a name="l00240"></a>00240 <span class="preprocessor"></span><span class="preprocessor"> #define __TBB_CATCH(e) catch(e)</span>
<a name="l00241"></a>00241 <span class="preprocessor"></span><span class="preprocessor"> #define __TBB_THROW(e) throw e</span>
<a name="l00242"></a>00242 <span class="preprocessor"></span><span class="preprocessor"> #define __TBB_RETHROW() throw</span>
<a name="l00243"></a>00243 <span class="preprocessor"></span><span class="preprocessor">#else </span><span class="comment">/* !TBB_USE_EXCEPTIONS */</span>
<a name="l00244"></a>00244 <span class="keyword">inline</span> <span class="keywordtype">bool</span> __TBB_false() { <span class="keywordflow">return</span> <span class="keyword">false</span>; }
<a name="l00245"></a>00245 <span class="preprocessor"> #define __TBB_TRY</span>
<a name="l00246"></a>00246 <span class="preprocessor"></span><span class="preprocessor"> #define __TBB_CATCH(e) if ( tbb::internal::__TBB_false() )</span>
<a name="l00247"></a>00247 <span class="preprocessor"></span><span class="preprocessor"> #define __TBB_THROW(e) ((void)0)</span>
<a name="l00248"></a>00248 <span class="preprocessor"></span><span class="preprocessor"> #define __TBB_RETHROW() ((void)0)</span>
<a name="l00249"></a>00249 <span class="preprocessor"></span><span class="preprocessor">#endif </span><span class="comment">/* !TBB_USE_EXCEPTIONS */</span>
<a name="l00250"></a>00250
<a name="l00252"></a>00252 <span class="keywordtype">void</span> __TBB_EXPORTED_FUNC runtime_warning( <span class="keyword">const</span> <span class="keywordtype">char</span>* format, ... );
<a name="l00253"></a>00253
<a name="l00254"></a>00254 <span class="preprocessor">#if TBB_USE_ASSERT</span>
<a name="l00256"></a>00256 <span class="preprocessor">template&lt;typename T&gt;</span>
<a name="l00257"></a>00257 <span class="preprocessor"></span><span class="keyword">inline</span> <span class="keywordtype">void</span> poison_pointer( T* &amp; p ) {
<a name="l00258"></a>00258 p = reinterpret_cast&lt;T*&gt;(-1);
<a name="l00259"></a>00259 }
<a name="l00260"></a>00260 <span class="preprocessor">#else</span>
<a name="l00261"></a>00261 <span class="preprocessor"></span><span class="keyword">template</span>&lt;<span class="keyword">typename</span> T&gt;
<a name="l00262"></a>00262 <span class="keyword">inline</span> <span class="keywordtype">void</span> poison_pointer( T* ) {<span class="comment">/*do nothing*/</span>}
<a name="l00263"></a>00263 <span class="preprocessor">#endif </span><span class="comment">/* TBB_USE_ASSERT */</span>
<a name="l00264"></a>00264
<a name="l00266"></a>00266 <span class="keyword">class </span>no_assign {
<a name="l00267"></a>00267 <span class="comment">// Deny assignment</span>
<a name="l00268"></a>00268 <span class="keywordtype">void</span> operator=( <span class="keyword">const</span> no_assign&amp; );
<a name="l00269"></a>00269 <span class="keyword">public</span>:
<a name="l00270"></a>00270 <span class="preprocessor">#if __GNUC__</span>
<a name="l00272"></a>00272 <span class="preprocessor"> no_assign() {}</span>
<a name="l00273"></a>00273 <span class="preprocessor"></span><span class="preprocessor">#endif </span><span class="comment">/* __GNUC__ */</span>
<a name="l00274"></a>00274 };
<a name="l00275"></a>00275
<a name="l00277"></a>00277 <span class="keyword">class </span>no_copy: no_assign {
<a name="l00279"></a>00279 no_copy( <span class="keyword">const</span> no_copy&amp; );
<a name="l00280"></a>00280 <span class="keyword">public</span>:
<a name="l00282"></a>00282 no_copy() {}
<a name="l00283"></a>00283 };
<a name="l00284"></a>00284
<a name="l00286"></a>00286 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T&gt;
<a name="l00287"></a>00287 <span class="keyword">struct </span>allocator_type {
<a name="l00288"></a>00288 <span class="keyword">typedef</span> T value_type;
<a name="l00289"></a>00289 };
<a name="l00290"></a>00290
<a name="l00291"></a>00291 <span class="preprocessor">#if _MSC_VER</span>
<a name="l00293"></a>00293 <span class="preprocessor">template&lt;typename T&gt;</span>
<a name="l00294"></a>00294 <span class="preprocessor"></span><span class="keyword">struct </span>allocator_type&lt;const T&gt; {
<a name="l00295"></a>00295 <span class="keyword">typedef</span> T value_type;
<a name="l00296"></a>00296 };
<a name="l00297"></a>00297 <span class="preprocessor">#endif</span>
<a name="l00298"></a>00298 <span class="preprocessor"></span>
<a name="l00299"></a>00299 <span class="comment">// Struct to be used as a version tag for inline functions.</span>
<a name="l00302"></a>00302 <span class="comment"></span><span class="keyword">struct </span>version_tag_v3 {};
<a name="l00303"></a>00303
<a name="l00304"></a>00304 <span class="keyword">typedef</span> version_tag_v3 version_tag;
<a name="l00305"></a>00305
<a name="l00306"></a>00306 } <span class="comment">// internal</span>
<a name="l00308"></a>00308 <span class="comment"></span>
<a name="l00309"></a>00309 } <span class="comment">// tbb</span>
<a name="l00310"></a>00310
<a name="l00311"></a>00311 <span class="preprocessor">#endif </span><span class="comment">/* RC_INVOKED */</span>
<a name="l00312"></a>00312 <span class="preprocessor">#endif </span><span class="comment">/* __TBB_tbb_stddef_H */</span>
</pre></div><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.