1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> 2 <html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> 3 <title>Oscl_Queue_Base class Reference</title> 4 <link href="doxygen.css" rel="stylesheet" type="text/css"> 5 </head><body> 6 <!-- Generated by Doxygen 1.2.18 --> 7 <center> 8 <a class="qindex" href="index.html">Main Page</a> <a class="qindex" href="modules.html">Modules</a> <a class="qindex" href="hierarchy.html">Class Hierarchy</a> <a class="qindex" href="annotated.html">Data Structures</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="functions.html">Data Fields</a> <a class="qindex" href="globals.html">Globals</a> </center> 9 <hr><h1>Oscl_Queue_Base Class Reference<br> 10 <small> 11 [<a class="el" href="group__osclbase.html">OSCL Base</a>]</small> 12 </h1><code>#include <<a class="el" href="oscl__queue_8h-source.html">oscl_queue.h</a>></code> 13 <p> 14 <p>Inheritance diagram for Oscl_Queue_Base: 15 <p><center><img src="classOscl__Queue__Base.png" usemap="#Oscl_Queue_Base_map" border="0" alt=""></center> 16 <map name="Oscl_Queue_Base_map"> 17 <area href="classOscl__Queue.html" alt="Oscl_Queue< T, Alloc >" shape="rect" coords="0,56,152,80"> 18 </map> 19 <table border=0 cellpadding=0 cellspacing=0> 20 <tr><td></td></tr> 21 <tr><td colspan=2><br><h2>Public Methods</h2></td></tr> 22 <tr><td nowrap align=right valign=top>uint32 </td><td valign=bottom><a class="el" href="classOscl__Queue__Base.html#a0">size</a> () const</td></tr> 23 <tr><td nowrap align=right valign=top>uint32 </td><td valign=bottom><a class="el" href="classOscl__Queue__Base.html#a1">capacity</a> () const</td></tr> 24 <tr><td nowrap align=right valign=top>bool </td><td valign=bottom><a class="el" href="classOscl__Queue__Base.html#a2">empty</a> () const</td></tr> 25 <tr><td nowrap align=right valign=top>OSCL_IMPORT_REF void </td><td valign=bottom><a class="el" href="classOscl__Queue__Base.html#a3">reserve</a> (uint32 n)</td></tr> 26 <tr><td colspan=2><br><h2>Protected Methods</h2></td></tr> 27 <tr><td nowrap align=right valign=top>OSCL_IMPORT_REF void </td><td valign=bottom><a class="el" href="classOscl__Queue__Base.html#b0">construct</a> (<a class="el" href="classOscl__Opaque__Type__Alloc.html">Oscl_Opaque_Type_Alloc</a> *aType)</td></tr> 28 <tr><td nowrap align=right valign=top>OSCL_IMPORT_REF void </td><td valign=bottom><a class="el" href="classOscl__Queue__Base.html#b1">construct</a> (<a class="el" href="classOscl__Opaque__Type__Alloc.html">Oscl_Opaque_Type_Alloc</a> *aType, uint32 n)</td></tr> 29 <tr><td nowrap align=right valign=top>virtual </td><td valign=bottom><a class="el" href="classOscl__Queue__Base.html#b2">~Oscl_Queue_Base</a> ()</td></tr> 30 <tr><td nowrap align=right valign=top>OSCL_IMPORT_REF void </td><td valign=bottom><a class="el" href="classOscl__Queue__Base.html#b3">destroy</a> ()</td></tr> 31 <tr><td nowrap align=right valign=top>OSCL_IMPORT_REF void </td><td valign=bottom><a class="el" href="classOscl__Queue__Base.html#b4">push</a> (const <a class="el" href="group__osclbase.html#a25">OsclAny</a> *x)</td></tr> 32 <tr><td nowrap align=right valign=top>OSCL_IMPORT_REF void </td><td valign=bottom><a class="el" href="classOscl__Queue__Base.html#b5">pop</a> ()</td></tr> 33 <tr><td nowrap align=right valign=top>OSCL_IMPORT_REF void </td><td valign=bottom><a class="el" href="classOscl__Queue__Base.html#b6">clear</a> ()</td></tr> 34 <tr><td colspan=2><br><h2>Protected Attributes</h2></td></tr> 35 <tr><td nowrap align=right valign=top>uint32 </td><td valign=bottom><a class="el" href="classOscl__Queue__Base.html#n0">numelems</a></td></tr> 36 <tr><td nowrap align=right valign=top>uint32 </td><td valign=bottom><a class="el" href="classOscl__Queue__Base.html#n1">bufsize</a></td></tr> 37 <tr><td nowrap align=right valign=top><a class="el" href="group__osclbase.html#a25">OsclAny</a> * </td><td valign=bottom><a class="el" href="classOscl__Queue__Base.html#n2">elems</a></td></tr> 38 <tr><td nowrap align=right valign=top>uint32 </td><td valign=bottom><a class="el" href="classOscl__Queue__Base.html#n3">sizeof_T</a></td></tr> 39 <tr><td nowrap align=right valign=top>uint32 </td><td valign=bottom><a class="el" href="classOscl__Queue__Base.html#n4">ifront</a></td></tr> 40 <tr><td nowrap align=right valign=top>uint32 </td><td valign=bottom><a class="el" href="classOscl__Queue__Base.html#n5">irear</a></td></tr> 41 </table> 42 <hr><a name="_details"></a><h2>Detailed Description</h2> 43 Oscl_Queue_Base is a non-templatized base class for <a class="el" href="classOscl__Queue.html">Oscl_Queue</a>. The purpose of this base class is to avoid large inline routines in the <a class="el" href="classOscl__Queue.html">Oscl_Queue</a> implementation. This class is not intended for direct instantiation except by <a class="el" href="classOscl__Queue.html">Oscl_Queue</a>. 44 <p> 45 <hr><h2>Constructor & Destructor Documentation</h2> 46 <a name="b2" doxytag="Oscl_Queue_Base::~Oscl_Queue_Base"></a><p> 47 <table width="100%" cellpadding="2" cellspacing="0" border="0"> 48 <tr> 49 <td class="md"> 50 <table cellpadding="0" cellspacing="0" border="0"> 51 <tr> 52 <td class="md" nowrap valign="top"> virtual Oscl_Queue_Base::~Oscl_Queue_Base </td> 53 <td class="md" valign="top">( </td> 54 <td class="mdname1" valign="top" nowrap> </td> 55 <td class="md" valign="top">) </td> 56 <td class="md" nowrap><code> [inline, protected, virtual]</code></td> 57 </tr> 58 59 </table> 60 </td> 61 </tr> 62 </table> 63 <table cellspacing=5 cellpadding=0 border=0> 64 <tr> 65 <td> 66 67 </td> 68 <td> 69 70 <p> 71 The destructor. </td> 72 </tr> 73 </table> 74 <hr><h2>Member Function Documentation</h2> 75 <a name="a1" doxytag="Oscl_Queue_Base::capacity"></a><p> 76 <table width="100%" cellpadding="2" cellspacing="0" border="0"> 77 <tr> 78 <td class="md"> 79 <table cellpadding="0" cellspacing="0" border="0"> 80 <tr> 81 <td class="md" nowrap valign="top"> uint32 Oscl_Queue_Base::capacity </td> 82 <td class="md" valign="top">( </td> 83 <td class="mdname1" valign="top" nowrap> </td> 84 <td class="md" valign="top">) </td> 85 <td class="md" nowrap> const<code> [inline]</code></td> 86 </tr> 87 88 </table> 89 </td> 90 </tr> 91 </table> 92 <table cellspacing=5 cellpadding=0 border=0> 93 <tr> 94 <td> 95 96 </td> 97 <td> 98 99 <p> 100 Returns the allocated memory of the queue. </td> 101 </tr> 102 </table> 103 <a name="b6" doxytag="Oscl_Queue_Base::clear"></a><p> 104 <table width="100%" cellpadding="2" cellspacing="0" border="0"> 105 <tr> 106 <td class="md"> 107 <table cellpadding="0" cellspacing="0" border="0"> 108 <tr> 109 <td class="md" nowrap valign="top"> OSCL_IMPORT_REF void Oscl_Queue_Base::clear </td> 110 <td class="md" valign="top">( </td> 111 <td class="mdname1" valign="top" nowrap> </td> 112 <td class="md" valign="top">) </td> 113 <td class="md" nowrap><code> [protected]</code></td> 114 </tr> 115 116 </table> 117 </td> 118 </tr> 119 </table> 120 <table cellspacing=5 cellpadding=0 border=0> 121 <tr> 122 <td> 123 124 </td> 125 <td> 126 127 <p> 128 Removes all elements. 129 <p> 130 Reimplemented in <a class="el" href="classOscl__Queue.html#a9">Oscl_Queue< T, Alloc ></a>. </td> 131 </tr> 132 </table> 133 <a name="b1" doxytag="Oscl_Queue_Base::construct"></a><p> 134 <table width="100%" cellpadding="2" cellspacing="0" border="0"> 135 <tr> 136 <td class="md"> 137 <table cellpadding="0" cellspacing="0" border="0"> 138 <tr> 139 <td class="md" nowrap valign="top"> OSCL_IMPORT_REF void Oscl_Queue_Base::construct </td> 140 <td class="md" valign="top">( </td> 141 <td class="md" nowrap valign="top"><a class="el" href="classOscl__Opaque__Type__Alloc.html">Oscl_Opaque_Type_Alloc</a> * </td> 142 <td class="mdname" nowrap> <em>aType</em>, </td> 143 </tr> 144 <tr> 145 <td></td> 146 <td></td> 147 <td class="md" nowrap>uint32 </td> 148 <td class="mdname" nowrap> <em>n</em></td> 149 </tr> 150 <tr> 151 <td></td> 152 <td class="md">) </td> 153 <td class="md" colspan="2"><code> [protected]</code></td> 154 </tr> 155 156 </table> 157 </td> 158 </tr> 159 </table> 160 <table cellspacing=5 cellpadding=0 border=0> 161 <tr> 162 <td> 163 164 </td> 165 <td> 166 167 <p> 168 </td> 169 </tr> 170 </table> 171 <a name="b0" doxytag="Oscl_Queue_Base::construct"></a><p> 172 <table width="100%" cellpadding="2" cellspacing="0" border="0"> 173 <tr> 174 <td class="md"> 175 <table cellpadding="0" cellspacing="0" border="0"> 176 <tr> 177 <td class="md" nowrap valign="top"> OSCL_IMPORT_REF void Oscl_Queue_Base::construct </td> 178 <td class="md" valign="top">( </td> 179 <td class="md" nowrap valign="top"><a class="el" href="classOscl__Opaque__Type__Alloc.html">Oscl_Opaque_Type_Alloc</a> * </td> 180 <td class="mdname1" valign="top" nowrap> <em>aType</em> </td> 181 <td class="md" valign="top">) </td> 182 <td class="md" nowrap><code> [protected]</code></td> 183 </tr> 184 185 </table> 186 </td> 187 </tr> 188 </table> 189 <table cellspacing=5 cellpadding=0 border=0> 190 <tr> 191 <td> 192 193 </td> 194 <td> 195 196 <p> 197 </td> 198 </tr> 199 </table> 200 <a name="b3" doxytag="Oscl_Queue_Base::destroy"></a><p> 201 <table width="100%" cellpadding="2" cellspacing="0" border="0"> 202 <tr> 203 <td class="md"> 204 <table cellpadding="0" cellspacing="0" border="0"> 205 <tr> 206 <td class="md" nowrap valign="top"> OSCL_IMPORT_REF void Oscl_Queue_Base::destroy </td> 207 <td class="md" valign="top">( </td> 208 <td class="mdname1" valign="top" nowrap> </td> 209 <td class="md" valign="top">) </td> 210 <td class="md" nowrap><code> [protected]</code></td> 211 </tr> 212 213 </table> 214 </td> 215 </tr> 216 </table> 217 <table cellspacing=5 cellpadding=0 border=0> 218 <tr> 219 <td> 220 221 </td> 222 <td> 223 224 <p> 225 Like an explicit destructor call. </td> 226 </tr> 227 </table> 228 <a name="a2" doxytag="Oscl_Queue_Base::empty"></a><p> 229 <table width="100%" cellpadding="2" cellspacing="0" border="0"> 230 <tr> 231 <td class="md"> 232 <table cellpadding="0" cellspacing="0" border="0"> 233 <tr> 234 <td class="md" nowrap valign="top"> bool Oscl_Queue_Base::empty </td> 235 <td class="md" valign="top">( </td> 236 <td class="mdname1" valign="top" nowrap> </td> 237 <td class="md" valign="top">) </td> 238 <td class="md" nowrap> const<code> [inline]</code></td> 239 </tr> 240 241 </table> 242 </td> 243 </tr> 244 </table> 245 <table cellspacing=5 cellpadding=0 border=0> 246 <tr> 247 <td> 248 249 </td> 250 <td> 251 252 <p> 253 True if there are no elements in the queue </td> 254 </tr> 255 </table> 256 <a name="b5" doxytag="Oscl_Queue_Base::pop"></a><p> 257 <table width="100%" cellpadding="2" cellspacing="0" border="0"> 258 <tr> 259 <td class="md"> 260 <table cellpadding="0" cellspacing="0" border="0"> 261 <tr> 262 <td class="md" nowrap valign="top"> OSCL_IMPORT_REF void Oscl_Queue_Base::pop </td> 263 <td class="md" valign="top">( </td> 264 <td class="mdname1" valign="top" nowrap> </td> 265 <td class="md" valign="top">) </td> 266 <td class="md" nowrap><code> [protected]</code></td> 267 </tr> 268 269 </table> 270 </td> 271 </tr> 272 </table> 273 <table cellspacing=5 cellpadding=0 border=0> 274 <tr> 275 <td> 276 277 </td> 278 <td> 279 280 <p> 281 Removes the first element 282 <p> 283 Reimplemented in <a class="el" href="classOscl__Queue.html#a6">Oscl_Queue< T, Alloc ></a>. </td> 284 </tr> 285 </table> 286 <a name="b4" doxytag="Oscl_Queue_Base::push"></a><p> 287 <table width="100%" cellpadding="2" cellspacing="0" border="0"> 288 <tr> 289 <td class="md"> 290 <table cellpadding="0" cellspacing="0" border="0"> 291 <tr> 292 <td class="md" nowrap valign="top"> OSCL_IMPORT_REF void Oscl_Queue_Base::push </td> 293 <td class="md" valign="top">( </td> 294 <td class="md" nowrap valign="top">const <a class="el" href="group__osclbase.html#a25">OsclAny</a> * </td> 295 <td class="mdname1" valign="top" nowrap> <em>x</em> </td> 296 <td class="md" valign="top">) </td> 297 <td class="md" nowrap><code> [protected]</code></td> 298 </tr> 299 300 </table> 301 </td> 302 </tr> 303 </table> 304 <table cellspacing=5 cellpadding=0 border=0> 305 <tr> 306 <td> 307 308 </td> 309 <td> 310 311 <p> 312 Inserts a new element at the end. Queue will be grown if necessary. If allocation fails, an OSCL_LEAVE will occur <dl compact><dt><b>Parameters: </b></dt><dd> 313 <table border=0 cellspacing=2 cellpadding=0> 314 <tr><td valign=top><em>x</em> </td><td> 315 new element </td></tr> 316 </table> 317 </dl> </td> 318 </tr> 319 </table> 320 <a name="a3" doxytag="Oscl_Queue_Base::reserve"></a><p> 321 <table width="100%" cellpadding="2" cellspacing="0" border="0"> 322 <tr> 323 <td class="md"> 324 <table cellpadding="0" cellspacing="0" border="0"> 325 <tr> 326 <td class="md" nowrap valign="top"> OSCL_IMPORT_REF void Oscl_Queue_Base::reserve </td> 327 <td class="md" valign="top">( </td> 328 <td class="md" nowrap valign="top">uint32 </td> 329 <td class="mdname1" valign="top" nowrap> <em>n</em> </td> 330 <td class="md" valign="top">) </td> 331 <td class="md" nowrap></td> 332 </tr> 333 334 </table> 335 </td> 336 </tr> 337 </table> 338 <table cellspacing=5 cellpadding=0 border=0> 339 <tr> 340 <td> 341 342 </td> 343 <td> 344 345 <p> 346 Reallocates memory if necessary to a capacity of n elements. The main reason for reserve is efficiency. If you know the capacity to which your vector must grow, then it is more efficient to allocate the vector all at once rather than rely on the automatic reallocation scheme. This also helps cotrol the invalidation of iterators. <dl compact><dt><b>Parameters: </b></dt><dd> 347 <table border=0 cellspacing=2 cellpadding=0> 348 <tr><td valign=top><em>n</em> </td><td> 349 size of vector </td></tr> 350 </table> 351 </dl> </td> 352 </tr> 353 </table> 354 <a name="a0" doxytag="Oscl_Queue_Base::size"></a><p> 355 <table width="100%" cellpadding="2" cellspacing="0" border="0"> 356 <tr> 357 <td class="md"> 358 <table cellpadding="0" cellspacing="0" border="0"> 359 <tr> 360 <td class="md" nowrap valign="top"> uint32 Oscl_Queue_Base::size </td> 361 <td class="md" valign="top">( </td> 362 <td class="mdname1" valign="top" nowrap> </td> 363 <td class="md" valign="top">) </td> 364 <td class="md" nowrap> const<code> [inline]</code></td> 365 </tr> 366 367 </table> 368 </td> 369 </tr> 370 </table> 371 <table cellspacing=5 cellpadding=0 border=0> 372 <tr> 373 <td> 374 375 </td> 376 <td> 377 378 <p> 379 Returns the size of the queue. </td> 380 </tr> 381 </table> 382 <hr><h2>Field Documentation</h2> 383 <a name="n1" doxytag="Oscl_Queue_Base::bufsize"></a><p> 384 <table width="100%" cellpadding="2" cellspacing="0" border="0"> 385 <tr> 386 <td class="md"> 387 <table cellpadding="0" cellspacing="0" border="0"> 388 <tr> 389 <td class="md" nowrap valign="top"> uint32 Oscl_Queue_Base::bufsize<code> [protected]</code> 390 </table> 391 </td> 392 </tr> 393 </table> 394 <table cellspacing=5 cellpadding=0 border=0> 395 <tr> 396 <td> 397 398 </td> 399 <td> 400 401 <p> 402 </td> 403 </tr> 404 </table> 405 <a name="n2" doxytag="Oscl_Queue_Base::elems"></a><p> 406 <table width="100%" cellpadding="2" cellspacing="0" border="0"> 407 <tr> 408 <td class="md"> 409 <table cellpadding="0" cellspacing="0" border="0"> 410 <tr> 411 <td class="md" nowrap valign="top"> <a class="el" href="group__osclbase.html#a25">OsclAny</a>* Oscl_Queue_Base::elems<code> [protected]</code> 412 </table> 413 </td> 414 </tr> 415 </table> 416 <table cellspacing=5 cellpadding=0 border=0> 417 <tr> 418 <td> 419 420 </td> 421 <td> 422 423 <p> 424 </td> 425 </tr> 426 </table> 427 <a name="n4" doxytag="Oscl_Queue_Base::ifront"></a><p> 428 <table width="100%" cellpadding="2" cellspacing="0" border="0"> 429 <tr> 430 <td class="md"> 431 <table cellpadding="0" cellspacing="0" border="0"> 432 <tr> 433 <td class="md" nowrap valign="top"> uint32 Oscl_Queue_Base::ifront<code> [protected]</code> 434 </table> 435 </td> 436 </tr> 437 </table> 438 <table cellspacing=5 cellpadding=0 border=0> 439 <tr> 440 <td> 441 442 </td> 443 <td> 444 445 <p> 446 </td> 447 </tr> 448 </table> 449 <a name="n5" doxytag="Oscl_Queue_Base::irear"></a><p> 450 <table width="100%" cellpadding="2" cellspacing="0" border="0"> 451 <tr> 452 <td class="md"> 453 <table cellpadding="0" cellspacing="0" border="0"> 454 <tr> 455 <td class="md" nowrap valign="top"> uint32 Oscl_Queue_Base::irear<code> [protected]</code> 456 </table> 457 </td> 458 </tr> 459 </table> 460 <table cellspacing=5 cellpadding=0 border=0> 461 <tr> 462 <td> 463 464 </td> 465 <td> 466 467 <p> 468 </td> 469 </tr> 470 </table> 471 <a name="n0" doxytag="Oscl_Queue_Base::numelems"></a><p> 472 <table width="100%" cellpadding="2" cellspacing="0" border="0"> 473 <tr> 474 <td class="md"> 475 <table cellpadding="0" cellspacing="0" border="0"> 476 <tr> 477 <td class="md" nowrap valign="top"> uint32 Oscl_Queue_Base::numelems<code> [protected]</code> 478 </table> 479 </td> 480 </tr> 481 </table> 482 <table cellspacing=5 cellpadding=0 border=0> 483 <tr> 484 <td> 485 486 </td> 487 <td> 488 489 <p> 490 </td> 491 </tr> 492 </table> 493 <a name="n3" doxytag="Oscl_Queue_Base::sizeof_T"></a><p> 494 <table width="100%" cellpadding="2" cellspacing="0" border="0"> 495 <tr> 496 <td class="md"> 497 <table cellpadding="0" cellspacing="0" border="0"> 498 <tr> 499 <td class="md" nowrap valign="top"> uint32 Oscl_Queue_Base::sizeof_T<code> [protected]</code> 500 </table> 501 </td> 502 </tr> 503 </table> 504 <table cellspacing=5 cellpadding=0 border=0> 505 <tr> 506 <td> 507 508 </td> 509 <td> 510 511 <p> 512 </td> 513 </tr> 514 </table> 515 <hr>The documentation for this class was generated from the following file:<ul> 516 <li><a class="el" href="oscl__queue_8h-source.html">oscl_queue.h</a></ul> 517 <hr size="1"><img src="pvlogo_small.jpg"><address style="align: right;"><small>OSCL API</small> 518 <address style="align: left;"><small>Posting Version: OPENCORE_20090310 </small> 519 </small></address> 520 </body> 521 </html> 522