PageRenderTime 26ms CodeModel.GetById 25ms RepoModel.GetById 1ms app.codeStats 0ms

/libstdc++-v3/doc/html/ext/pb_ds/pq_regression_tests.html

https://bitbucket.org/pizzafactory/pf-gcc
HTML | 52 lines | 44 code | 8 blank | 0 comment | 0 complexity | e19b6af57650c4075a3cfbcf95f60bb3 MD5 | raw file
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
  2. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  3. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
  4. <head>
  5. <meta name="generator" content=
  6. "HTML Tidy for Linux/x86 (vers 12 April 2005), see www.w3.org" />
  7. <title>Priority-Queue Regression Tests</title>
  8. <meta http-equiv="Content-Type" content=
  9. "text/html; charset=us-ascii" />
  10. </head>
  11. <body>
  12. <div id="page">
  13. <h1>Priority-Queue Regression Tests</h1>
  14. <h2><a name="assoc_desc" id="assoc_desc">Description</a></h2>
  15. <p>The library contains a single comprehensive regression test.
  16. For a given container type in <tt>pb_ds</tt>, the test creates
  17. an object of the container type and an object of the
  18. corresponding STL type (<i>i.e.</i>,
  19. <tt>std::priority_queue</tt>). It then performs a random
  20. sequence of methods with random arguments (<i>e.g.</i>, pushes,
  21. pops, and so forth) on both objects. At each operation, the
  22. test checks the return value of the method, and optionally both
  23. compares <tt>pb_ds</tt>'s object with the STL's object as well
  24. as performing other consistency checks on <tt>pb_ds</tt>'s
  25. object (<i>e.g.</i>, that the size returned by the
  26. <tt>size</tt> method corresponds to the distance between its
  27. <tt>begin</tt> and end iterators).</p>
  28. <p>Additionally, the test integrally checks exception safety
  29. and resource leaks. This is done as follows. A special
  30. allocator type, written for the purpose of the test, both
  31. randomly throws an exceptions when allocations are performed,
  32. and tracks allocations and de-allocations. The exceptions thrown
  33. at allocations simulate memory-allocation failures; the
  34. tracking mechanism checks for memory-related bugs (<i>e.g.</i>,
  35. resource leaks and multiple de-allocations). Both
  36. <tt>pb_ds</tt>'s containers and the containers' value-types are
  37. configured to use this allocator.</p>
  38. <h2><a name="pq_tests" id="pq_tests">Tests</a></h2>
  39. <p><a href=
  40. "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/testsuite/ext/pb_ds/regression/priority_queue_rand.cc"><tt>priority_queue_rand.cc</tt></a>
  41. checks all priority queue types.</p>
  42. </div>
  43. </body>
  44. </html>