diff options
Diffstat (limited to 'gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds')
297 files changed, 0 insertions, 30357 deletions
diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/PythonPoweredSmall.gif b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/PythonPoweredSmall.gif Binary files differdeleted file mode 100644 index 268980706..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/PythonPoweredSmall.gif +++ /dev/null diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/acks.html b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/acks.html deleted file mode 100644 index 6612a4a81..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/acks.html +++ /dev/null @@ -1,65 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" - "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> -<head> - <meta name="generator" content= - "HTML Tidy for Linux/x86 (vers 12 April 2005), see www.w3.org" /> - - <title>Acknowledgments</title> - <meta http-equiv="Content-Type" content= - "text/html; charset=us-ascii" /> - </head> - -<body> - <div id="page"> - <h1>Acknowledgments</h1> - - <ol> - <li>This library was partially written at <a href= - "http://www.haifa.il.ibm.com/">IBM's Haifa Research - Labs</a>.</li> - - <li>The library is based heavily on policy-based design and - uses many useful techniques from [<a href= - "references.html#alexandrescu01modern">alexandrescu01modern</a>].</li> - - <li>Two ideas are borrowed from the SGI-STL implementation - [<a href="references.html#sgi_stl">sgi_stl</a>]: - - <ol> - <li>The prime-based resize policies use a list of primes - taken from the SGI-STL implementation.</li> - - <li>The red-black trees contain both a root node and a - header node (containing metadata), connected in a way - that forward and reverse iteration can be performed - efficiently.</li> - </ol> - </li> - - <li>Some test utilities borrow ideas from [<a href= - "references.html#boost_timer">boost_timer</a>].</li> - - <li>We would like to thank Scott Meyers for useful comments - (without attributing to him any flaws in the design or - implementation of the library).</li> - - <li>Much of the documentation is <a href= - "http://www.python.org/"><img src="PythonPoweredSmall.gif" - align="middle" width="55" height="22" alt="[Python Powered]" - border="0" /></a> (especially through <a href= - "http://home.gna.org/pychart/">PyChart</a>, <a href= - "http://www.crummy.com/software/BeautifulSoup/">Beautiful - Soup</a>, and <a href= - "http://starship.python.net/crew/aaron_watters/kjbuckets/">kjbuckets</a>) - and uses <a href="http://tidy.sourceforge.net/"><img src= - "checked_by_tidy.gif" align="middle" width="55" height="45" - alt="[HTML tidy]" border="0" /></a>. The CSS-driven menus are - slightly modified from <a href= - "http://www.brothercake.com/scripts/navmeister/page.php">Brothercake</a> - (hopefully without introducing errors).</li> - </ol> - </div> -</body> -</html> diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/assoc_container_tag_cd.png b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/assoc_container_tag_cd.png Binary files differdeleted file mode 100644 index 16cc6da87..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/assoc_container_tag_cd.png +++ /dev/null diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/assoc_container_tag_cd.svg b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/assoc_container_tag_cd.svg deleted file mode 100644 index 02be62416..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/assoc_container_tag_cd.svg +++ /dev/null @@ -1,491 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" standalone="no"?> -<!-- Created with Inkscape (http://www.inkscape.org/) --> -<svg - xmlns:dc="http://purl.org/dc/elements/1.1/" - xmlns:cc="http://web.resource.org/cc/" - xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" - xmlns:svg="http://www.w3.org/2000/svg" - xmlns="http://www.w3.org/2000/svg" - xmlns:sodipodi="http://inkscape.sourceforge.net/DTD/sodipodi-0.dtd" - xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" - width="11in" - height="8.5in" - id="svg2" - sodipodi:version="0.32" - inkscape:version="0.43" - version="1.0" - sodipodi:docbase="/mnt/share/src/policy_based_data_structures/pb_ds_images" - sodipodi:docname="assoc_tag_diagram_2.svg" - inkscape:export-filename="/mnt/share/src/policy_based_data_structures/pb_ds_images/assoc_tag_diagram_2.png" - inkscape:export-xdpi="90" - inkscape:export-ydpi="90"> - <defs - id="defs4"> - <marker - inkscape:stockid="Arrow1Mstart" - orient="auto" - refY="0.0" - refX="0.0" - id="Arrow1Mstart" - style="overflow:visible"> - <path - id="path3311" - d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z " - style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none" - transform="scale(0.4)" /> - </marker> - <marker - inkscape:stockid="Arrow2Sstart" - orient="auto" - refY="0" - refX="0" - id="Arrow2Sstart" - style="overflow:visible"> - <path - id="path3319" - style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" - d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.97309,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z " - transform="matrix(0.3,0,0,0.3,-1.5,0)" /> - </marker> - <marker - inkscape:stockid="Arrow1Sstart" - orient="auto" - refY="0" - refX="0" - id="Arrow1Sstart" - style="overflow:visible"> - <path - id="path3337" - d="M 0,0 L 5,-5 L -12.5,0 L 5,5 L 0,0 z " - style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none" - transform="scale(0.2,0.2)" /> - </marker> - <marker - inkscape:stockid="Arrow2Send" - orient="auto" - refY="0" - refX="0" - id="Arrow2Send" - style="overflow:visible"> - <path - id="path3316" - style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" - d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.97309,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z " - transform="matrix(-0.3,0,0,-0.3,1.5,0)" /> - </marker> - <marker - inkscape:stockid="Arrow2Mend" - orient="auto" - refY="0" - refX="0" - id="Arrow2Mend" - style="overflow:visible"> - <path - id="path3322" - style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" - d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.97309,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z " - transform="matrix(-0.6,0,0,-0.6,3,0)" /> - </marker> - <marker - inkscape:stockid="Arrow1Lend" - orient="auto" - refY="0" - refX="0" - id="Arrow1Lend" - style="overflow:visible"> - <path - id="path3346" - d="M 0,0 L 5,-5 L -12.5,0 L 5,5 L 0,0 z " - style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none" - transform="scale(-0.8,-0.8)" /> - </marker> - <marker - inkscape:stockid="Arrow2Lstart" - orient="auto" - refY="0" - refX="0" - id="Arrow2Lstart" - style="overflow:visible"> - <path - id="path3331" - style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" - d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.97309,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z " - transform="matrix(1.1,0,0,1.1,-5.5,0)" /> - </marker> - <marker - inkscape:stockid="Arrow2Lend" - orient="auto" - refY="0" - refX="0" - id="Arrow2Lend" - style="overflow:visible"> - <path - id="path3328" - style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" - d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.97309,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z " - transform="matrix(-1.1,0,0,-1.1,5.5,0)" /> - </marker> - </defs> - <sodipodi:namedview - id="base" - pagecolor="#ffffff" - bordercolor="#666666" - borderopacity="1.0" - inkscape:pageopacity="0.0" - inkscape:pageshadow="2" - inkscape:zoom="2" - inkscape:cx="613.85775" - inkscape:cy="310.05621" - inkscape:document-units="in" - inkscape:current-layer="layer1" - showguides="true" - inkscape:guide-bbox="true" - inkscape:window-width="1278" - inkscape:window-height="973" - inkscape:window-x="0" - inkscape:window-y="0" - gridtolerance="0.125in" - guidetolerance="0.125in"> - <sodipodi:guide - orientation="horizontal" - position="629" - id="guide1307" /> - <sodipodi:guide - orientation="horizontal" - position="449" - id="guide1309" /> - <sodipodi:guide - orientation="horizontal" - position="269" - id="guide1311" /> - <sodipodi:guide - orientation="vertical" - position="496" - id="guide1313" /> - <sodipodi:guide - orientation="vertical" - position="361" - id="guide1315" /> - <sodipodi:guide - orientation="vertical" - position="226" - id="guide1317" /> - <sodipodi:guide - orientation="vertical" - position="631" - id="guide1319" /> - <sodipodi:guide - orientation="vertical" - position="766" - id="guide1321" /> - <sodipodi:guide - orientation="vertical" - position="91" - id="guide1345" /> - <sodipodi:guide - orientation="vertical" - position="901" - id="guide1347" /> - <sodipodi:guide - orientation="horizontal" - position="539" - id="guide3390" /> - <sodipodi:guide - orientation="horizontal" - position="359" - id="guide3392" /> - <sodipodi:guide - orientation="vertical" - position="280.5" - id="guide3324" /> - <sodipodi:guide - orientation="vertical" - position="172" - id="guide3326" /> - <sodipodi:guide - orientation="vertical" - position="427" - id="guide3328" /> - <sodipodi:guide - orientation="vertical" - position="711.5" - id="guide3340" /> - <sodipodi:guide - orientation="horizontal" - position="179" - id="guide1395" /> - </sodipodi:namedview> - <metadata - id="metadata7"> - <rdf:RDF> - <cc:Work - rdf:about=""> - <dc:format>image/svg+xml</dc:format> - <dc:type - rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> - <dc:creator> - <cc:Agent> - <dc:title>Benjamin Kosnik</dc:title> - </cc:Agent> - </dc:creator> - </cc:Work> - </rdf:RDF> - </metadata> - <g - inkscape:label="Layer 1" - inkscape:groupmode="layer" - id="layer1"> - <rect - y="562.32806" - x="237.8916" - height="23.200001" - width="80.769417" - id="rect1495" - style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:0.94391561;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> - <rect - style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:0.94391561;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" - id="rect1497" - width="80.769417" - height="23.200001" - x="132.8916" - y="562.32806" /> - <rect - style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:0.94391561;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" - id="rect1493" - width="80.769417" - height="23.200001" - x="21.891602" - y="562.32806" /> - <rect - style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1.25;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" - id="rect1425" - width="141.64481" - height="23.200001" - x="209.57762" - y="382.56177" /> - <rect - style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1.25;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" - id="rect3378" - width="141.64481" - height="23.200001" - x="640.77765" - y="382.56177" /> - <text - xml:space="preserve" - style="font-size:9.60000038;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:100%;writing-mode:lr;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1.25;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans;stroke-miterlimit:4;stroke-dasharray:none" - x="710.40002" - y="397.09772" - id="use1337" - sodipodi:linespacing="100%"><tspan - sodipodi:role="line" - id="tspan1391" - x="710.40003" - y="397.09772">basic_hash_table_tag</tspan></text> - <text - xml:space="preserve" - style="font-size:9.60000038;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:100%;writing-mode:lr;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans" - x="280" - y="397.09772" - id="text1339" - sodipodi:linespacing="100%"><tspan - sodipodi:role="line" - id="tspan1385" - x="280" - y="397.09772">basic_tree_tag</tspan></text> - <rect - style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1.25;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" - id="rect3418" - width="141.64481" - height="23.200001" - x="101.57762" - y="472.5618" /> - <rect - y="472.5618" - x="317.57761" - height="23.200001" - width="141.64481" - id="rect3420" - style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1.25;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> - <text - xml:space="preserve" - style="font-size:9.60000038;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:100%;writing-mode:lr;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans" - x="171.20001" - y="486.29773" - id="text3394" - sodipodi:linespacing="100%"><tspan - sodipodi:role="line" - id="tspan1387" - x="171.20001" - y="486.29773">tree_tag</tspan></text> - <text - sodipodi:linespacing="100%" - id="text3400" - y="486.29773" - x="388.39999" - style="font-size:9.60000038px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:100%;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans" - xml:space="preserve"><tspan - sodipodi:role="line" - id="tspan1389" - x="388.39999" - y="486.29773">trie_tag</tspan></text> - <rect - style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1.25;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" - id="rect3380" - width="141.64481" - height="23.200001" - x="425.57764" - y="292.56177" /> - <text - xml:space="preserve" - style="font-size:9.60000038;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:100%;writing-mode:lr;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1.5625;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;font-family:Bitstream Vera Sans" - x="495.20001" - y="307.09772" - id="text1323" - sodipodi:linespacing="100%"><tspan - sodipodi:role="line" - id="tspan1384" - x="495.20001" - y="307.09772">associative_container_tag</tspan></text> - <path - style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#000000;stroke-width:1.25;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none" - d="M 170.97058,472.5 L 170.97058,451 L 387.51871,450 L 387.51871,472.5" - id="path2244" /> - <path - style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#000000;stroke-width:1.25;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow2Mend);stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" - d="M 280.5,450.53297 L 280.5,410.62445" - id="path3332" /> - <rect - style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1.25;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" - id="rect3422" - width="141.64481" - height="23.200001" - x="533.57764" - y="472.5618" /> - <rect - y="472.5618" - x="748.77765" - height="23.200001" - width="141.64481" - id="rect3424" - style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1.25;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> - <text - sodipodi:linespacing="100%" - id="text3406" - y="486.29773" - x="601.20001" - style="font-size:9.60000038px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:100%;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1.25;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;font-family:Bitstream Vera Sans" - xml:space="preserve"><tspan - sodipodi:role="line" - id="tspan1393" - x="601.20001" - y="486.29773">cc_hash_table_tag</tspan></text> - <text - xml:space="preserve" - style="font-size:9.60000038px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:100%;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1.25;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;font-family:Bitstream Vera Sans" - x="818" - y="486.29773" - id="text3412" - sodipodi:linespacing="100%"><tspan - sodipodi:role="line" - id="tspan1395" - x="818" - y="486.29773">gp_hash_table_tag</tspan></text> - <path - id="path3353" - d="M 601.47058,472.5 L 601.47058,451 L 818.01871,450 L 818.01871,472.5" - style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#000000;stroke-width:1.25;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none" /> - <path - id="path3355" - d="M 711,450.53297 L 711,410.62445" - style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#000000;stroke-width:1.25;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow2Mend);stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> - <path - id="path3344" - d="M 281.18218,383.28102 L 281.18218,361.78102 L 711.79281,360.78102 L 711.79281,383.28102" - style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#000000;stroke-width:1.25;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none" /> - <rect - y="383.1962" - x="425.625" - height="23.200001" - width="141.64481" - id="rect3376" - style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1.25;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> - <text - sodipodi:linespacing="100%" - id="use1329" - y="397.73215" - x="497.24741" - style="font-size:9.60000038px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:100%;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans" - xml:space="preserve"><tspan - sodipodi:role="line" - id="tspan1382" - x="497.24741" - y="397.73215">list_update_tag</tspan></text> - <path - id="path3347" - d="M 497.79886,384.13056 L 497.79886,323.40547" - style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#000000;stroke-width:1.25;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow2Mend);stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> - <text - xml:space="preserve" - style="font-size:9.60000038px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:100%;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1.25;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;font-family:Bitstream Vera Sans" - x="61.152512" - y="577.07874" - id="text1423" - sodipodi:linespacing="100%"><tspan - sodipodi:role="line" - id="tspan1418" - x="61.152512" - y="577.07874">rb_tree_tag</tspan></text> - <text - sodipodi:linespacing="100%" - id="text1427" - y="577.07874" - x="277.95251" - style="font-size:9.60000038px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:100%;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1.25;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;font-family:Bitstream Vera Sans" - xml:space="preserve"><tspan - sodipodi:role="line" - id="tspan1414" - x="277.95252" - y="577.07874">splay_tree_tag</tspan></text> - <path - style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#000000;stroke-width:1.25;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none" - d="M 61.42308,563.28102 L 61.42308,541.78102 L 277.97121,540.78102 L 277.97121,563.28102" - id="path1431" /> - <path - style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#000000;stroke-width:1.25;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow2Mend);stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" - d="M 170.9525,561.5357 L 170.9525,503.81235" - id="path1433" /> - <rect - y="562.17499" - x="347.8916" - height="23.200001" - width="80.769417" - id="rect1469" - style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:0.94391561;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> - <text - sodipodi:linespacing="100%" - id="text1471" - y="576.71094" - x="388.80002" - style="font-size:9.60000038px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:100%;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans" - xml:space="preserve"><tspan - sodipodi:role="line" - id="tspan1412" - x="388.80002" - y="576.71094">pat_trie_tag</tspan></text> - <path - id="path1475" - d="M 389.35146,563.10936 L 389.35146,502.38427" - style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#000000;stroke-width:1.25;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow2Mend);stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> - <text - xml:space="preserve" - style="font-size:9.60000038px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:100%;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1.25;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;font-family:Bitstream Vera Sans" - x="173.95251" - y="577.07874" - id="text1487" - sodipodi:linespacing="100%"><tspan - sodipodi:role="line" - id="tspan1416" - x="173.95251" - y="577.07874">ov_tree_tag</tspan></text> - </g> -</svg> diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/assoc_container_traits.html b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/assoc_container_traits.html deleted file mode 100644 index 7814712c3..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/assoc_container_traits.html +++ /dev/null @@ -1,170 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" - "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> -<head> - <meta name="generator" content= - "HTML Tidy for Linux/x86 (vers 12 April 2005), see www.w3.org" /> - - <title>container_traits Interface</title> - <meta http-equiv="Content-Type" content= - "text/html; charset=us-ascii" /> - </head> - -<body> - <div id="page"> - <h1><tt>container_traits</tt> Interface</h1> - - <p>Traits of an associative-container based on its underlying - data structure.</p> - - <p>Defined in: <a href= - "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/include/ext/pb_ds/tag_and_trait.hpp"><tt>tag_and_trait.hpp</tt></a></p> - - <h2><a name="link1" id="link1">Template Parameters</a></h2> - - <table class="c1" width="100%" border="1" summary= - "Template Parameters"> - <tr> - <td width="20%" align="left"><b>Parameter</b></td> - - <td width="50%" align="left"><b>Description</b></td> - - <td width="30%" align="left"><b>Default Value</b></td> - </tr> - - <tr> - <td> - <pre> -<a name="Cntnr59189" id="Cntnr59189"><b>class</b> Cntnr</a> -</pre> - </td> - - <td> - <p>Container type.</p> - </td> - - <td>-</td> - </tr> - </table> - - <h2><a name="link2" id="link2">Public Types and - Constants</a></h2> - - <h3><a name="link3" id="link3">Container Attributes</a></h3> - - <table class="c1" width="100%" border="1" summary="Types"> - <tr> - <td width="30%" align="left"><b>Type</b></td> - - <td width="55%" align="left"><b>Definition</b></td> - - <td width="15%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -<a name="invalidation_guarantee3793555937" id= -"invalidation_guarantee3793555937">invalidation_guarantee</a> -</pre> - </td> - - <td> - <pre> -Invalidation guarantee. -</pre> - </td> - - <td> - <p>Invalidation-guarantee type.</p> - - <p>This is either <a href= - "basic_invalidation_guarantee.html"><span class= - "c2"><tt>basic_invalidation_guarantee</tt></span></a>, - <a href="point_invalidation_guarantee.html"><span class= - "c2"><tt>point_invalidation_guarantee</tt></span></a>, or - <a href="range_invalidation_guarantee.html"><span class= - "c2"><tt>range_invalidation_guarantee</tt></span></a></p> - </td> - </tr> - - <tr> - <td> - <pre> -<a name="order_preserving1910229172" id= -"order_preserving1910229172">order_preserving</a> -</pre> - </td> - - <td> - <pre> -True only if Cntnr objects guarantee storing keys by order. -</pre> - </td> - - <td> - <p>Order-preserving indicator.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<a name="erase_can_throw153323856" id= -"erase_can_throw153323856">erase_can_throw</a> -</pre> - </td> - - <td> - <pre> -True only if erasing a key can throw. -</pre> - </td> - - <td> - <p>Erase-throw indicator.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<a name="reverse_iteration894617078" id= -"reverse_iteration894617078">reverse_iteration</a> -</pre> - </td> - - <td> - <pre> -True only reverse iterators are supported. -</pre> - </td> - - <td> - <p>Reverse iteration indicator.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<a name="split_join_can_throw3200477759" id= -"split_join_can_throw3200477759">split_join_can_throw</a> -</pre> - </td> - - <td> - <pre> -True only if split or join operations can throw. -</pre> - </td> - - <td> - <p>Split-join throw indicator.</p> - </td> - </tr> - </table> - </div> -</body> -</html> diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/assoc_design.html b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/assoc_design.html deleted file mode 100644 index 6c501e26b..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/assoc_design.html +++ /dev/null @@ -1,46 +0,0 @@ -<!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" xml:lang="en" lang="en"> -<head> - <meta name="generator" content= - "HTML Tidy for Linux/x86 (vers 12 April 2005), see www.w3.org" /> - - <title>Associative Containers</title> - <meta http-equiv="Content-Type" content= - "text/html; charset=us-ascii" /> - </head> - -<body> - <div id="page"> - <h1>Associative-Container Design</h1> - - <ol> - <li><a href="ds_gen.html">Data-Structure Genericity</a></li> - - <li class="c1">Genericity discusses generic manipulation of - containers based on different underlying - data structures.</li> - - <li class="c1">Genericity discusses generic manipulation of - containers with different mapping semantics.</li> - - <li><a href="tree_based_containers.html">Tree-Based - Containers</a> describes the design and policies of - tree-based containers.</li> - - <li><a href="trie_based_containers.html">Trie-Based - Containers</a> describes the design and policies of - trie-based containers.</li> - - <li><a href="hash_based_containers.html">Hash-Based - Containers</a> describes the design and policies of - hash-based containers.</li> - - <li><a href="lu_based_containers.html">List-Based - Containers</a> describes the design and policies of - list-based containers with update policies.</li> - </ol> - </div> -</body> -</html> diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/assoc_examples.html b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/assoc_examples.html deleted file mode 100644 index b64c74745..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/assoc_examples.html +++ /dev/null @@ -1,151 +0,0 @@ -<!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" xml:lang="en" lang="en"> -<head> - <meta name="generator" content= - "HTML Tidy for Linux/x86 (vers 12 April 2005), see www.w3.org" /> - - <title>Examples</title> - <meta http-equiv="Content-Type" content= - "text/html; charset=us-ascii" /> - </head> - -<body> - <div id="page"> - <h1>Associative-Container Examples</h1> - - <h2><a name="basic_usage" id="basic_usage">Basic Use</a></h2> - - <ol> - <li> - <a href= "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/testsuite/ext/pb_ds/example/basic_map.cc"><tt>basic_map.cc</tt></a> - Basic use of "maps".</li> - - <li><a href= "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/testsuite/ext/pb_ds/example/basic_set.cc"><tt>basic_set.cc</tt></a> - Basic use of "sets".</li> - - <li><a href= "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/testsuite/ext/pb_ds/example/erase_if.cc"><tt>erase_if.cc</tt></a> - Conditionally erasing values from a container object.</li> - </ol> - - <h2><a name="generics" id="generics">Generics</a></h2> - - <ol> - <li><a href= "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/testsuite/ext/pb_ds/example/assoc_container_traits.cc"><tt>assoc_container_traits.cc</tt></a> - Using <a href= - "assoc_container_traits.html"><tt>container_traits</tt></a> to query - about underlying data structure behavior.</li> - - <li><a href= "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/testsuite/ext/pb_ds/example/hash_find_neg.cc"><tt>hash_find_neg.cc</tt></a> - A non-compiling example showing wrong use of finding keys in - hash-based containers.</li> - </ol> - - <h2><a name="hash_based" id="hash_based">Hash-Based - Containers</a></h2> - - - <h3><a name="resize_related" id="resize_related">Resize - Related</a></h3> - - - <ol> - <li><a href= "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/testsuite/ext/pb_ds/example/hash_initial_size.cc"><tt>hash_initial_size.cc</tt></a> - Setting the initial size of a hash-based container - object.</li> - - <li><a href= "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/testsuite/ext/pb_ds/example/hash_resize_neg.cc"><tt>hash_resize_neg.cc</tt></a> - A non-compiling example showing how not to resize a - hash-based container object.</li> - - <li><a href= "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/testsuite/ext/pb_ds/example/hash_resize.cc"><tt>hash_resize.cc</tt></a> - Resizing the size of a hash-based container object.</li> - - <li><a href= "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/testsuite/ext/pb_ds/example/hash_illegal_resize.cc"><tt>hash_illegal_resize.cc</tt></a> - Showing an illegal resize of a hash-based container - object.</li> - - <li><a href= "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/testsuite/ext/pb_ds/example/hash_load_set_change.cc"><tt>hash_load_set_change.cc</tt></a> - Changing the load factors of a hash-based container - object.</li> - </ol> - - <h3><a name="hash_related" id="hash_related">Hash-Function - Related</a></h3> - - - <ol> - <li><a href= "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/testsuite/ext/pb_ds/example/hash_mod.cc"><tt>hash_mod.cc</tt></a> - Using a modulo range-hashing function for the case of an - unknown skewed key distribution.</li> - - <li><a href= "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/testsuite/ext/pb_ds/example/hash_shift_mask.cc"><tt>shift_mask.cc</tt></a> - Writing a range-hashing functor for the case of a known - skewed key distribution.</li> - - <li><a href= "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/testsuite/ext/pb_ds/example/store_hash.cc"><tt>store_hash.cc</tt></a> - Storing the hash value along with each key.</li> - - <li><a href= "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/testsuite/ext/pb_ds/example/ranged_hash.cc"><tt>ranged_hash.cc</tt></a> - Writing a ranged-hash functor.</li> - </ol> - - <h2><a name="tree_like_based" id= "tree_like_based">Tree-Like Containers (Trees and - Tries)</a></h2> - - - <h3><a name="node_invariants" id= - "node_invariants">Node-Invariants</a></h3> - - - <ol> - <li><a href= "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/testsuite/ext/pb_ds/example/tree_order_statistics.cc"><tt>tree_order_statistics.cc</tt></a> - Using trees for order statistics.</li> - - <li><a href= "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/testsuite/ext/pb_ds/example/tree_intervals.cc"><tt>tree_intervals.cc</tt></a> - Augmenting trees to support operations on line - intervals.</li> - </ol> - - <h3><a name="split_join" id="split_join">Split and - Join</a></h3> - - - <ol> - <li><a href= "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/testsuite/ext/pb_ds/example/tree_join.cc"><tt>tree_join.cc</tt></a> - Joining two tree-based container objects.</li> - - <li><a href= "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/testsuite/ext/pb_ds/example/trie_split.cc"><tt>trie_split.cc</tt></a> - Splitting a PATRICIA trie container object.</li> - - <li><a href= "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/testsuite/ext/pb_ds/example/tree_order_statistics_join.cc"><tt>tree_order_statistics_join.cc</tt></a> - Order statistics while joining two tree-based container - objects.</li> - </ol> - - <h2><a name="trie_based" id="trie_based">Trie-Based - Containers</a></h2> - - - <ol> - <li><a href= "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/testsuite/ext/pb_ds/example/trie_dna.cc"><tt>trie_dna.cc</tt></a> - Using a PATRICIA trie for DNA strings.</li> - - <li><a href= "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/testsuite/ext/pb_ds/example/trie_prefix_search.cc"><tt>trie_prefix_search.cc</tt></a> - Using a PATRICIA trie for finding all entries whose key - matches a given prefix.</li> - </ol> - - <h2><a name="mmaps" id="mmaps">"Multimaps" and - "Multisets".</a></h2> - <ol> - <li><a href= "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/testsuite/ext/pb_ds/example/basic_multimap.cc"><tt>basic_multimap.cc</tt></a> - Basic use of "multimaps".</li> - - <li><a href= "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/testsuite/ext/pb_ds/example/basic_multiset.cc"><tt>basic_multiset.cc</tt></a> - Basic use of "multisets".</li> - </ol> - </div> -</body> -</html> diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/assoc_performance_tests.html b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/assoc_performance_tests.html deleted file mode 100644 index 642f84809..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/assoc_performance_tests.html +++ /dev/null @@ -1,345 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" - "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> -<head> -<meta name="generator" content="HTML Tidy for Linux/x86 (vers 12 April 2005), see www.w3.org" /> -<title>Associative-Container Performance Tests</title> -<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" /> -</head> -<body> -<div id="page"> -<h1><a name="assoc" id="assoc">Associative-Container - Performance Tests</a></h1> -<h2><a name="settings" id="settings">Settings</a></h2> -<p>This section describes performance tests and their results. - In the following, <a href="#gcc"><u>g++</u></a>, <a href="#msvc"><u>msvc++</u></a>, and <a href="#local"><u>local</u></a> (the build used for generating this - documentation) stand for three different builds:</p> -<div id="gcc_settings_div"> -<div class="c1"> -<h3><a name="gcc" id="gcc"><u>g++</u></a></h3> -<ul> -<li>CPU speed - cpu MHz : 2660.644</li> -<li>Memory - MemTotal: 484412 kB</li> -<li>Platform - - Linux-2.6.12-9-386-i686-with-debian-testing-unstable</li> -<li>Compiler - g++ (GCC) 4.0.2 20050808 (prerelease) - (Ubuntu 4.0.1-4ubuntu9) Copyright (C) 2005 Free Software - Foundation, Inc. This is free software; see the source - for copying conditions. There is NO warranty; not even - for MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE.</li> -</ul> -</div> -<div class="c2"></div> -</div> -<div id="msvc_settings_div"> -<div class="c1"> -<h3><a name="msvc" id="msvc"><u>msvc++</u></a></h3> -<ul> -<li>CPU speed - cpu MHz : 2660.554</li> -<li>Memory - MemTotal: 484412 kB</li> -<li>Platform - Windows XP Pro</li> -<li>Compiler - Microsoft (R) 32-bit C/C++ Optimizing - Compiler Version 13.10.3077 for 80x86 Copyright (C) - Microsoft Corporation 1984-2002. All rights - reserved.</li> -</ul> -</div> -<div class="c2"></div> -</div> -<div id="local_settings_div"><div style = "border-style: dotted; border-width: 1px; border-color: lightgray"><h3><a name = "local"><u>local</u></a></h3><ul> -<li>CPU speed - cpu MHz : 2250.000</li> -<li>Memory - MemTotal: 2076248 kB</li> -<li>Platform - Linux-2.6.16-1.2133_FC5-i686-with-redhat-5-Bordeaux</li> -<li>Compiler - g++ (GCC) 4.1.1 20060525 (Red Hat 4.1.1-1) -Copyright (C) 2006 Free Software Foundation, Inc. -This is free software; see the source for copying conditions. There is NO -warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -</li> -</ul> -</div><div style = "width: 100%; height: 20px"></div></div> -<h2><a name="assoc_tests" id="assoc_tests">Tests</a></h2> -<h3><a name="hash_based" id="hash_based">Hash-Based - Containers</a></h3> -<ol> -<li><a href="hash_text_find_find_timing_test.html">Hash-Based - Text <tt>find</tt> Find Timing Test</a></li> -<li><a href="hash_random_int_find_find_timing_test.html">Hash-Based - Random-Integer <tt>find</tt> Find Timing Test</a></li> -<li><a href="hash_random_int_subscript_find_timing_test.html">Hash-Based - Random-Integer Subscript Find Timing Test</a></li> -<li><a href="hash_random_int_subscript_insert_timing_test.html">Hash-Based - Random-Integer Subscript Insert Timing Test</a></li> -<li><a href="hash_zlob_random_int_find_find_timing_test.html">Hash-Based - Skewed-Distribution Random-Integer <tt>find</tt> Find Timing - Test</a></li> -<li><a href="hash_random_int_erase_mem_usage_test.html">Hash-Based Erase - Memory Use Test</a></li> -</ol> -<h3><a name="tree_like_based" id="tree_like_based">Tree-Like-Based Containers</a></h3> -<ol> -<li><a href="tree_text_insert_timing_test.html">Tree-Based - and Trie-Based Text Insert Timing Test</a></li> -<li><a href="tree_text_find_find_timing_test.html">Tree-Based - and Trie-Based Text <tt>find</tt> Find Timing Test</a></li> -<li><a href="tree_text_lor_find_find_timing_test.html">Tree-Based - Locality-of-Reference Text <tt>find</tt> Find Timing - Test</a></li> -<li><a href="tree_random_int_find_find_timing_test.html">Tree-Based - Random-Integer <tt>find</tt> Find Timing Test</a></li> -<li><a href="tree_split_join_timing_test.html">Tree Split and - Join Timing Test</a></li> -<li><a href="tree_order_statistics_timing_test.html">Tree - Order-Statistics Timing Test</a></li> -</ol> -<h3><a name="multimaps" id="multimaps">Multimaps</a></h3> -<ol> -<li><a href="multimap_text_find_timing_test_small.html">"Multimap" - Text Find Timing Test with <u>Small</u> Average Secondary-Key - to Primary-Key Ratio</a></li> -<li><a href="multimap_text_find_timing_test_large.html">"Multimap" - Text Find Timing Test with <u>Large</u> Average Secondary-Key - to Primary-Key Ratio</a></li> -<li><a href="multimap_text_insert_timing_test_small.html">"Multimap" - Text Insert Timing Test with <u>Small</u> Average - Secondary-Key to Primary-Key Ratio</a></li> -<li><a href="multimap_text_insert_timing_test_large.html">"Multimap" - Text Insert Timing Test with <u>Large</u> Average - Secondary-Key to Primary-Key Ratio</a></li> -<li><a href="multimap_text_insert_mem_usage_test_small.html">"Multimap" - Text Insert Memory-Use Test with <u>Small</u> Average - Secondary-Key to Primary-Key Ratio</a></li> -<li><a href="multimap_text_insert_mem_usage_test_large.html">"Multimap" - Text Insert Memory-Use Test with <u>Large</u> Average - Secondary-Key to Primary-Key Ratio</a></li> -</ol> -<h2><a name="assoc_observations" id="assoc_observations">Observations</a></h2> -<h3><a name="dss_family_choice" id="dss_family_choice">Underlying Data-Structure Families</a></h3> -<p>In general, hash-based containers (see <a href="hash_based_containers.html">Design::Associative - Containers::Hash-Based Containers</a>) have better timing - performance than containers based on different underlying-data - structures. The main reason to choose a tree-based (see - <a href="tree_based_containers.html">Design::Associative - Containers::Tree-Based Containers</a>) or trie-based container - (see <a href="trie_based_containers.html">Design::Associative - Containers::Trie-Based Containers</a>) is if a byproduct of the - tree-like structure is required: either order-preservation, or - the ability to utilize node invariants (see <a href="tree_based_containers.html#invariants">Design::Associative - Containers::Tree-Based Containers::Node Invariants</a> and - <a href="trie_based_containers.html#invariants">Design::Associative - Containers::Trie-Based Containers::Node Invariants</a>). If - memory-use is the major factor, an ordered-vector tree (see - <a href="tree_based_containers.html">Design::Associative - Containers::Tree-Based Containers</a>) gives optimal results - (albeit with high modificiation costs), and a list-based - container (see <a href="lu_based_containers.html">Design::Associative - Containers::List-Based Containers</a>) gives reasonable - results.</p> -<h3><a name="hash_based_types" id="hash_based_types">Hash-Based - Container Types</a></h3> -<p>Hash-based containers are typically either collision - chaining or probing (see <a href="hash_based_containers.html">Design::Associative - Containers::Hash-Based Containers</a>). Collision-chaining - containers are more flexible internally, and so offer better - timing performance. Probing containers, if used for simple - value-types, manage memory more efficiently (they perform far - fewer allocation-related calls). In general, therefore, a - collision-chaining table should be used. A probing container, - conversely, might be used efficiently for operations such as - eliminating duplicates in a sequence, or counting the number of - occurrences within a sequence. Probing containers might be more - useful also in multithreaded applications where each thread - manipulates a hash-based container: in the STL, allocators have - class-wise semantics (see [<a href="references.html#meyers96more">meyers96more</a>] - Item 10); a - probing container might incur less contention in this case.</p> -<h3><a name="hash_based_policies" id="hash_based_policies">Hash-Based Containers' Policies</a></h3> -<p>In hash-based containers, the range-hashing scheme (see - <a href="hash_based_containers.html#hash_policies">Design::Associative - Containers::Hash-Based Containers::Hash Policies</a>) seems to - affect performance more than other considerations. In most - settings, a mask-based scheme works well (or can be made to - work well). If the key-distribution can be estimated a-priori, - a simple hash function can produce nearly uniform hash-value - distribution. In many other cases (<i>e.g.</i>, text hashing, - floating-point hashing), the hash function is powerful enough - to generate hash values with good uniformity properties - [<a href="references.html#knuth98sorting">knuth98sorting</a>]; - a modulo-based scheme, taking into account all bits of the hash - value, appears to overlap the hash function in its effort.</p> -<p>The range-hashing scheme determines many of the other - policies (see <a href="hash_based_containers.html#policy_interaction">Design::Hash-Based - Containers::Policy Interaction</a>). A mask-based scheme works - well with an exponential-size policy (see <a href="hash_based_containers.html#resize_policies">Design::Associative - Containers::Hash-Based Containers::Resize Policies</a>) ; for - probing-based containers, it goes well with a linear-probe - function (see <a href="hash_based_containers.html#hash_policies">Design::Associative - Containers::Hash-Based Containers::Hash Policies</a>).</p> -<p>An orthogonal consideration is the trigger policy (see - <a href="hash_based_containers.html#resize_policies">Design::Associative - Containers::Hash-Based Containers::Resize Policies</a>). This - presents difficult tradeoffs. <i>E.g.</i>, different load - factors in a load-check trigger policy yield a - space/amortized-cost tradeoff.</p> -<h3><a name="tree_like_based_types" id="tree_like_based_types">Tree-Like-Based Container - Types</a></h3> -<p>In general, there are several families of tree-based - underlying data structures: balanced node-based trees - (<i>e.g.</i>, red-black or AVL trees), high-probability - balanced node-based trees (<i>e.g.</i>, random treaps or - skip-lists), competitive node-based trees (<i>e.g.</i>, splay - trees), vector-based "trees", and tries. (Additionally, there - are disk-residing or network-residing trees, such as B-Trees - and their numerous variants. An interface for this would have - to deal with the execution model and ACID guarantees; this is - out of the scope of this library.) Following are some - observations on their application to different settings.</p> -<p>Of the balanced node-based trees, this library includes a - red-black tree (see <a href="tree_based_containers.html">Design::Associative - Containers::Tree-Based Containers</a>), as does STL (in - practice). This type of tree is the "workhorse" of tree-based - containers: it offers both reasonable modification and - reasonable lookup time. Unfortunately, this data structure - stores a huge amount of metadata. Each node must contain, - besides a value, three pointers and a boolean. This type might - be avoided if space is at a premium [<a href="references.html#austern00noset">austern00noset</a>].</p> -<p>High-probability balanced node-based trees suffer the - drawbacks of deterministic balanced trees. Although they are - fascinating data structures, preliminary tests with them showed - their performance was worse than red-black trees. The library - does not contain any such trees, therefore.</p> -<p>Competitive node-based trees have two drawbacks. They are - usually somewhat unbalanced, and they perform a large number of - comparisons. Balanced trees perform one comparison per each - node they encounter on a search path; a splay tree performs two - comparisons. If the keys are complex objects, <i>e.g.</i>, - <tt>std::string</tt>, this can increase the running time. - Conversely, such trees do well when there is much locality of - reference. It is difficult to determine in which case to prefer - such trees over balanced trees. This library includes a splay - tree (see <a href="tree_based_containers.html">Design::Associative - Containers::Tree-Based Containers</a>).</p> -<p>Ordered-vector trees (see <a href="tree_based_containers.html">Design::Associative - Containers::Tree-Based Containers</a>) use very little space - [<a href="references.html#austern00noset">austern00noset</a>]. - They do not have any other advantages (at least in this - implementation).</p> -<p>Large-fan-out PATRICIA tries (see <a href="trie_based_containers.html">Design::Associative - Containers::Trie-Based Containers</a>) have excellent lookup - performance, but they do so through maintaining, for each node, - a miniature "hash-table". Their space efficiency is low, and - their modification performance is bad. These tries might be - used for semi-static settings, where order preservation is - important. Alternatively, red-black trees cross-referenced with - hash tables can be used. [<a href="references.html#okasaki98mereable">okasaki98mereable</a>] - discusses small-fan-out PATRICIA tries for integers, but the - cited results seem to indicate that the amortized cost of - maintaining such trees is higher than that of balanced trees. - Moderate-fan-out trees might be useful for sequences where each - element has a limited number of choices, <i>e.g.</i>, DNA - strings (see <a href="assoc_examples.html#trie_based">Examples::Associative - Containers::Trie-Based Containers</a>).</p> -<h3><a name="msc" id="msc">Mapping-Semantics - Considerations</a></h3> -<p>Different mapping semantics were discussed in <a href="motivation.html#assoc_mapping_semantics">Motivation::Associative - Containers::Alternative to Multiple Equivalent Keys</a> and - <a href="tutorial.html#assoc_ms">Tutorial::Associative - Containers::Associative Containers Others than Maps</a>. We - will focus here on the case where a keys can be composed into - primary keys and secondary keys. (In the case where some keys - are completely identical, it is trivial that one should use an - associative container mapping values to size types.) In this - case there are (at least) five possibilities:</p> -<ol> -<li>Use an associative container that allows equivalent-key - values (such as <tt>std::multimap</tt>)</li> -<li>Use a unique-key value associative container that maps - each primary key to some complex associative container of - secondary keys, say a tree-based or hash-based container (see - <a href="tree_based_containers.html">Design::Associative - Containers::Tree-Based Containers</a> and <a href="hash_based_containers.html">Design::Associative - Containers::Hash-Based Containers</a>)</li> -<li>Use a unique-key value associative container that maps - each primary key to some simple associative container of - secondary keys, say a list-based container (see <a href="lu_based_containers.html">Design::Associative - Containers::List-Based Containers</a>)</li> -<li>Use a unique-key value associative container that maps - each primary key to some non-associative container - (<i>e.g.</i>, <tt>std::vector</tt>)</li> -<li>Use a unique-key value associative container that takes - into account both primary and secondary keys.</li> -</ol> -<p>We do not think there is a simple answer for this (excluding - option 1, which we think should be avoided in all cases).</p> -<p>If the expected ratio of secondary keys to primary keys is - small, then 3 and 4 seem reasonable. Both types of secondary - containers are relatively lightweight (in terms of memory use - and construction time), and so creating an entire container - object for each primary key is not too expensive. Option 4 - might be preferable to option 3 if changing the secondary key - of some primary key is frequent - one cannot modify an - associative container's key, and the only possibility, - therefore, is erasing the secondary key and inserting another - one instead; a non-associative container, conversely, can - support in-place modification. The actual cost of erasing a - secondary key and inserting another one depends also on the - allocator used for secondary associative-containers (The tests - above used the standard allocator, but in practice one might - choose to use, <i>e.g.</i>, [<a href="references.html#boost_pool">boost_pool</a>]). Option 2 is - definitely an overkill in this case. Option 1 loses out either - immediately (when there is one secondary key per primary key) - or almost immediately after that. Option 5 has the same - drawbacks as option 2, but it has the additional drawback that - finding all values whose primary key is equivalent to some key, - might be linear in the total number of values stored (for - example, if using a hash-based container).</p> -<p>If the expected ratio of secondary keys to primary keys is - large, then the answer is more complicated. It depends on the - distribution of secondary keys to primary keys, the - distribution of accesses according to primary keys, and the - types of operations most frequent.</p> -<p>To be more precise, assume there are <i>m</i> primary keys, - primary key <i>i</i> is mapped to <i>n<sub>i</sub></i> - secondary keys, and each primary key is mapped, on average, to - <i>n</i> secondary keys (<i>i.e.</i>, - <i><b>E</b>(n<sub>i</sub>) = n</i>).</p> -<p>Suppose one wants to find a specific pair of primary and - secondary keys. Using 1 with a tree based container - (<tt>std::multimap</tt>), the expected cost is - <i><b>E</b>(Θ(log(m) + n<sub>i</sub>)) = Θ(log(m) + - n)</i>; using 1 with a hash-based container - (<tt>std::tr1::unordered_multimap</tt>), the expected cost is - <i>Θ(n)</i>. Using 2 with a primary hash-based container - and secondary hash-based containers, the expected cost is - <i>O(1)</i>; using 2 with a primary tree-based container and - secondary tree-based containers, the expected cost is (using - the Jensen inequality [<a href="references.html#motwani95random">motwani95random</a>]) - <i><b>E</b>(O(log(m) + log(n<sub>i</sub>)) = O(log(m)) + - <b>E</b>(O(log(n<sub>i</sub>)) = O(log(m)) + O(log(n))</i>, - assuming that primary keys are accessed equiprobably. 3 and 4 - are similar to 1, but with lower constants. Using 5 with a - hash-based container, the expected cost is <i>O(1)</i>; using 5 - with a tree based container, the cost is - <i><b>E</b>(Θ(log(mn))) = Θ(log(m) + - log(n))</i>.</p> -<p>Suppose one needs the values whose primary key matches some - given key. Using 1 with a hash-based container, the expected - cost is <i>Θ(n)</i>, but the values will not be ordered - by secondary keys (which may or may not be required); using 1 - with a tree-based container, the expected cost is - <i>Θ(log(m) + n)</i>, but with high constants; again the - values will not be ordered by secondary keys. 2, 3, and 4 are - similar to 1, but typically with lower constants (and, - additionally, if one uses a tree-based container for secondary - keys, they will be ordered). Using 5 with a hash-based - container, the cost is <i>Θ(mn)</i>.</p> -<p>Suppose one wants to assign to a primary key all secondary - keys assigned to a different primary key. Using 1 with a - hash-based container, the expected cost is <i>Θ(n)</i>, - but with very high constants; using 1 with a tree-based - container, the cost is <i>Θ(nlog(mn))</i>. Using 2, 3, - and 4, the expected cost is <i>Θ(n)</i>, but typically - with far lower costs than 1. 5 is similar to 1.</p> -</div> -</body> -</html> diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/assoc_regression_tests.html b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/assoc_regression_tests.html deleted file mode 100644 index 9b6b6b839..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/assoc_regression_tests.html +++ /dev/null @@ -1,93 +0,0 @@ -<!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" xml:lang="en" lang="en"> -<head> - <meta name="generator" content= - "HTML Tidy for Linux/x86 (vers 12 April 2005), see www.w3.org" /> - - <title>Associative-Container Regression Tests</title> - <meta http-equiv="Content-Type" content= - "text/html; charset=us-ascii" /> -<base href="http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/testsuite/ext/pb_ds/regression/"> - </head> - -<body> - <div id="page"> - <h1>Associative-Container Regression Tests</h1> - - <h2><a name="assoc_desc" id="assoc_desc">Description</a></h2> - - <p>The library contains a single comprehensive regression test. - For a given container type in <tt>pb_ds</tt>, the test creates - an object of the container type and an object of the - corresponding STL type (<i>e.g.</i>, <tt>std::set</tt>). It - then performs a random sequence of methods with random - arguments (<i>e.g.</i>, inserts, erases, and so forth) on both - objects. At each operation, the test checks the return value of - the method, and optionally both compares <tt>pb_ds</tt>'s - object with the STL's object as well as performing other - consistency checks on <tt>pb_ds</tt>'s object (<i>e.g.</i>, - order preservation, when applicable, or node invariants, when - applicable).</p> - - <p>Additionally, the test integrally checks exception safety - and resource leaks. This is done as follows. A special - allocator type, written for the purpose of the test, both - randomly throws an exceptions when allocations are performed, - and tracks allocations and de-allocations. The exceptions thrown - at allocations simulate memory-allocation failures; the - tracking mechanism checks for memory-related bugs (<i>e.g.</i>, - resource leaks and multiple de-allocations). Both - <tt>pb_ds</tt>'s containers and the containers' value-types are - configured to use this allocator.</p> - - <p>Due to compiler constraints, the test is split into the - several sources, each checking only some containers.</p> - - <h2><a name="assoc_tests" id="assoc_tests">Tests</a></h2> - - <h3><a name="assoc_tests_set" id="assoc_tests_set">"Set" - Tests</a></h3> - - <p>The following check all "set" types:</p> - - <ol> - <li><a href= - "hash_no_data_map_rand.cc"><tt>hash_no_data_map_rand.cc</tt></a> - checks all hash-based "set" types.</li> - - <li><a href= - "list_update_no_data_map_rand.cc"><tt>list_update_no_data_map_rand.cc</tt></a> - checks all list-based "set" types.</li> - - <li><a href= - "tree_no_data_map_rand.cc"><tt>tree_no_data_map_rand.cc</tt></a> - checks all tree-based "set" types.</li> - - <li><a href= - "trie_no_data_map_rand.cc"><tt>trie_no_data_map_rand.cc</tt></a> - checks all PATRICIA-trie-based "set" types.</li> - </ol> - - <h3><a name="assoc_tests_map" id="assoc_tests_map">"Map" - Tests</a></h3> - - <p>The following check all "map" types:</p> - - <ol> - <li><a href= "hash_data_map_rand.cc"><tt>hash_data_map_rand.cc</tt></a> - checks all hash-based "map" types.</li> - - <li><a href= "list_update_data_map_rand.cc"><tt>list_update_data_map_rand.cc</tt></a> - checks all list-based "map" types.</li> - - <li><a href= "tree_data_map_rand.cc"><tt>tree_data_map_rand.cc</tt></a> - checks all tree-based "map" types.</li> - - <li><a href= "trie_data_map_rand.cc"><tt>trie_data_map_rand.cc</tt></a> - checks all PATRICIA-trie-based "map" types.</li> - </ol> - </div> -</body> -</html> diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/assoc_tests.html b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/assoc_tests.html deleted file mode 100644 index 6e4474945..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/assoc_tests.html +++ /dev/null @@ -1,24 +0,0 @@ -<!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" xml:lang="en" lang="en"> -<head> - <meta name="generator" content= - "HTML Tidy for Linux/x86 (vers 12 April 2005), see www.w3.org" /> - - <title>Associative-Container Tests</title> - <meta http-equiv="Content-Type" content= - "text/html; charset=us-ascii" /> - </head> - -<body> - <div id="page"> - <h1>Associative-Container Tests</h1> - - <p><a href="assoc_regression_tests.html">Associative-Container - Regression Tests</a> describes the regression tests; <a href= - "assoc_performance_tests.html">Associative-Container - Performance Tests</a> describes the performance tests.</p> - </div> -</body> -</html> diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/associative_container_tag.html b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/associative_container_tag.html deleted file mode 100644 index ceb91cdc7..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/associative_container_tag.html +++ /dev/null @@ -1,47 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" - "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> -<head> - <meta name="generator" content= - "HTML Tidy for Linux/x86 (vers 12 April 2005), see www.w3.org" /> - - <title>associative_container_tag Interface</title> - <meta http-equiv="Content-Type" content= - "text/html; charset=us-ascii" /> - </head> - -<body> - <div id="page"> - <h1><tt>associative_container_tag</tt> Interface</h1> - - <p>Basic associative-container data structure tag.</p> - - <p>Defined in: <a href= - "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/include/ext/pb_ds/tag_and_trait.hpp"><tt>tag_and_trait.hpp</tt></a></p> - - <h2><a name="link1" id="link1">Base Classes</a></h2> - - <table class="c1" width="100%" border="1" summary="Bases"> - <tr> - <td width="80%" align="left"><b>Class</b></td> - - <td width="20%" align="left"><b>Derivation Type</b></td> - </tr> - - <tr> - <td> - <pre> -<a href="container_tag.html"><span class= -"c2"><tt>container_tag</tt></span></a> -</pre> - </td> - - <td> - <p>public</p> - </td> - </tr> - </table> - </div> -</body> -</html> diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/balls_and_bins.png b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/balls_and_bins.png Binary files differdeleted file mode 100644 index 529c3ae41..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/balls_and_bins.png +++ /dev/null diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/basic_hash_table.html b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/basic_hash_table.html deleted file mode 100644 index 668e681d8..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/basic_hash_table.html +++ /dev/null @@ -1,436 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" - "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> -<head> - <meta name="generator" content= - "HTML Tidy for Linux/x86 (vers 12 April 2005), see www.w3.org" /> - - <title>basic_hash_table Interface</title> - <meta http-equiv="Content-Type" content= - "text/html; charset=us-ascii" /> - </head> - -<body> - <div id="page"> - <h1><tt>basic_hash_table</tt> Interface</h1> - - <p>An abstract basic hash-based associative container.</p> - - <p>Defined in: <a href= - "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/include/ext/pb_ds/assoc_container.hpp"><tt>assoc_container.hpp</tt></a></p> - - <h2><a name="link1" id="link1">Template Parameters</a></h2> - - <table class="c1" width="100%" border="1" summary= - "Template Parameters"> - <tr> - <td width="20%" align="left"><b>Parameter</b></td> - - <td width="50%" align="left"><b>Description</b></td> - - <td width="30%" align="left"><b>Default Value</b></td> - </tr> - - <tr> - <td> - <pre> -<a name="Key2501" id="Key2501"><b>typename</b> Key</a> -</pre> - </td> - - <td> - <p>Key type.</p> - </td> - - <td>-</td> - </tr> - - <tr> - <td> - <pre> -<a name="Mapped318655" id="Mapped318655"><b>typename</b> Mapped</a> -</pre> - </td> - - <td> - <p>Mapped type.</p> - </td> - - <td>-</td> - </tr> - - <tr> - <td> - <pre> -<a name="Hash_Fn1515835" id= -"Hash_Fn1515835"><b>class</b> Hash_Fn</a> -</pre> - </td> - - <td> - <p>Hash functor.</p> - </td> - - <td>-</td> - </tr> - - <tr> - <td> - <pre> -<a name="Eq_Fn60085" id="Eq_Fn60085"><b>class</b> Eq_Fn</a> -</pre> - </td> - - <td> - <p>Equivalence functor.</p> - </td> - - <td>-</td> - </tr> - - <tr> - <td> - <pre> -<a name="Resize_Policy566860465" id= -"Resize_Policy566860465"><b>class</b> Resize_Policy</a> -</pre> - </td> - - <td> - <p>Resize policy.</p> - </td> - - <td>-</td> - </tr> - - <tr> - <td> - <pre> -<a name="Store_Hash218262104" id= -"Store_Hash218262104"><b>bool</b> Store_Hash</a> -</pre> - </td> - - <td> - <p>Indicates whether the hash value will be stored along - with each key.</p> - </td> - - <td>-</td> - </tr> - - <tr> - <td> - <pre> -<a name="Tag278938" id="Tag278938"><b>class</b> Tag</a> -</pre> - </td> - - <td> - <p>Mapped-structure tag.</p> - </td> - - <td>-</td> - </tr> - - <tr> - <td> - <pre> -<a name="Allocator35940069" id= -"Allocator35940069"><b>class</b> Allocator</a> -</pre> - </td> - - <td> - <p>Allocator type.</p> - </td> - - <td>-</td> - </tr> - </table> - - <h2><a name="link2" id="link2">Base Classes</a></h2> - - <table class="c1" width="100%" border="1" summary="Bases"> - <tr> - <td width="80%" align="left"><b>Class</b></td> - - <td width="20%" align="left"><b>Derivation Type</b></td> - </tr> - - <tr> - <td> - <pre> -<a href="#Resize_Policy566860465"><tt>Resize_Policy</tt></a> -</pre> - </td> - - <td> - <p>public</p> - </td> - </tr> - - <tr> - <td> - <pre> -<a href="container_base.html"><span class= -"c2"><tt>container_base</tt></span></a> -</pre> - </td> - - <td> - <p>public</p> - </td> - </tr> - </table> - - <h2><a name="link3" id="link3">Public Types and - Constants</a></h2> - - <h3><a name="link4" id="link4">Policy Definitions</a></h3> - - <table class="c1" width="100%" border="1" summary="Types"> - <tr> - <td width="30%" align="left"><b>Type</b></td> - - <td width="55%" align="left"><b>Definition</b></td> - - <td width="15%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -<a name="hash_fn2015995" id="hash_fn2015995">hash_fn</a> -</pre> - </td> - - <td> - <pre> -<a href="#Hash_Fn1515835"><tt>Hash_Fn</tt></a> -</pre> - </td> - - <td> - <p>Hash functor type.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<a name="eq_fn80245" id="eq_fn80245">eq_fn</a> -</pre> - </td> - - <td> - <pre> -<a href="#Eq_Fn60085"><tt>Eq_Fn</tt></a> -</pre> - </td> - - <td> - <p>Equivalence functor type.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<a name="resize_policy4084493169" id= -"resize_policy4084493169">resize_policy</a> -</pre> - </td> - - <td> - <pre> -<a href="#Resize_Policy566860465"><tt>Resize_Policy</tt></a> -</pre> - </td> - - <td> - <p>Resize policy type.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<a name="store_hash280766104" id= -"store_hash280766104">store_hash</a> -</pre> - </td> - - <td> - <pre> -<a href="#Store_Hash218262104"><tt>Store_Hash</tt></a> -</pre> - </td> - - <td> - <p>Indicates whether a hash value is stored with each - entry.</p> - </td> - </tr> - </table> - - <h2><a name="link5" id="link5">Public Methods</a></h2> - - <h3><a name="link6" id="link6">Constructors, Destructor, and - Related</a></h3> - - <table class="c1" width="100%" border="1" summary="Methods"> - <tr> - <td width="45%" align="left"><b>Method</b></td> - - <td width="55%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -<b>virtual</b> - ~basic_hash_table - () -</pre> - </td> - - <td> - <p>Destructor.</p> - </td> - </tr> - </table> - - <h3><a name="link7" id="link7">Policy Access Methods</a></h3> - - <table class="c1" width="100%" border="1" summary="Methods"> - <tr> - <td width="45%" align="left"><b>Method</b></td> - - <td width="55%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -<a href="#hash_fn2015995"><tt>hash_fn</tt></a> & - get_hash_fn - () -</pre> - </td> - - <td> - <p>Access to the <a href= - "#hash_fn2015995"><tt>hash_fn</tt></a> object.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<b>const</b> <a href="#hash_fn2015995"><tt>hash_fn</tt></a> & - get_hash_fn - () <b>const</b> -</pre> - </td> - - <td> - <p>Const access to the <a href= - "#hash_fn2015995"><tt>hash_fn</tt></a> object.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<a href="#eq_fn80245"><tt>eq_fn</tt></a> & - get_eq_fn - () -</pre> - </td> - - <td> - <p>Access to the <a href="#eq_fn80245"><tt>eq_fn</tt></a> - object.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<b>const</b> <a href="#eq_fn80245"><tt>eq_fn</tt></a> & - get_eq_fn - () <b>const</b> -</pre> - </td> - - <td> - <p>Const access to the <a href= - "#eq_fn80245"><tt>eq_fn</tt></a> object.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<a href="#resize_policy4084493169"><tt>resize_policy</tt></a> & - get_resize_policy - () -</pre> - </td> - - <td> - <p>Access to the <a href= - "#resize_policy4084493169"><tt>resize_policy</tt></a> - object.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<b>const</b> <a href= -"#resize_policy4084493169"><tt>resize_policy</tt></a> & - get_resize_policy - () <b>const</b> -</pre> - </td> - - <td> - <p>Const access to the <a href= - "#resize_policy4084493169"><tt>resize_policy</tt></a> - object.</p> - </td> - </tr> - </table> - - <h2><a name="link8" id="link8">Private Methods</a></h2> - - <h3><a name="link9" id="link9">Resize Methods</a></h3> - - <table class="c1" width="100%" border="1" summary="Methods"> - <tr> - <td width="45%" align="left"><b>Method</b></td> - - <td width="55%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -<b>virtual</b> <b>void</b> - do_resize - (size_type new_size) -</pre> - </td> - - <td> - <p>Resizes the container object to <span class= - "c1"><tt>new_size</tt></span>.</p> - </td> - </tr> - </table> - </div> -</body> -</html> diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/basic_hash_tag.html b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/basic_hash_tag.html deleted file mode 100644 index 9dc5e6d86..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/basic_hash_tag.html +++ /dev/null @@ -1,47 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" - "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> -<head> - <meta name="generator" content= - "HTML Tidy for Linux/x86 (vers 12 April 2005), see www.w3.org" /> - - <title>basic_hash_tag Interface</title> - <meta http-equiv="Content-Type" content= - "text/html; charset=us-ascii" /> - </head> - -<body> - <div id="page"> - <h1><tt>basic_hash_tag</tt> Interface</h1> - - <p>Basic hash data structure tag.</p> - - <p>Defined in: <a href= - "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/include/ext/pb_ds/tag_and_trait.hpp"><tt>tag_and_trait.hpp</tt></a></p> - - <h2><a name="link1" id="link1">Base Classes</a></h2> - - <table class="c1" width="100%" border="1" summary="Bases"> - <tr> - <td width="80%" align="left"><b>Class</b></td> - - <td width="20%" align="left"><b>Derivation Type</b></td> - </tr> - - <tr> - <td> - <pre> -<a href="associative_container_tag.html"><span class= -"c2"><tt>associative_container_tag</tt></span></a> -</pre> - </td> - - <td> - <p>public</p> - </td> - </tr> - </table> - </div> -</body> -</html> diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/basic_invalidation_guarantee.html b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/basic_invalidation_guarantee.html deleted file mode 100644 index d4a0df23f..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/basic_invalidation_guarantee.html +++ /dev/null @@ -1,26 +0,0 @@ -<!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" xml:lang="en" lang="en"> -<head> - <meta name="generator" content= - "HTML Tidy for Linux/x86 (vers 12 April 2005), see www.w3.org" /> - - <title>basic_invalidation_guarantee Interface</title> - <meta http-equiv="Content-Type" content= - "text/html; charset=us-ascii" /> - </head> - -<body> - <div id="page"> - <h1><tt>basic_invalidation_guarantee</tt> Interface</h1> - - <p>Signifies a basic invalidation guarantee that any iterator, - pointer, or reference to a container object's mapped value type - is valid as long as the container is not modified.</p> - - <p>Defined in: <a href= - "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/include/ext/pb_ds/tag_and_trait.hpp"><tt>tag_and_trait.hpp</tt></a></p> - </div> -</body> -</html> diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/basic_tree.html b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/basic_tree.html deleted file mode 100644 index 3811707fa..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/basic_tree.html +++ /dev/null @@ -1,660 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" - "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> -<head> - <meta name="generator" content= - "HTML Tidy for Linux/x86 (vers 12 April 2005), see www.w3.org" /> - - <title>basic_tree Interface</title> - <meta http-equiv="Content-Type" content= - "text/html; charset=us-ascii" /> - </head> - -<body> - <div id="page"> - <h1><tt>basic_tree</tt> Interface</h1> - - <p>An abstract basic tree-like-based associative container.</p> - - <p>Defined in: <a href= - "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/include/ext/pb_ds/assoc_container.hpp"><tt>assoc_container.hpp</tt></a></p> - - <h2><a name="link1" id="link1">Template Parameters</a></h2> - - <table class="c1" width="100%" border="1" summary= - "Template Parameters"> - <tr> - <td width="20%" align="left"><b>Parameter</b></td> - - <td width="50%" align="left"><b>Description</b></td> - - <td width="30%" align="left"><b>Default Value</b></td> - </tr> - - <tr> - <td> - <pre> -<a name="Key2501" id="Key2501"><b>typename</b> Key</a> -</pre> - </td> - - <td> - <p>Key type.</p> - </td> - - <td>-</td> - </tr> - - <tr> - <td> - <pre> -<a name="Mapped318655" id="Mapped318655"><b>typename</b> Mapped</a> -</pre> - </td> - - <td> - <p>Mapped type.</p> - </td> - - <td>-</td> - </tr> - - <tr> - <td> - <pre> -<a name="Tag278938" id="Tag278938"><b>class</b> Tag</a> -</pre> - </td> - - <td> - <p>Mapped-structure tag.</p> - </td> - - <td>-</td> - </tr> - - <tr> - <td> - <pre> -<a name="Node_Update841554648" id= -"Node_Update841554648"><b>class</b> Node_Update</a> -</pre> - </td> - - <td> - <p>Node updater.</p> - - <p>Restores node-invariants when invalidated.</p> - </td> - - <td>-</td> - </tr> - - <tr> - <td> - <pre> -<a name="Policy_Tl42017403" id= -"Policy_Tl42017403"><b>class</b> Policy_Tl</a> -</pre> - </td> - - <td> - <p>Policy typelist.</p> - - <p>Contains subclasses' policies.</p> - </td> - - <td>-</td> - </tr> - - <tr> - <td> - <pre> -<a name="Allocator35940069" id= -"Allocator35940069"><b>class</b> Allocator</a> -</pre> - </td> - - <td> - <p>Allocator type.</p> - </td> - - <td>-</td> - </tr> - </table> - - <h2><a name="link2" id="link2">Base Classes</a></h2> - - <table class="c1" width="100%" border="1" summary="Bases"> - <tr> - <td width="80%" align="left"><b>Class</b></td> - - <td width="20%" align="left"><b>Derivation Type</b></td> - </tr> - - <tr> - <td> - <pre> -<a href="#Node_Update841554648"><tt>Node_Update</tt></a> -</pre> - </td> - - <td> - <p>public</p> - </td> - </tr> - - <tr> - <td> - <pre> -<a href="container_base.html"><span class= -"c2"><tt>container_base</tt></span></a> -</pre> - </td> - - <td> - <p>public</p> - </td> - </tr> - </table> - - <h2><a name="link3" id="link3">Public Types and - Constants</a></h2> - - <h3><a name="link4" id="link4">Key-Type Definitions</a></h3> - - <table class="c1" width="100%" border="1" summary="Types"> - <tr> - <td width="30%" align="left"><b>Type</b></td> - - <td width="55%" align="left"><b>Definition</b></td> - - <td width="15%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -<a name="const_key_reference3185471705" id= -"const_key_reference3185471705">const_key_reference</a> -</pre> - </td> - - <td> - <pre> -<b>typename</b> <a href="container_base.html"><span class= -"c2"><tt>container_base</tt></span></a>::const_key_reference -</pre> - </td> - - <td> - <p>Const key reference type.</p> - </td> - </tr> - </table> - - <h3><a name="link5" id="link5">Policy Definitions</a></h3> - - <table class="c1" width="100%" border="1" summary="Types"> - <tr> - <td width="30%" align="left"><b>Type</b></td> - - <td width="55%" align="left"><b>Definition</b></td> - - <td width="15%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -<a name="node_update2404554648" id= -"node_update2404554648">node_update</a> -</pre> - </td> - - <td> - <pre> -<a href="#Node_Update841554648"><tt>Node_Update</tt></a> -</pre> - </td> - - <td> - <p>Node updater type.</p> - </td> - </tr> - </table> - - <h3><a name="link6" id="link6">Iterator Definitions</a></h3> - - <table class="c1" width="100%" border="1" summary="Types"> - <tr> - <td width="30%" align="left"><b>Type</b></td> - - <td width="55%" align="left"><b>Definition</b></td> - - <td width="15%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -<a name="const_iterator98626788" id= -"const_iterator98626788">const_iterator</a> -</pre> - </td> - - <td> - <pre> -<b>typename</b> <a href="container_base.html"><span class= -"c2"><tt>container_base</tt></span></a>::const_iterator -</pre> - </td> - - <td> - <p>Const range-type iterator.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<a name="iterator10418194" id="iterator10418194">iterator</a> -</pre> - </td> - - <td> - <pre> -<b>typename</b> <a href="container_base.html"><span class= -"c2"><tt>container_base</tt></span></a>::iterator -</pre> - </td> - - <td> - <p>Range-type iterator.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<a name="const_reverse_iterator4151293083" id= -"const_reverse_iterator4151293083">const_reverse_iterator</a> -</pre> - </td> - - <td> - <pre> -Const reverse range-type iterator. -</pre> - </td> - - <td> - <p>Const reverse range-type <a href= - "#iterator10418194"><tt>iterator</tt></a>.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<a name="reverse_iterator1896910345" id= -"reverse_iterator1896910345">reverse_iterator</a> -</pre> - </td> - - <td> - <pre> -Reverse range-type iterator.<br /> -If <a href="#Mapped318655"><tt>Mapped</tt></a> is <a href= -"null_mapped_type.html"><span class= -"c2"><tt>null_mapped_type</tt></span></a>, then this is synonymous to <a href="#const_reverse_iterator4151293083"><tt>const_reverse_iterator</tt></a> -</pre> - </td> - - <td> - <p>Reverse range-type <a href= - "#iterator10418194"><tt>iterator</tt></a>.</p> - </td> - </tr> - </table> - - <h2><a name="link7" id="link7">Public Methods</a></h2> - - <h3><a name="link8" id="link8">Constructors, Destructor, and - Related</a></h3> - - <table class="c1" width="100%" border="1" summary="Methods"> - <tr> - <td width="45%" align="left"><b>Method</b></td> - - <td width="55%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -<b>virtual</b> - ~basic_tree - () -</pre> - </td> - - <td> - <p>Destructor.</p> - </td> - </tr> - </table> - - <h3><a name="link9" id="link9">Policy Access Methods</a></h3> - - <table class="c1" width="100%" border="1" summary="Methods"> - <tr> - <td width="45%" align="left"><b>Method</b></td> - - <td width="55%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -<a href="#node_update2404554648"><tt>node_update</tt></a> & - get_node_update - () -</pre> - </td> - - <td> - <p>Access to the <a href= - "#node_update2404554648"><tt>node_update</tt></a> - object.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<b>const</b> <a href= -"#node_update2404554648"><tt>node_update</tt></a> & - get_node_update - () <b>const</b> -</pre> - </td> - - <td> - <p>Const access to the <a href= - "#node_update2404554648"><tt>node_update</tt></a> - object.</p> - </td> - </tr> - </table> - - <h3><a name="link10" id="link10">Find Methods</a></h3> - - <table class="c1" width="100%" border="1" summary="Methods"> - <tr> - <td width="45%" align="left"><b>Method</b></td> - - <td width="55%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -<a href="#iterator10418194"><tt>iterator</tt></a> - lower_bound - (<a href= -"#const_key_reference3185471705"><tt>const_key_reference</tt></a> r_key) -</pre> - </td> - - <td> - <p>Returns an <a href= - "#iterator10418194"><tt>iterator</tt></a> corresponding - to the entry whose key is the smallest one at least as - large as <span class="c1"><tt>r_key</tt></span>.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<a href="#const_iterator98626788"><tt>const_iterator</tt></a> - lower_bound - (<a href= -"#const_key_reference3185471705"><tt>const_key_reference</tt></a> r_key) <b>const</b> -</pre> - </td> - - <td> - <p>Returns a <tt><b>const</b></tt> <a href= - "#iterator10418194"><tt>iterator</tt></a> corresponding - to the entry whose key is the smallest one at least as - large as <span class="c1"><tt>r_key</tt></span>.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<a href="#iterator10418194"><tt>iterator</tt></a> - upper_bound - (<a href= -"#const_key_reference3185471705"><tt>const_key_reference</tt></a> r_key) -</pre> - </td> - - <td> - <p>Returns an <a href= - "#iterator10418194"><tt>iterator</tt></a> corresponding - to the entry whose key is the smallest one larger than - <span class="c1"><tt>r_key</tt></span>.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<a href="#const_iterator98626788"><tt>const_iterator</tt></a> - upper_bound - (<a href= -"#const_key_reference3185471705"><tt>const_key_reference</tt></a> r_key) <b>const</b> -</pre> - </td> - - <td> - <p>Returns a <a href= - "#const_iterator98626788"><tt>const_iterator</tt></a> - corresponding to the entry whose key is the smallest one - larger than <span class="c1"><tt>r_key</tt></span>.</p> - </td> - </tr> - </table> - - <h3><a name="link11" id="link11">Erase Methods</a></h3> - - <table class="c1" width="100%" border="1" summary="Methods"> - <tr> - <td width="45%" align="left"><b>Method</b></td> - - <td width="55%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -<a href="#iterator10418194"><tt>iterator</tt></a> - erase - (<a href="#iterator10418194"><tt>iterator</tt></a> it) -</pre> - </td> - - <td> - <p>Erases the value_type corresponding to the <a href= - "#iterator10418194"><tt>iterator</tt></a> <span class= - "c1"><tt>it</tt></span>. Returns the <a href= - "#iterator10418194"><tt>iterator</tt></a> corresponding - to the next value_type.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<a href="#reverse_iterator1896910345"><tt>reverse_iterator</tt></a> - erase - (<a href= -"#reverse_iterator1896910345"><tt>reverse_iterator</tt></a> it) -</pre> - </td> - - <td> - <p>Erases the value_type corresponding to the <a href= - "#reverse_iterator1896910345"><tt>reverse_iterator</tt></a> - <span class="c1"><tt>it</tt></span>. Returns the <a href= - "#reverse_iterator1896910345"><tt>reverse_iterator</tt></a> - corresponding to the previous value_type.</p> - </td> - </tr> - </table> - - <h3><a name="link12" id="link12">Iteration Methods</a></h3> - - <table class="c1" width="100%" border="1" summary="Methods"> - <tr> - <td width="45%" align="left"><b>Method</b></td> - - <td width="55%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -<a href="#reverse_iterator1896910345"><tt>reverse_iterator</tt></a> - rbegin - () -</pre> - </td> - - <td> - <p>Returns a <a href= - "#reverse_iterator1896910345"><tt>reverse_iterator</tt></a> - corresponding to the last value_type in the - container.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<a href= -"#const_reverse_iterator4151293083"><tt>const_reverse_iterator</tt></a> - rbegin - () <b>const</b> -</pre> - </td> - - <td> - <p>Returns a <a href= - "#const_reverse_iterator4151293083"><tt>const_reverse_iterator</tt></a> - corresponding to the last value_type in the - container.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<a href="#reverse_iterator1896910345"><tt>reverse_iterator</tt></a> - rend - () -</pre> - </td> - - <td> - <p>Returns a <a href= - "#reverse_iterator1896910345"><tt>reverse_iterator</tt></a> - corresponding to the just-before-first value_type in the - container.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<a href= -"#const_reverse_iterator4151293083"><tt>const_reverse_iterator</tt></a> - rend - () <b>const</b> -</pre> - </td> - - <td> - <p>Returns a <a href= - "#const_reverse_iterator4151293083"><tt>const_reverse_iterator</tt></a> - corresponding to the just-before-first value_type in the - container.</p> - </td> - </tr> - </table> - - <h3><a name="link13" id="link13">Split and join - Methods</a></h3> - - <table class="c1" width="100%" border="1" summary="Methods"> - <tr> - <td width="45%" align="left"><b>Method</b></td> - - <td width="55%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -<b>void</b> - join - (<span class= -"c2"><tt>basic_tree</tt></span> &other) -</pre> - </td> - - <td> - <p>Joins two trees. When this function returns, - <span class="c1"><tt>other</tt></span> will be - empty.</p> - - <p>When calling this method, <span class= - "c1"><tt>other</tt></span>'s keys must be all larger or - all smaller than this object's keys, and <span class= - "c1"><tt>other</tt></span>'s policies must be - equivalent to this object's policies.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<b>void</b> - split - (<a href= -"#const_key_reference3185471705"><tt>const_key_reference</tt></a> r_key, - <span class= -"c2"><tt>basic_tree</tt></span> &other) -</pre> - </td> - - <td> - <p>Splits into two trees. When this function returns, - <span class="c1"><tt>other</tt></span> will contain - only keys larger than <span class= - "c1"><tt>r_key</tt></span>.</p> - - <p>When calling this method, <span class= - "c1"><tt>other</tt></span>'s policies must be - equivalent to this object's policies.</p> - </td> - </tr> - </table> - </div> -</body> -</html> diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/basic_tree_assoc_container_const_node_iterator.html b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/basic_tree_assoc_container_const_node_iterator.html deleted file mode 100644 index 5647f551e..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/basic_tree_assoc_container_const_node_iterator.html +++ /dev/null @@ -1,383 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" - "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> -<head> - <meta name="generator" content= - "HTML Tidy for Linux/x86 (vers 12 April 2005), see www.w3.org" /> - - <title>tree::const_node_iterator - Interface</title> - <meta http-equiv="Content-Type" content= - "text/html; charset=us-ascii" /> - </head> - -<body> - <div id="page"> - <h1><tt><span class= - "c2"><tt>tree</tt></span>::const_node_iterator</tt> - Interface</h1> - - <p>Const node iterator.</p> - - <p>This is an &qout;iterator to an iterator&qout; - it - iterates over nodes, and de-referencing it returns one of the - tree's iterators</p> - - <h2><a name="link1" id="link1">Public Types and - Constants</a></h2> - - <h3><a name="link2" id="link2">Iterator Definitions</a></h3> - - <table class="c2" width="100%" border="1" summary="Types"> - <tr> - <td width="30%" align="left"><b>Type</b></td> - - <td width="55%" align="left"><b>Definition</b></td> - - <td width="15%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -<a name="iterator_category2821876439" id= -"iterator_category2821876439">iterator_category</a> -</pre> - </td> - - <td> - <pre> -trivial_iterator_tag -</pre> - </td> - - <td> - <p>Category.</p> - - <p>This tag identifies that the iterator has none of the - STL's iterators' movement abilities.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<a name="difference_type868028452" id= -"difference_type868028452">difference_type</a> -</pre> - </td> - - <td> - <pre class="c1"> -void -</pre> - </td> - - <td> - <p>Difference type.</p> - </td> - </tr> - </table> - - <h3><a name="link3" id="link3">Value-Type Definitions</a></h3> - - <p>Note that a node iterator's value type is actually a tree - iterator.</p> - - <table class="c2" width="100%" border="1" summary="Types"> - <tr> - <td width="30%" align="left"><b>Type</b></td> - - <td width="55%" align="left"><b>Definition</b></td> - - <td width="15%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -<a name="value_type279018186" id= -"value_type279018186">value_type</a> -</pre> - </td> - - <td> - <pre> -<a href= -"container_base.html#const_iterator98626788"><span class="c2"><tt>container_base</tt></span>::const_iterator</a> -</pre> - </td> - - <td> - <p>Iterator's value type.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<a name="reference54418471" id="reference54418471">reference</a> -</pre> - </td> - - <td> - <pre> -<a href= -"container_base.html#const_iterator98626788"><span class="c2"><tt>container_base</tt></span>::const_iterator</a> -</pre> - </td> - - <td> - <p>Iterator's reference type.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<a name="const_reference495461441" id= -"const_reference495461441">const_reference</a> -</pre> - </td> - - <td> - <pre> -<a href= -"container_base.html#const_iterator98626788"><span class="c2"><tt>container_base</tt></span>::const_iterator</a> -</pre> - </td> - - <td> - <p>Iterator's const <a href= - "#reference54418471"><tt>reference</tt></a> type.</p> - </td> - </tr> - </table> - - <h3><a name="link4" id="link4">Metadata Definitions</a></h3> - - <p>These are only defined if <a href= - "basic_tree.html#Node_Update841554648"><span class="c2"> - <tt>basic_tree</tt></span>::Node_Update</a> - is not <a href="null_tree_node_update.html"><span class= - "c2"><tt>null_tree_node_update</tt></span></a></p> - - <table class="c2" width="100%" border="1" summary="Types"> - <tr> - <td width="30%" align="left"><b>Type</b></td> - - <td width="55%" align="left"><b>Definition</b></td> - - <td width="15%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -<a name="metadata_type2849297114" id= -"metadata_type2849297114">metadata_type</a> -</pre> - </td> - - <td> - <pre> -<tt><b>typename</b></tt> <a href= -"basic_tree.html#Node_Update841554648"><span class="c2"><tt>basic_tree</tt></span>::Node_Update</a><tt>::metadata_type</tt> -</pre> - </td> - - <td> - <p>Metadata type.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<a name="const_metadata_reference1108857465" id= -"const_metadata_reference1108857465">const_metadata_reference</a> -</pre> - </td> - - <td> - <pre> -<b>typename</b> Allocator::<b>template</b> rebind< - <a href= -"#metadata_type2849297114"><tt>metadata_type</tt></a>>::other::<a href="#const_reference495461441"><tt>const_reference</tt></a> -</pre> - </td> - - <td> - <p>Const metadata <a href= - "#reference54418471"><tt>reference</tt></a> type.</p> - </td> - </tr> - </table> - - <h2><a name="link5" id="link5">Public Methods</a></h2> - - <h3><a name="link6" id="link6">Constructors, Destructor, and - Related</a></h3> - - <table class="c2" width="100%" border="1" summary="Methods"> - <tr> - <td width="45%" align="left"><b>Method</b></td> - - <td width="55%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -<b>inline</b> - const_node_iterator - () -</pre> - </td> - - <td> - <p>Default constructor.</p> - </td> - </tr> - </table> - - <h3><a name="link7" id="link7">Access Methods</a></h3> - - <table class="c2" width="100%" border="1" summary="Methods"> - <tr> - <td width="45%" align="left"><b>Method</b></td> - - <td width="55%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -<b>inline</b> <a href= -"#const_reference495461441"><tt>const_reference</tt></a> - <b>operator</b>* - () <b>const</b> -</pre> - </td> - - <td> - <p>Access.</p> - </td> - </tr> - </table> - - <h3><a name="link8" id="link8">Metadata Access Methods</a></h3> - - <p>These are only defined if <a href= - "basic_tree.html#Node_Update841554648"><span class="c2"> - <tt>basic_tree</tt></span>::Node_Update</a> - is not <a href="null_tree_node_update.html"><span class= - "c2"><tt>null_tree_node_update</tt></span></a></p> - - <table class="c2" width="100%" border="1" summary="Methods"> - <tr> - <td width="45%" align="left"><b>Method</b></td> - - <td width="55%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -<b>inline</b> <a href= -"#const_metadata_reference1108857465"><tt>const_metadata_reference</tt></a> - get_metadata - () <b>const</b> -</pre> - </td> - - <td> - <p>Metadata access.</p> - </td> - </tr> - </table> - - <h3><a name="link9" id="link9">Movement Methods</a></h3> - - <table class="c2" width="100%" border="1" summary="Methods"> - <tr> - <td width="45%" align="left"><b>Method</b></td> - - <td width="55%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -<b>inline</b> <span class="c2"><tt>const_node_iterator</tt></span> - get_l_child - () <b>const</b> -</pre> - </td> - - <td> - <p>Returns the const node iterator associated with the - left node.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<b>inline</b> <span class="c2"><tt>const_node_iterator</tt></span> - get_r_child - () <b>const</b> -</pre> - </td> - - <td> - <p>Returns the const node iterator associated with the - right node.</p> - </td> - </tr> - </table> - - <h3><a name="link10" id="link10">Comparison Methods</a></h3> - - <table class="c2" width="100%" border="1" summary="Methods"> - <tr> - <td width="45%" align="left"><b>Method</b></td> - - <td width="55%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -<b>inline</b> <b>bool</b> - <b>operator</b>== - (<b>const</b> <span class= -"c2"><tt>const_node_iterator</tt></span> &other) <b>const</b> -</pre> - </td> - - <td> - <p>Compares to a different iterator object.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<b>inline</b> <b>bool</b> - <b>operator</b>!= - (<b>const</b> <span class= -"c2"><tt>const_node_iterator</tt></span> &other) <b>const</b> -</pre> - </td> - - <td> - <p>Compares (negatively) to a different iterator - object.</p> - </td> - </tr> - </table> - </div> -</body> -</html> diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/basic_tree_tag.html b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/basic_tree_tag.html deleted file mode 100644 index 8eca2a818..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/basic_tree_tag.html +++ /dev/null @@ -1,47 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" - "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> -<head> - <meta name="generator" content= - "HTML Tidy for Linux/x86 (vers 12 April 2005), see www.w3.org" /> - - <title>basic_tree_tag Interface</title> - <meta http-equiv="Content-Type" content= - "text/html; charset=us-ascii" /> - </head> - -<body> - <div id="page"> - <h1><tt>basic_tree_tag</tt> Interface</h1> - - <p>Basic tree-like data structure tag.</p> - - <p>Defined in: <a href= - "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/include/ext/pb_ds/tag_and_trait.hpp"><tt>tag_and_trait.hpp</tt></a></p> - - <h2><a name="link1" id="link1">Base Classes</a></h2> - - <table class="c1" width="100%" border="1" summary="Bases"> - <tr> - <td width="80%" align="left"><b>Class</b></td> - - <td width="20%" align="left"><b>Derivation Type</b></td> - </tr> - - <tr> - <td> - <pre> -<a href="associative_container_tag.html"><span class= -"c2"><tt>associative_container_tag</tt></span></a> -</pre> - </td> - - <td> - <p>public</p> - </td> - </tr> - </table> - </div> -</body> -</html> diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/binary_heap_tag.html b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/binary_heap_tag.html deleted file mode 100644 index 47873b1cf..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/binary_heap_tag.html +++ /dev/null @@ -1,47 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" - "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> -<head> - <meta name="generator" content= - "HTML Tidy for Linux/x86 (vers 12 April 2005), see www.w3.org" /> - - <title>binary_heap_tag Interface</title> - <meta http-equiv="Content-Type" content= - "text/html; charset=us-ascii" /> - </head> - -<body> - <div id="page"> - <h1><tt>binary_heap_tag</tt> Interface</h1> - - <p>Binary-heap (array-based) data structure tag.</p> - - <p>Defined in: <a href= - "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/include/ext/pb_ds/tag_and_trait.hpp"><tt>tag_and_trait.hpp</tt></a></p> - - <h2><a name="link1" id="link1">Base Classes</a></h2> - - <table class="c1" width="100%" border="1" summary="Bases"> - <tr> - <td width="80%" align="left"><b>Class</b></td> - - <td width="20%" align="left"><b>Derivation Type</b></td> - </tr> - - <tr> - <td> - <pre> -<a href="priority_queue_tag.html"><span class= -"c2"><tt>priority_queue_tag</tt></span></a> -</pre> - </td> - - <td> - <p>public</p> - </td> - </tr> - </table> - </div> -</body> -</html> diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/binary_priority_queue_random_int_push_timing_test_gcc.png b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/binary_priority_queue_random_int_push_timing_test_gcc.png Binary files differdeleted file mode 100644 index 07f0953a6..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/binary_priority_queue_random_int_push_timing_test_gcc.png +++ /dev/null diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/binary_priority_queue_random_int_push_timing_test_local.png b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/binary_priority_queue_random_int_push_timing_test_local.png Binary files differdeleted file mode 100644 index 76e02f134..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/binary_priority_queue_random_int_push_timing_test_local.png +++ /dev/null diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/binary_priority_queue_random_int_push_timing_test_msvc.png b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/binary_priority_queue_random_int_push_timing_test_msvc.png Binary files differdeleted file mode 100644 index b8a3b2371..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/binary_priority_queue_random_int_push_timing_test_msvc.png +++ /dev/null diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/binomial_heap_tag.html b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/binomial_heap_tag.html deleted file mode 100644 index fde6a913b..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/binomial_heap_tag.html +++ /dev/null @@ -1,47 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" - "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> -<head> - <meta name="generator" content= - "HTML Tidy for Linux/x86 (vers 12 April 2005), see www.w3.org" /> - - <title>binomial_heap_tag Interface</title> - <meta http-equiv="Content-Type" content= - "text/html; charset=us-ascii" /> - </head> - -<body> - <div id="page"> - <h1><tt>binomial_heap_tag</tt> Interface</h1> - - <p>Binomial-heap data structure tag.</p> - - <p>Defined in: <a href= - "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/include/ext/pb_ds/tag_and_trait.hpp"><tt>tag_and_trait.hpp</tt></a></p> - - <h2><a name="link1" id="link1">Base Classes</a></h2> - - <table class="c1" width="100%" border="1" summary="Bases"> - <tr> - <td width="80%" align="left"><b>Class</b></td> - - <td width="20%" align="left"><b>Derivation Type</b></td> - </tr> - - <tr> - <td> - <pre> -<a href="priority_queue_tag.html"><span class= -"c2"><tt>priority_queue_tag</tt></span></a> -</pre> - </td> - - <td> - <p>public</p> - </td> - </tr> - </table> - </div> -</body> -</html> diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/cc_hash_max_collision_check_resize_trigger.html b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/cc_hash_max_collision_check_resize_trigger.html deleted file mode 100644 index a6b512b0d..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/cc_hash_max_collision_check_resize_trigger.html +++ /dev/null @@ -1,532 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" - "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> -<head> - <meta name="generator" content= - "HTML Tidy for Linux/x86 (vers 12 April 2005), see www.w3.org" /> - - <title>cc_hash_max_collision_check_resize_trigger - Interface</title> - <meta http-equiv="Content-Type" content= - "text/html; charset=us-ascii" /> - </head> - -<body> - <div id="page"> - <h1><tt>cc_hash_max_collision_check_resize_trigger</tt> - Interface</h1> - - <p>A resize trigger policy based on collision checks. It keeps - the simulated load factor lower than some given load - factor.</p> - - <p>Defined in: <a href= - "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/include/ext/pb_ds/hash_policy.hpp"><tt>hash_policy.hpp</tt></a></p> - - <h2><a name="link1" id="link1">Template Parameters</a></h2> - - <table class="c1" width="100%" border="1" summary= - "Template Parameters"> - <tr> - <td width="20%" align="left"><b>Parameter</b></td> - - <td width="50%" align="left"><b>Description</b></td> - - <td width="30%" align="left"><b>Default Value</b></td> - </tr> - - <tr> - <td> - <pre> -<a name="External_Load_Access1313998607" id= -"External_Load_Access1313998607"><b>bool</b> External_Load_Access </a> -</pre> - </td> - - <td> - <p>Specifies whether the load factor can be accessed - externally. The two options have different trade-offs in - terms of flexibility, genericity, and encapsulation.</p> - </td> - - <td><tt><b>false</b></tt></td> - </tr> - - <tr> - <td> - <pre> -<a name="Size_Type42920436" id= -"Size_Type42920436"><b>typename</b> Size_Type </a> -</pre> - </td> - - <td> - <p>Size type.</p> - </td> - - <td>size_t</td> - </tr> - </table> - - <h2><a name="link2" id="link2">Public Types and - Constants</a></h2> - - <h3><a name="link3" id="link3">General Definitions</a></h3> - - <table class="c1" width="100%" border="1" summary="Types"> - <tr> - <td width="30%" align="left"><b>Type</b></td> - - <td width="55%" align="left"><b>Definition</b></td> - - <td width="15%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -<a name="size_type55424436" id="size_type55424436">size_type</a> -</pre> - </td> - - <td> - <pre> -<a href="#Size_Type42920436"><tt>Size_Type</tt></a> -</pre> - </td> - - <td> - <p>Size type.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<a name="external_load_access3976598639" id= -"external_load_access3976598639">external_load_access</a> -</pre> - </td> - - <td> - <pre> -<a href= -"#External_Load_Access1313998607"><tt>External_Load_Access</tt></a> -</pre> - </td> - - <td> - <p>Indicates whether loads can be accessed externally</p> - </td> - </tr> - </table> - - <h2><a name="link4" id="link4">Public Methods</a></h2> - - <h3><a name="link5" id="link5">Constructors, Destructor, and - Related</a></h3> - - <table class="c1" width="100%" border="1" summary="Methods"> - <tr> - <td width="45%" align="left"><b>Method</b></td> - - <td width="55%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> - cc_hash_max_collision_check_resize_trigger - (float load = 0.5) -</pre> - </td> - - <td> - <p>Default constructor, or constructor taking - <span class="c1"><tt>load</tt></span>, a load factor - which it will attempt to maintain.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<b>void</b> - swap - (<span class= -"c2"><tt>cc_hash_max_collision_check_resize_trigger</tt></span> &other) -</pre> - </td> - - <td> - <p>Swaps content.</p> - </td> - </tr> - </table> - - <h3><a name="link6" id="link6">Load Access Methods</a></h3> - - <p>These methods are only available if the external access - parameter is set.</p> - - <table class="c1" width="100%" border="1" summary="Methods"> - <tr> - <td width="45%" align="left"><b>Method</b></td> - - <td width="55%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -<b>inline</b> float - get_load - () <b>const</b> -</pre> - </td> - - <td> - <p>Returns the current load.</p> - - <p>Calling this method will not compile when <a href= - "#External_Load_Access1313998607"><tt>External_Load_Access</tt></a> - == <tt><b>false</b></tt>.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<b>void</b> - set_load - (float load) -</pre> - </td> - - <td> - <p>Sets the <span class="c1"><tt>load</tt></span>; does - not resize the container.</p> - - <p>It is the responsibility of the user to pass an - appropriate <span class="c1"><tt>load</tt></span> to this - function. Calling this method will not compile when - <a href= - "#External_Load_Access1313998607"><tt>External_Load_Access</tt></a> - == <tt><b>false</b></tt>.</p> - </td> - </tr> - </table> - - <h2><a name="link7" id="link7">Protected Methods</a></h2> - - <h3><a name="link8" id="link8">Insert Search - Notifications.</a></h3> - - <p>Notifications called during an insert operation.</p> - - <table class="c1" width="100%" border="1" summary="Methods"> - <tr> - <td width="45%" align="left"><b>Method</b></td> - - <td width="55%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -<b>inline</b> <b>void</b> - notify_insert_search_start - () -</pre> - </td> - - <td> - <p>Notifies a search started.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<b>inline</b> <b>void</b> - notify_insert_search_collision - () -</pre> - </td> - - <td> - <p>Notifies a search encountered a collision.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<b>inline</b> <b>void</b> - notify_insert_search_end - () -</pre> - </td> - - <td> - <p>Notifies a search ended.</p> - </td> - </tr> - </table> - - <h3><a name="link9" id="link9">Find Search - Notifications.</a></h3> - - <p>Notifications called during a find operation.</p> - - <table class="c1" width="100%" border="1" summary="Methods"> - <tr> - <td width="45%" align="left"><b>Method</b></td> - - <td width="55%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -<b>inline</b> <b>void</b> - notify_find_search_start - () -</pre> - </td> - - <td> - <p>Notifies a search started.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<b>inline</b> <b>void</b> - notify_find_search_collision - () -</pre> - </td> - - <td> - <p>Notifies a search encountered a collision.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<b>inline</b> <b>void</b> - notify_find_search_end - () -</pre> - </td> - - <td> - <p>Notifies a search ended.</p> - </td> - </tr> - </table> - - <h3><a name="link10" id="link10">Erase Search - Notifications.</a></h3> - - <p>Notifications called during an insert operation.</p> - - <table class="c1" width="100%" border="1" summary="Methods"> - <tr> - <td width="45%" align="left"><b>Method</b></td> - - <td width="55%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -<b>inline</b> <b>void</b> - notify_erase_search_start - () -</pre> - </td> - - <td> - <p>Notifies a search started.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<b>inline</b> <b>void</b> - notify_erase_search_collision - () -</pre> - </td> - - <td> - <p>Notifies a search encountered a collision.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<b>inline</b> <b>void</b> - notify_erase_search_end - () -</pre> - </td> - - <td> - <p>Notifies a search ended.</p> - </td> - </tr> - </table> - - <h3><a name="link11" id="link11">Content Change - Notifications</a></h3> - - <p>Notifications called when the content of the table changes - in a way that can affect the resize policy.</p> - - <table class="c1" width="100%" border="1" summary="Methods"> - <tr> - <td width="45%" align="left"><b>Method</b></td> - - <td width="55%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -<b>inline</b> <b>void</b> - notify_inserted - (<a href="#size_type55424436"><tt>size_type</tt></a> num_entries) -</pre> - </td> - - <td> - <p>Notifies an element was inserted.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<b>inline</b> <b>void</b> - notify_erased - (<a href="#size_type55424436"><tt>size_type</tt></a> num_entries) -</pre> - </td> - - <td> - <p>Notifies an element was erased.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<b>void</b> - notify_cleared - () -</pre> - </td> - - <td> - <p>Notifies the table was cleared.</p> - </td> - </tr> - </table> - - <h3><a name="link12" id="link12">Size Change - Notifications</a></h3> - - <p>Notifications called when the table changes size.</p> - - <table class="c1" width="100%" border="1" summary="Methods"> - <tr> - <td width="45%" align="left"><b>Method</b></td> - - <td width="55%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -<b>void</b> - notify_resized - (<a href="#size_type55424436"><tt>size_type</tt></a> new_size) -</pre> - </td> - - <td> - <p>Notifies the table was resized as a result of this - object's signifying that a resize is needed.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<b>void</b> - notify_externally_resized - (<a href="#size_type55424436"><tt>size_type</tt></a> new_size) -</pre> - </td> - - <td> - <p>Notifies the table was resized externally.</p> - </td> - </tr> - </table> - - <h3><a name="link13" id="link13">Queries</a></h3> - - <p>Called to query whether/how to resize.</p> - - <table class="c1" width="100%" border="1" summary="Methods"> - <tr> - <td width="45%" align="left"><b>Method</b></td> - - <td width="55%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -<b>inline</b> <b>bool</b> - is_resize_needed - () <b>const</b> -</pre> - </td> - - <td> - <p>Queries whether a resize is needed.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<b>inline</b> <b>bool</b> - is_grow_needed - (<a href= -"#size_type55424436"><tt>size_type</tt></a> size, <a href= -"#size_type55424436"><tt>size_type</tt></a> num_entries) <b>const</b> -</pre> - </td> - - <td> - <p>Queries whether a grow is needed.</p> - - <p>This method is called only if this object indicated is - needed.</p> - </td> - </tr> - </table> - </div> -</body> -</html> diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/cc_hash_random_int_find_timing_test_gcc.png b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/cc_hash_random_int_find_timing_test_gcc.png Binary files differdeleted file mode 100644 index 85b9eca4f..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/cc_hash_random_int_find_timing_test_gcc.png +++ /dev/null diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/cc_hash_random_int_find_timing_test_local.png b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/cc_hash_random_int_find_timing_test_local.png Binary files differdeleted file mode 100644 index 4f578c65b..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/cc_hash_random_int_find_timing_test_local.png +++ /dev/null diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/cc_hash_random_int_find_timing_test_msvc.png b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/cc_hash_random_int_find_timing_test_msvc.png Binary files differdeleted file mode 100644 index d1234aa11..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/cc_hash_random_int_find_timing_test_msvc.png +++ /dev/null diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/cc_hash_random_int_subscript_timing_test_find_gcc.png b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/cc_hash_random_int_subscript_timing_test_find_gcc.png Binary files differdeleted file mode 100644 index 1db2cc0c6..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/cc_hash_random_int_subscript_timing_test_find_gcc.png +++ /dev/null diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/cc_hash_random_int_subscript_timing_test_find_local.png b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/cc_hash_random_int_subscript_timing_test_find_local.png Binary files differdeleted file mode 100644 index ca4db96f4..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/cc_hash_random_int_subscript_timing_test_find_local.png +++ /dev/null diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/cc_hash_random_int_subscript_timing_test_find_msvc.png b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/cc_hash_random_int_subscript_timing_test_find_msvc.png Binary files differdeleted file mode 100644 index 0b51d9432..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/cc_hash_random_int_subscript_timing_test_find_msvc.png +++ /dev/null diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/cc_hash_random_int_subscript_timing_test_insert_gcc.png b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/cc_hash_random_int_subscript_timing_test_insert_gcc.png Binary files differdeleted file mode 100644 index 6e4940381..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/cc_hash_random_int_subscript_timing_test_insert_gcc.png +++ /dev/null diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/cc_hash_random_int_subscript_timing_test_insert_local.png b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/cc_hash_random_int_subscript_timing_test_insert_local.png Binary files differdeleted file mode 100644 index 48fcf76c0..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/cc_hash_random_int_subscript_timing_test_insert_local.png +++ /dev/null diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/cc_hash_random_int_subscript_timing_test_insert_msvc.png b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/cc_hash_random_int_subscript_timing_test_insert_msvc.png Binary files differdeleted file mode 100644 index 39c96ad8d..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/cc_hash_random_int_subscript_timing_test_insert_msvc.png +++ /dev/null diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/cc_hash_table.html b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/cc_hash_table.html deleted file mode 100644 index 0557732a5..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/cc_hash_table.html +++ /dev/null @@ -1,724 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" - "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> -<head> - <meta name="generator" content= - "HTML Tidy for Linux/x86 (vers 12 April 2005), see www.w3.org" /> - - <title>cc_hash_table Interface</title> - <meta http-equiv="Content-Type" content= - "text/html; charset=us-ascii" /> - </head> - -<body> - <div id="page"> - <h1><tt>cc_hash_table</tt> Interface</h1> - - <p>A concrete collision-chaining hash-based associative - container.</p> - - <p>Defined in: <a href= - "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/include/ext/pb_ds/assoc_container.hpp"><tt>assoc_container.hpp</tt></a></p> - - <h2><a name="link1" id="link1">Template Parameters</a></h2> - - <table class="c1" width="100%" border="1" summary= - "Template Parameters"> - <tr> - <td width="20%" align="left"><b>Parameter</b></td> - - <td width="50%" align="left"><b>Description</b></td> - - <td width="30%" align="left"><b>Default Value</b></td> - </tr> - - <tr> - <td> - <pre> -<a name="Key2501" id="Key2501"><b>typename</b> Key</a> -</pre> - </td> - - <td> - <p>Key type.</p> - </td> - - <td>-</td> - </tr> - - <tr> - <td> - <pre> -<a name="Mapped318655" id="Mapped318655"><b>typename</b> Mapped</a> -</pre> - </td> - - <td> - <p>Mapped type.</p> - </td> - - <td>-</td> - </tr> - - <tr> - <td> - <pre> -<a name="Hash_Fn1515835" id= -"Hash_Fn1515835"><b>class</b> Hash_Fn </a> -</pre> - </td> - - <td> - <p>Hash functor.</p> - </td> - - <td> - <pre> -__gnu_cxx::hash<<a href="#Key2501"><tt>Key</tt></a>> -</pre>if using gcc; - <pre> -stdext::hash_value<<a href="#Key2501"><tt>Key</tt></a>> -</pre>if using Visual C++ .net - </td> - </tr> - - <tr> - <td> - <pre> -<a name="Eq_Fn60085" id="Eq_Fn60085"><b>class</b> Eq_Fn </a> -</pre> - </td> - - <td> - <p>Equivalence functor.</p> - </td> - - <td> - <pre> -std::equal_to<<a href="#Key2501"><tt>Key</tt></a>> -</pre> - </td> - </tr> - - <tr> - <td> - <pre> -<a name="Comb_Hash_Fn320611039" id= -"Comb_Hash_Fn320611039"><b>class</b> Comb_Hash_Fn </a> -</pre> - </td> - - <td> - <p>Combining hash functor.</p> - - <p>If <a href="#Hash_Fn1515835"><tt>Hash_Fn</tt></a> is - not <a href="null_hash_fn.html"><span class= - "c2"><tt>null_hash_fn</tt></span></a>, then this is the - ranged-hash functor; otherwise, this is the range-hashing - functor.</p> - - <p>(See <a href= - "hash_based_containers.html#hash_policies">Design::Hash-Based - Containers::Hash Policies</a>.)</p> - </td> - - <td> - <pre> -<a href="direct_mask_range_hashing.html"><span class= -"c2"><tt>direct_mask_range_hashing</tt></span></a> -</pre> - </td> - </tr> - - <tr> - <td> - <pre> -<a name="Resize_Policy566860465" id= -"Resize_Policy566860465"><b>class</b> Resize_Policy </a> -</pre> - </td> - - <td> - <p>Resize policy.</p> - </td> - - <td> - If <tt><a href= - "#Comb_Hash_Fn320611039"><tt>Comb_Hash_Fn</tt></a></tt> - is <tt><a href= - "direct_mask_range_hashing.html"><span class= - "c2"><tt>direct_mask_range_hashing</tt></span></a></tt>, - then - <pre> -<a href="hash_standard_resize_policy.html"><span class= -"c2"><tt>hash_standard_resize_policy</tt></span></a>< - <a href="hash_exponential_size_policy.html"><span class= -"c2"><tt>hash_exponential_size_policy</tt></span></a>< - <b>typename</b> <a href= -"#Comb_Hash_Fn320611039"><tt>Comb_Hash_Fn</tt></a>::size_type>, - <a href="hash_load_check_resize_trigger.html"><span class= -"c2"><tt>hash_load_check_resize_trigger</tt></span></a>< - <b>typename</b> <a href= -"#Comb_Hash_Fn320611039"><tt>Comb_Hash_Fn</tt></a>::size_type>, - <b>false</b>, - <b>typename</b> <a href= -"#Comb_Hash_Fn320611039"><tt>Comb_Hash_Fn</tt></a>::size_type> -</pre>otherwise, - <pre> -<a href="hash_standard_resize_policy.html"><span class= -"c2"><tt>hash_standard_resize_policy</tt></span></a>< - <a href="hash_exponential_size_policy.html"><span class= -"c2"><tt>hash_exponential_size_policy</tt></span></a>< - <b>typename</b> <a href= -"#Comb_Hash_Fn320611039"><tt>Comb_Hash_Fn</tt></a>::size_type>, - <a href="hash_load_check_resize_trigger.html"><span class= -"c2"><tt>hash_load_check_resize_trigger</tt></span></a>< - <b>typename</b> <a href= -"#Comb_Hash_Fn320611039"><tt>Comb_Hash_Fn</tt></a>::size_type>, - <b>false</b>, - <b>typename</b> <a href= -"#Comb_Hash_Fn320611039"><tt>Comb_Hash_Fn</tt></a>::size_type> -</pre> - </td> - </tr> - - <tr> - <td> - <pre> -<a name="Store_Hash218262104" id= -"Store_Hash218262104"><b>bool</b> Store_Hash </a> -</pre> - </td> - - <td> - <p>Indicates whether the hash value will be stored along - with each key.</p> - - <p>If <tt><a href= - "#hash_fn2015995"><tt>hash_fn</tt></a></tt> is <a href= - "null_hash_fn.html"><span class= - "c2"><tt>null_hash_fn</tt></span></a>, then the container - will not compile if this value is - <tt><b>true</b></tt></p> - </td> - - <td> - <pre> -<tt><b>false</b></tt> -</pre> - </td> - </tr> - - <tr> - <td> - <pre> -<a name="Allocator35940069" id= -"Allocator35940069"><b>class</b> Allocator </a> -</pre> - </td> - - <td> - <p>Allocator type.</p> - </td> - - <td> - <pre> -std::allocator<<b>char</b>> -</pre> - </td> - </tr> - </table> - - <h2><a name="link2" id="link2">Base Classes</a></h2> - - <table class="c1" width="100%" border="1" summary="Bases"> - <tr> - <td width="80%" align="left"><b>Class</b></td> - - <td width="20%" align="left"><b>Derivation Type</b></td> - </tr> - - <tr> - <td> - <pre> -<a href="basic_hash_table.html"><span class= -"c2"><tt>basic_hash_table</tt></span></a> -</pre> - </td> - - <td> - <p>public</p> - </td> - </tr> - </table> - - <h2><a name="link3" id="link3">Public Types and - Constants</a></h2> - - <h3><a name="link4" id="link4">Policy Definitions</a></h3> - - <table class="c1" width="100%" border="1" summary="Types"> - <tr> - <td width="30%" align="left"><b>Type</b></td> - - <td width="55%" align="left"><b>Definition</b></td> - - <td width="15%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -<a name="hash_fn2015995" id="hash_fn2015995">hash_fn</a> -</pre> - </td> - - <td> - <pre> -<a href="#Hash_Fn1515835"><tt>Hash_Fn</tt></a> -</pre> - </td> - - <td> - <p>Hash functor type.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<a name="eq_fn80245" id="eq_fn80245">eq_fn</a> -</pre> - </td> - - <td> - <pre> -<a href="#Eq_Fn60085"><tt>Eq_Fn</tt></a> -</pre> - </td> - - <td> - <p>Equivalence functor type.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<a name="resize_policy4084493169" id= -"resize_policy4084493169">resize_policy</a> -</pre> - </td> - - <td> - <pre> -<a href="#Resize_Policy566860465"><tt>Resize_Policy</tt></a> -</pre> - </td> - - <td> - <p>Resize policy type.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<a name="comb_hash_fn1883611199" id= -"comb_hash_fn1883611199">comb_hash_fn</a> -</pre> - </td> - - <td> - <pre> -<a href="#Comb_Hash_Fn320611039"><tt>Comb_Hash_Fn</tt></a> -</pre> - </td> - - <td> - <p>Combining hash functor type.</p> - </td> - </tr> - </table> - - <h2><a name="link5" id="link5">Public Methods</a></h2> - - <h3><a name="link6" id="link6">Constructors, Destructor, and - Related</a></h3> - - <table class="c1" width="100%" border="1" summary="Methods"> - <tr> - <td width="45%" align="left"><b>Method</b></td> - - <td width="55%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> - cc_hash_table - () -</pre> - </td> - - <td> - <p>Default constructor.</p> - </td> - </tr> - - <tr> - <td> - <pre> - cc_hash_table - (<b>const</b> <a href= -"#hash_fn2015995"><tt>hash_fn</tt></a> &r_hash_fn) -</pre> - </td> - - <td> - <p>Constructor taking some policy objects. <span class= - "c1"><tt>r_hash_fn</tt></span> will be copied by the - <a href="#Hash_Fn1515835"><tt>Hash_Fn</tt></a> object of - the container object.</p> - </td> - </tr> - - <tr> - <td> - <pre> - cc_hash_table - (<b>const</b> <a href= -"#hash_fn2015995"><tt>hash_fn</tt></a> &r_hash_fn, - <b>const</b> <a href= -"#eq_fn80245"><tt>eq_fn</tt></a> &r_eq_fn) -</pre> - </td> - - <td> - <p>Constructor taking some policy objects. <span class= - "c1"><tt>r_hash_fn</tt></span> will be copied by the - <a href="#hash_fn2015995"><tt>hash_fn</tt></a> object of - the container object, and <span class= - "c1"><tt>r_eq_fn</tt></span> will be copied by the - <a href="#eq_fn80245"><tt>eq_fn</tt></a> object of the - container object.</p> - </td> - </tr> - - <tr> - <td> - <pre> - cc_hash_table - (<b>const</b> <a href= -"#hash_fn2015995"><tt>hash_fn</tt></a> &r_hash_fn, - <b>const</b> <a href= -"#eq_fn80245"><tt>eq_fn</tt></a> &r_eq_fn, - <b>const</b> <a href= -"#comb_hash_fn1883611199"><tt>comb_hash_fn</tt></a> &r_comb_hash_fn) -</pre> - </td> - - <td> - <p>Constructor taking some policy objects. <span class= - "c1"><tt>r_hash_fn</tt></span> will be copied by the - <a href="#hash_fn2015995"><tt>hash_fn</tt></a> object of - the container object, <span class= - "c1"><tt>r_eq_fn</tt></span> will be copied by the - <a href="#eq_fn80245"><tt>eq_fn</tt></a> object of the - container object, and <span class= - "c1"><tt>r_comb_hash_fn</tt></span> will be copied by the - <a href= - "#comb_hash_fn1883611199"><tt>comb_hash_fn</tt></a> - object of the container object.</p> - </td> - </tr> - - <tr> - <td> - <pre> - cc_hash_table - (<b>const</b> <a href= -"#hash_fn2015995"><tt>hash_fn</tt></a> &r_hash_fn, - <b>const</b> <a href= -"#eq_fn80245"><tt>eq_fn</tt></a> &r_eq_fn, - <b>const</b> <a href= -"#comb_hash_fn1883611199"><tt>comb_hash_fn</tt></a> &r_comb_hash_fn, - <b>const</b> <a href= -"#resize_policy4084493169"><tt>resize_policy</tt></a> &r_resize_policy) -</pre> - </td> - - <td> - <p>Constructor taking some policy objects. <span class= - "c1"><tt>r_hash_fn</tt></span> will be copied by the - <a href="#hash_fn2015995"><tt>hash_fn</tt></a> object of - the container object, <span class= - "c1"><tt>r_eq_fn</tt></span> will be copied by the - <a href="#eq_fn80245"><tt>eq_fn</tt></a> object of the - container object, <span class= - "c1"><tt>r_comb_hash_fn</tt></span> will be copied by the - <a href= - "#comb_hash_fn1883611199"><tt>comb_hash_fn</tt></a> - object of the container object, and <span class= - "c1"><tt>r_resize_policy</tt></span> will be copied by - the <a href= - "#resize_policy4084493169"><tt>resize_policy</tt></a> - object of the container object.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<b>template</b>< - <b>class</b> It> - cc_hash_table - (It first_it, - It last_it) -</pre> - </td> - - <td> - <p>Constructor taking iterators to a range of - value_types. The value_types between <span class= - "c1"><tt>first_it</tt></span> and <span class= - "c1"><tt>last_it</tt></span> will be inserted into the - container object.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<b>template</b>< - <b>class</b> It> - cc_hash_table - (It first_it, - It last_it, - <b>const</b> <a href= -"#hash_fn2015995"><tt>hash_fn</tt></a> &r_hash_fn) -</pre> - </td> - - <td> - <p>Constructor taking iterators to a range of value_types - and some policy objects. The value_types between - <span class="c1"><tt>first_it</tt></span> and - <span class="c1"><tt>last_it</tt></span> will be inserted - into the container object.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<b>template</b>< - <b>class</b> It> - cc_hash_table - (It first_it, - It last_it, - <b>const</b> <a href= -"#hash_fn2015995"><tt>hash_fn</tt></a> &r_hash_fn, - <b>const</b> <a href= -"#eq_fn80245"><tt>eq_fn</tt></a> &r_eq_fn) -</pre> - </td> - - <td> - <p>Constructor taking iterators to a range of value_types - and some policy objects The value_types between - <span class="c1"><tt>first_it</tt></span> and - <span class="c1"><tt>last_it</tt></span> will be inserted - into the container object. <span class= - "c1"><tt>r_hash_fn</tt></span> will be copied by the - <a href="#hash_fn2015995"><tt>hash_fn</tt></a> object of - the container object, and <span class= - "c1"><tt>r_eq_fn</tt></span> will be copied by the - <a href="#eq_fn80245"><tt>eq_fn</tt></a> object of the - container object.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<b>template</b>< - <b>class</b> It> - cc_hash_table - (It first_it, - It last_it, - <b>const</b> <a href= -"#hash_fn2015995"><tt>hash_fn</tt></a> &r_hash_fn, - <b>const</b> <a href= -"#eq_fn80245"><tt>eq_fn</tt></a> &r_eq_fn, - <b>const</b> <a href= -"#comb_hash_fn1883611199"><tt>comb_hash_fn</tt></a> &r_comb_hash_fn) -</pre> - </td> - - <td> - <p>Constructor taking iterators to a range of value_types - and some policy objects The value_types between - <span class="c1"><tt>first_it</tt></span> and - <span class="c1"><tt>last_it</tt></span> will be inserted - into the container object. <span class= - "c1"><tt>r_hash_fn</tt></span> will be copied by the - <a href="#hash_fn2015995"><tt>hash_fn</tt></a> object of - the container object, <span class= - "c1"><tt>r_eq_fn</tt></span> will be copied by the - <a href="#eq_fn80245"><tt>eq_fn</tt></a> object of the - container object, and <span class= - "c1"><tt>r_comb_hash_fn</tt></span> will be copied by the - <a href= - "#comb_hash_fn1883611199"><tt>comb_hash_fn</tt></a> - object of the container object.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<b>template</b>< - <b>class</b> It> - cc_hash_table - (It first_it, - It last_it, - <b>const</b> <a href= -"#hash_fn2015995"><tt>hash_fn</tt></a> &r_hash_fn, - <b>const</b> <a href= -"#eq_fn80245"><tt>eq_fn</tt></a> &r_eq_fn, - <b>const</b> <a href= -"#comb_hash_fn1883611199"><tt>comb_hash_fn</tt></a> &r_comb_hash_fn, - <b>const</b> <a href= -"#resize_policy4084493169"><tt>resize_policy</tt></a> &r_resize_policy) -</pre> - </td> - - <td> - <p>Constructor taking iterators to a range of value_types - and some policy objects The value_types between - <span class="c1"><tt>first_it</tt></span> and - <span class="c1"><tt>last_it</tt></span> will be inserted - into the container object. <span class= - "c1"><tt>r_hash_fn</tt></span> will be copied by the - <a href="#hash_fn2015995"><tt>hash_fn</tt></a> object of - the container object, <span class= - "c1"><tt>r_eq_fn</tt></span> will be copied by the - <a href="#eq_fn80245"><tt>eq_fn</tt></a> object of the - container object, <span class= - "c1"><tt>r_comb_hash_fn</tt></span> will be copied by the - <a href= - "#comb_hash_fn1883611199"><tt>comb_hash_fn</tt></a> - object of the container object, and <span class= - "c1"><tt>r_resize_policy</tt></span> will be copied by - the <a href= - "#resize_policy4084493169"><tt>resize_policy</tt></a> - object of the container object.</p> - </td> - </tr> - - <tr> - <td> - <pre> - cc_hash_table - (<b>const</b> <span class= -"c2"><tt>cc_hash_table</tt></span> &other) -</pre> - </td> - - <td> - <p>Copy constructor.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<b>virtual</b> - ~cc_hash_table - () -</pre> - </td> - - <td> - <p>Destructor.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<span class="c2"><tt>cc_hash_table</tt></span> & - <b>operator</b>= - (<b>const</b> <span class= -"c2"><tt>cc_hash_table</tt></span> &other) -</pre> - </td> - - <td> - <p>Assignment operator.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<b>void</b> - swap - (<span class= -"c2"><tt>cc_hash_table</tt></span> &other) -</pre> - </td> - - <td> - <p>Swaps content.</p> - </td> - </tr> - </table> - - <h3><a name="link7" id="link7">Policy Access Methods</a></h3> - - <table class="c1" width="100%" border="1" summary="Methods"> - <tr> - <td width="45%" align="left"><b>Method</b></td> - - <td width="55%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -<a href="#comb_hash_fn1883611199"><tt>comb_hash_fn</tt></a> & - get_comb_hash_fn - () -</pre> - </td> - - <td> - <p>Access to the <a href= - "#comb_hash_fn1883611199"><tt>comb_hash_fn</tt></a> - object.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<b>const</b> <a href= -"#comb_hash_fn1883611199"><tt>comb_hash_fn</tt></a> & - get_comb_hash_fn - () <b>const</b> -</pre> - </td> - - <td> - <p>Const access to the <a href= - "#comb_hash_fn1883611199"><tt>comb_hash_fn</tt></a> - object.</p> - </td> - </tr> - </table> - </div> -</body> -</html> diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/cc_hash_tag.html b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/cc_hash_tag.html deleted file mode 100644 index 1923e20fb..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/cc_hash_tag.html +++ /dev/null @@ -1,47 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" - "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> -<head> - <meta name="generator" content= - "HTML Tidy for Linux/x86 (vers 12 April 2005), see www.w3.org" /> - - <title>cc_hash_tag Interface</title> - <meta http-equiv="Content-Type" content= - "text/html; charset=us-ascii" /> - </head> - -<body> - <div id="page"> - <h1><tt>cc_hash_tag</tt> Interface</h1> - - <p>Collision-chaining hash data structure tag.</p> - - <p>Defined in: <a href= - "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/include/ext/pb_ds/tag_and_trait.hpp"><tt>tag_and_trait.hpp</tt></a></p> - - <h2><a name="link1" id="link1">Base Classes</a></h2> - - <table class="c1" width="100%" border="1" summary="Bases"> - <tr> - <td width="80%" align="left"><b>Class</b></td> - - <td width="20%" align="left"><b>Derivation Type</b></td> - </tr> - - <tr> - <td> - <pre> -<a href="basic_hash_tag.html"><span class= -"c2"><tt>basic_hash_tag</tt></span></a> -</pre> - </td> - - <td> - <p>public</p> - </td> - </tr> - </table> - </div> -</body> -</html> diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/ccgp_hash_random_int_subscript_timing_test_insert_gcc.png b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/ccgp_hash_random_int_subscript_timing_test_insert_gcc.png Binary files differdeleted file mode 100644 index fde6b41bf..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/ccgp_hash_random_int_subscript_timing_test_insert_gcc.png +++ /dev/null diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/ccgp_hash_random_int_subscript_timing_test_insert_local.png b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/ccgp_hash_random_int_subscript_timing_test_insert_local.png Binary files differdeleted file mode 100644 index 2449e1de3..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/ccgp_hash_random_int_subscript_timing_test_insert_local.png +++ /dev/null diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/ccgp_hash_random_int_subscript_timing_test_insert_msvc.png b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/ccgp_hash_random_int_subscript_timing_test_insert_msvc.png Binary files differdeleted file mode 100644 index 11dca77fc..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/ccgp_hash_random_int_subscript_timing_test_insert_msvc.png +++ /dev/null diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/checked_by_tidy.gif b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/checked_by_tidy.gif Binary files differdeleted file mode 100644 index 47c2c4859..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/checked_by_tidy.gif +++ /dev/null diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/concepts.html b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/concepts.html deleted file mode 100644 index 9f6c22462..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/concepts.html +++ /dev/null @@ -1,118 +0,0 @@ -<!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" xml:lang="en" lang="en"> -<head> - <meta name="generator" content= - "HTML Tidy for Linux/x86 (vers 12 April 2005), see www.w3.org" /> - - <title>Concepts</title> - <meta http-equiv="Content-Type" content= - "text/html; charset=us-ascii" /> - </head> - -<body> - <div id="page"> - <h1>Concepts</h1> - - <h2><a name="concepts_find_and_range_iterators" id= - "concepts_find_and_range_iterators">Point and Range Methods and - Iterators</a></h2> - - <p>A point-type iterator is an iterator that refers to a - specific element, <i>e.g.</i> as returned through an - associative-container's <tt>find</tt> method; a range-type - iterator is an iterator that is used to go over a sequence of - elements, <i>e.g.</i>, as returned by a container's - <tt>find</tt> method. A point-type method is a method that - returns a point-type iterator; a range-type method is a method - that returns a range-type iterator.</p> - - <p>For most containers, these types are synonymous; for - self-organizing containers, such as hash-based containers or - priority queues, these are inherently different (in any - implementation, including that of the STL), but in - <tt>pb_ds</tt> this is made explicit - they are distinct - types.</p> - - - <h2><a name="invalidation_guarantees" id= - "invalidation_guarantees">Invalidation Guarantees</a></h2> - - <p>If one manipulates a container object, then iterators - previously obtained from it can be invalidated. In some cases a - previously-obtained iterator cannot be de-referenced; in other - cases, the iterator's next or previous element might have - changed unpredictably. This corresponds exactly to the question - whether a point-type or range-type iterator (see previous - concept) is valid or not. In <tt>pb_ds</tt> one can query a - container (in compile time) what are its invalidation - guarantees.</p> - - <h2><a name="prm_sec" id="prm_sec">Primary and Secondary Keys - and Associative Containers</a></h2> - - <p>In <tt>pb_ds</tt> there are no associative containers which - allow multiple values with equivalent keys (such as the STL's - <tt>std::multimap</tt>, for example). Instead, one maps the - unique part of a key - the primary key, into an - associative-container of the (originally) non-unique parts of - the key - the secondary key. A primary associative-container is - an associative container of primary keys; a secondary - associative-container is an associative container of secondary - keys.</p> - - - <h2><a name="concepts_null_policies" id= - "concepts_null_policies">Null Policy Classes</a></h2> - - <p>Associative containers are typically parametrized by - various policies. For example, a hash-based associative - container is parametrized by a hash-functor, transforming each - key into an non-negative numerical type. Each such value is - then further mapped into a position within the table. The - mapping of a key into a position within the table is therefore - a two-step process.</p> - - <p>In some cases, instantiations are <i>redundant</i>. For - example, when the keys are integers, it is possible to use a - <i>redundant</i> hash policy, which transforms each key into - its value.</p> - - <p>In some other cases, these policies are <i>irrelevant</i>. - For example, a hash-based associative container might transform - keys into positions within a table by a different method than - the two-step method described above. In such a case, the hash - functor is simply irrelevant.</p> - - <p><tt>pb_ds</tt> uses special pre-defined "null policies" - classes for these cases. Some null policies in <tt>pb_ds</tt> - are:</p> - - <ol> - <li><a href= - "null_mapped_type.html"><tt>null_mapped_type</tt></a></li> - - <li><a href= - "null_tree_node_update.html"><tt>null_tree_node_update</tt></a></li> - - <li><a href= - "null_trie_node_update.html"><tt>null_trie_node_update</tt></a></li> - - <li><a href= - "null_hash_fn.html"><tt>null_hash_fn</tt></a></li> - - <li><a href= - "null_probe_fn.html"><tt>null_probe_fn</tt></a></li> - </ol> - - <p>A "set" in <tt>pb_ds</tt>, for example, is an associative - container with its <tt>Data_Parameter</tt> instantiated by - <a href="null_mapped_type.html"><tt>null_mapped_type</tt></a>. - <a href= - "tree_based_containers.html#invariants">Design::Tree-Based - Containers::Node Invariants</a> explains another case where a - null policy is needed.</p> - </div> -</body> -</html> diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/contact.html b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/contact.html deleted file mode 100644 index 3d506c975..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/contact.html +++ /dev/null @@ -1,22 +0,0 @@ -<!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" xml:lang="en" lang="en"> -<head> - <meta name="generator" content= - "HTML Tidy for Linux/x86 (vers 12 April 2005), see www.w3.org" /> - - <title>Contact</title> - <meta http-equiv="Content-Type" content= - "text/html; charset=us-ascii" /> - </head> - -<body> - <div id="page"> - <h1>Contact</h1> - - <p>For anything relevant, please write to <a href= - "mailto:pbassoc@gmail.com">pbassoc@gmail.com</a></p> - </div> -</body> -</html> diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/container_base.html b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/container_base.html deleted file mode 100644 index 359e02459..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/container_base.html +++ /dev/null @@ -1,1063 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" - "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> -<head> - <meta name="generator" content= - "HTML Tidy for Linux/x86 (vers 12 April 2005), see www.w3.org" /> - - <title>container_base Interface</title> - <meta http-equiv="Content-Type" content= - "text/html; charset=us-ascii" /> - </head> - -<body> - <div id="page"> - <h1><tt>container_base</tt> Interface</h1> - - <p>An abstract basic associative container.</p> - - <p>Defined in: <a href= - "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/include/ext/pb_ds/assoc_container.hpp"><tt>assoc_container.hpp</tt></a></p> - - <h2><a name="link1" id="link1">Template Parameters</a></h2> - - <table class="c1" width="100%" border="1" summary= - "Template Parameters"> - <tr> - <td width="20%" align="left"><b>Parameter</b></td> - - <td width="50%" align="left"><b>Description</b></td> - - <td width="30%" align="left"><b>Default Value</b></td> - </tr> - - <tr> - <td> - <pre> -<a name="Key2501" id="Key2501"><b>typename</b> Key</a> -</pre> - </td> - - <td> - <p>Key type.</p> - </td> - - <td>-</td> - </tr> - - <tr> - <td> - <pre> -<a name="Mapped318655" id="Mapped318655"><b>typename</b> Mapped</a> -</pre> - </td> - - <td> - <p>Mapped type.</p> - </td> - - <td>-</td> - </tr> - - <tr> - <td> - <pre> -<a name="Tag278938" id="Tag278938"><b>class</b> Tag</a> -</pre> - </td> - - <td> - <p>Data structure tag.</p> - </td> - - <td>-</td> - </tr> - - <tr> - <td> - <pre> -<a name="Policy_Tl42017403" id= -"Policy_Tl42017403"><b>class</b> Policy_Tl</a> -</pre> - </td> - - <td> - <p>Policy typelist.</p> - - <p>Contains subclasses' policies.</p> - </td> - - <td>-</td> - </tr> - - <tr> - <td> - <pre> -<a name="Allocator35940069" id= -"Allocator35940069"><b>class</b> Allocator</a> -</pre> - </td> - - <td> - <p>Allocator type.</p> - </td> - - <td>-</td> - </tr> - </table> - - <h2><a name="link2" id="link2">Public Types and - Constants</a></h2> - - <h3><a name="link3" id="link3">General Container - Definitions</a></h3> - - <table class="c1" width="100%" border="1" summary="Types"> - <tr> - <td width="30%" align="left"><b>Type</b></td> - - <td width="55%" align="left"><b>Definition</b></td> - - <td width="15%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -<a name="size_type55424436" id="size_type55424436">size_type</a> -</pre> - </td> - - <td> - <pre> -<b>typename</b> <a href= -"#Allocator35940069"><tt>Allocator</tt></a>::size_type -</pre> - </td> - - <td> - <p>Size type.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<a name="difference_type868028452" id= -"difference_type868028452">difference_type</a> -</pre> - </td> - - <td> - <pre> -<b>typename</b> <a href= -"#Allocator35940069"><tt>Allocator</tt></a>::difference_type -</pre> - </td> - - <td> - <p>Difference type.</p> - </td> - </tr> - </table> - - <h3><a name="link4" id="link4">Categories</a></h3> - - <table class="c1" width="100%" border="1" summary="Types"> - <tr> - <td width="30%" align="left"><b>Type</b></td> - - <td width="55%" align="left"><b>Definition</b></td> - - <td width="15%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -<a name="container_category1247973216" id= -"container_category1247973216">container_category</a> -</pre> - </td> - - <td> - <pre> -<a href="#Tag278938"><tt>Tag</tt></a> -</pre> - </td> - - <td> - <p>The underlying mapped-structure tag of the - container.</p> - - <p>This is one of:</p> - - <ol> - <li><a href="cc_hash_tag.html"><span class= - "c2"><tt>cc_hash_tag</tt></span></a></li> - - <li><a href="gp_hash_tag.html"><span class= - "c2"><tt>gp_hash_tag</tt></span></a></li> - - <li><a href="rb_tree_tag.html"><span class= - "c2"><tt>rb_tree_tag</tt></span></a></li> - - <li><a href="ov_tree_tag.html"><span class= - "c2"><tt>ov_tree_tag</tt></span></a></li> - - <li><a href="splay_tree_tag.html"><span class= - "c2"><tt>splay_tree_tag</tt></span></a></li> - - <li><a href="pat_trie_tag.html"><span class= - "c2"><tt>pat_trie_tag</tt></span></a></li> - - <li><a href="list_update_tag.html"><span class= - "c2"><tt>list_update_tag</tt></span></a></li> - </ol> - </td> - </tr> - </table> - - <h3><a name="link5" id="link5">Policy Definitions</a></h3> - - <table class="c1" width="100%" border="1" summary="Types"> - <tr> - <td width="30%" align="left"><b>Type</b></td> - - <td width="55%" align="left"><b>Definition</b></td> - - <td width="15%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -<a name="allocator48440069" id="allocator48440069">allocator</a> -</pre> - </td> - - <td> - <pre> -<a href="#Allocator35940069"><tt>Allocator</tt></a> -</pre> - </td> - - <td> - <p><a href="#Allocator35940069"><tt>Allocator</tt></a> - type.</p> - </td> - </tr> - </table> - - <h3><a name="link6" id="link6">Key-Type Definitions</a></h3> - - <table class="c1" width="100%" border="1" summary="Types"> - <tr> - <td width="30%" align="left"><b>Type</b></td> - - <td width="55%" align="left"><b>Definition</b></td> - - <td width="15%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -<a name="key_type10393186" id="key_type10393186">key_type</a> -</pre> - </td> - - <td> - <pre> -<b>typename</b> <a href= -"#allocator48440069"><tt>allocator</tt></a>::<b>template</b> rebind< - <a href="#Key2501"><tt>Key</tt></a>>::other::value_type -</pre> - </td> - - <td> - <p><a href="#Key2501"><tt>Key</tt></a> type.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<a name="key_reference2411522399" id= -"key_reference2411522399">key_reference</a> -</pre> - </td> - - <td> - <pre> -<b>typename</b> <a href= -"#allocator48440069"><tt>allocator</tt></a>::<b>template</b> rebind< - <a href= -"#key_type10393186"><tt>key_type</tt></a>>::other::reference -</pre> - </td> - - <td> - <p><a href="#Key2501"><tt>Key</tt></a> reference - type.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<a name="const_key_reference3185471705" id= -"const_key_reference3185471705">const_key_reference</a> -</pre> - </td> - - <td> - <pre> -<b>typename</b> <a href= -"#allocator48440069"><tt>allocator</tt></a>::<b>template</b> rebind< - <a href= -"#key_type10393186"><tt>key_type</tt></a>>::other::const_reference -</pre> - </td> - - <td> - <p>Const key reference type.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<a name="key_pointer1299054769" id= -"key_pointer1299054769">key_pointer</a> -</pre> - </td> - - <td> - <pre> -<b>typename</b> <a href= -"#allocator48440069"><tt>allocator</tt></a>::<b>template</b> rebind< - <a href= -"#key_type10393186"><tt>key_type</tt></a>>::other::pointer -</pre> - </td> - - <td> - <p><a href="#Key2501"><tt>Key</tt></a> pointer type.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<a name="const_key_pointer3735194427" id= -"const_key_pointer3735194427">const_key_pointer</a> -</pre> - </td> - - <td> - <pre> -<b>typename</b> <a href= -"#allocator48440069"><tt>allocator</tt></a>::<b>template</b> rebind< - <a href= -"#key_type10393186"><tt>key_type</tt></a>>::other::const_pointer -</pre> - </td> - - <td> - <p>Const key pointer type.</p> - </td> - </tr> - </table> - - <h3><a name="link7" id="link7">Mapped-Type Definitions</a></h3> - - <table class="c1" width="100%" border="1" summary="Types"> - <tr> - <td width="30%" align="left"><b>Type</b></td> - - <td width="55%" align="left"><b>Definition</b></td> - - <td width="15%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -<a name="mapped_type1308374436" id= -"mapped_type1308374436">mapped_type</a> -</pre> - </td> - - <td> - <pre> -<a href="#Mapped318655"><tt>Mapped</tt></a> -</pre> - </td> - - <td> - <p><a href="#Mapped318655"><tt>Mapped</tt></a> type.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<a name="mapped_reference4153801225" id= -"mapped_reference4153801225">mapped_reference</a> -</pre> - </td> - - <td> - <pre> -<b>typename</b> <a href= -"#allocator48440069"><tt>allocator</tt></a>::<b>template</b> rebind< - <a href= -"#mapped_type1308374436"><tt>mapped_type</tt></a>>::other::reference -</pre> - </td> - - <td> - <p><a href="#Mapped318655"><tt>Mapped</tt></a> reference - type.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<a name="const_mapped_reference2113216667" id= -"const_mapped_reference2113216667">const_mapped_reference</a> -</pre> - </td> - - <td> - <pre> -<b>typename</b> <a href= -"#allocator48440069"><tt>allocator</tt></a>::<b>template</b> rebind< - <a href= -"#mapped_type1308374436"><tt>mapped_type</tt></a>>::other::const_reference -</pre> - </td> - - <td> - <p>Const mapped reference type.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<a name="mapped_pointer337953771" id= -"mapped_pointer337953771">mapped_pointer</a> -</pre> - </td> - - <td> - <pre> -<b>typename</b> <a href= -"#allocator48440069"><tt>allocator</tt></a>::<b>template</b> rebind< - <a href= -"#mapped_type1308374436"><tt>mapped_type</tt></a>>::other::pointer -</pre> - </td> - - <td> - <p><a href="#Mapped318655"><tt>Mapped</tt></a> pointer - type.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<a name="const_mapped_pointer4207700301" id= -"const_mapped_pointer4207700301">const_mapped_pointer</a> -</pre> - </td> - - <td> - <pre> -<b>typename</b> <a href= -"#allocator48440069"><tt>allocator</tt></a>::<b>template</b> rebind< - <a href= -"#mapped_type1308374436"><tt>mapped_type</tt></a>>::other::const_pointer -</pre> - </td> - - <td> - <p>Const mapped pointer type.</p> - </td> - </tr> - </table> - - <h3><a name="link8" id="link8">Value-Type Definitions</a></h3> - - <table class="c1" width="100%" border="1" summary="Types"> - <tr> - <td width="30%" align="left"><b>Type</b></td> - - <td width="55%" align="left"><b>Definition</b></td> - - <td width="15%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -<a name="value_type279018186" id= -"value_type279018186">value_type</a> -</pre> - </td> - - <td> - <pre> -<br /> -If <a href="#Mapped318655"><tt>Mapped</tt></a> is <a href= -"null_mapped_type.html"><span class= -"c2"><tt>null_mapped_type</tt></span></a>, then <a href= -"#Key2501"><tt>Key</tt></a><br /> -Otherwise, <a href="#Mapped318655"><tt>Mapped</tt></a> -</pre> - </td> - - <td> - <p>Value type.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<a name="reference54418471" id="reference54418471">reference</a> -</pre> - </td> - - <td> - <pre> -<b>typename</b> <a href= -"#allocator48440069"><tt>allocator</tt></a>::<b>template</b> rebind< - <a href= -"#value_type279018186"><tt>value_type</tt></a>>::other::reference -</pre> - </td> - - <td> - <p>Value reference type.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<a name="const_reference495461441" id= -"const_reference495461441">const_reference</a> -</pre> - </td> - - <td> - <pre> -<b>typename</b> <a href= -"#allocator48440069"><tt>allocator</tt></a>::<b>template</b> rebind< - <a href= -"#value_type279018186"><tt>value_type</tt></a>>::other::const_reference -</pre> - </td> - - <td> - <p>Const value <a href= - "#reference54418471"><tt>reference</tt></a> type.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<a name="pointer2179769" id="pointer2179769">pointer</a> -</pre> - </td> - - <td> - <pre> -<b>typename</b> <a href= -"#allocator48440069"><tt>allocator</tt></a>::<b>template</b> rebind< - <a href= -"#value_type279018186"><tt>value_type</tt></a>>::other::pointer -</pre> - </td> - - <td> - <p>Value pointer type.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<a name="const_pointer878814947" id= -"const_pointer878814947">const_pointer</a> -</pre> - </td> - - <td> - <pre> -<b>typename</b> <a href= -"#allocator48440069"><tt>allocator</tt></a>::<b>template</b> rebind< - <a href= -"#value_type279018186"><tt>value_type</tt></a>>::other::const_pointer -</pre> - </td> - - <td> - <p>Const Value <a href= - "#pointer2179769"><tt>pointer</tt></a> type.</p> - </td> - </tr> - </table> - - <h3><a name="link9" id="link9">Iterator Definitions</a></h3> - - <table class="c1" width="100%" border="1" summary="Types"> - <tr> - <td width="30%" align="left"><b>Type</b></td> - - <td width="55%" align="left"><b>Definition</b></td> - - <td width="15%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -<a name="const_point_iterator2364676009" id= -"const_point_iterator2364676009">const_point_iterator</a> -</pre> - </td> - - <td> - <pre> -Const point-type iterator. -</pre> - </td> - - <td> - <p>Const point-type iterator.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<a name="point_iterator2789896775" id= -"point_iterator2789896775">point_iterator</a> -</pre> - </td> - - <td> - <pre> -<br /> -Point-type iterator.<br /> -If <a href="#Mapped318655"><tt>Mapped</tt></a> is <a href= -"null_mapped_type.html"><span class= -"c2"><tt>null_mapped_type</tt></span></a>, then this is synonymous to <a href="#const_point_iterator2364676009"><tt>const_point_iterator</tt></a> -</pre> - </td> - - <td> - <p>Point-type iterator.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<a name="const_iterator98626788" id= -"const_iterator98626788">const_iterator</a> -</pre> - </td> - - <td> - <pre> -Const range-type iterator. -</pre> - </td> - - <td> - <p>Const range-type iterator.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<a name="iterator10418194" id="iterator10418194">iterator</a> -</pre> - </td> - - <td> - <pre> -<br /> -Range-type iterator.<br /> -If <a href="#Mapped318655"><tt>Mapped</tt></a> is <a href= -"null_mapped_type.html"><span class= -"c2"><tt>null_mapped_type</tt></span></a>, then this is synonymous to <a href="#const_iterator98626788"><tt>const_iterator</tt></a> -</pre> - </td> - - <td> - <p>Range-type iterator.</p> - </td> - </tr> - </table> - - <h2><a name="link10" id="link10">Public Methods</a></h2> - - <h3><a name="link11" id="link11">Constructors, Destructor, and - Related</a></h3> - - <table class="c1" width="100%" border="1" summary="Methods"> - <tr> - <td width="45%" align="left"><b>Method</b></td> - - <td width="55%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -<b>virtual</b> - ~container_base - () -</pre> - </td> - - <td> - <p>Destructor.</p> - </td> - </tr> - </table> - - <h3><a name="link12" id="link12">Information Methods</a></h3> - - <table class="c1" width="100%" border="1" summary="Methods"> - <tr> - <td width="45%" align="left"><b>Method</b></td> - - <td width="55%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -<b>inline</b> <a href="#size_type55424436"><tt>size_type</tt></a> - size - () <b>const</b> -</pre> - </td> - - <td> - <p>Returns the number of distinct <a href= - "#value_type279018186"><tt>value_type</tt></a> objects - the container object is storing.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<b>inline</b> <a href="#size_type55424436"><tt>size_type</tt></a> - max_size - () <b>const</b> -</pre> - </td> - - <td> - <p>Returns an upper bound on the number of distinct - <a href="#value_type279018186"><tt>value_type</tt></a> - objects this container can store.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<b>inline</b> <b>bool</b> - empty - () <b>const</b> -</pre> - </td> - - <td> - <p>Returns whether the container object is not storing - any <a href= - "#value_type279018186"><tt>value_type</tt></a> - objects.</p> - </td> - </tr> - </table> - - <h3><a name="link13" id="link13">Insert Methods</a></h3> - - <table class="c1" width="100%" border="1" summary="Methods"> - <tr> - <td width="45%" align="left"><b>Method</b></td> - - <td width="55%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -std::pair<<a href= -"#point_iterator2789896775"><tt>point_iterator</tt></a>, <b>bool</b>> - insert - (<a href= -"#const_reference495461441"><tt>const_reference</tt></a> r_val) -</pre> - </td> - - <td> - <p>Inserts a <a href= - "#value_type279018186"><tt>value_type</tt></a> object. If - no <a href="#value_type279018186"><tt>value_type</tt></a> - with <span class="c1"><tt>r_val</tt></span>'s key was in - the container object, inserts and returns (<a href= - "#point_iterator2789896775"><tt>point_iterator</tt></a> - object associated with <span class= - "c1"><tt>r_val</tt></span>, <tt><b>true</b></tt>); - otherwise just returns (<a href= - "#point_iterator2789896775"><tt>point_iterator</tt></a> - object associated with <span class= - "c1"><tt>r_val</tt></span>'s key, - <tt><b>false</b></tt>).</p> - </td> - </tr> - - <tr> - <td> - <pre> -<a href="#mapped_reference4153801225"><tt>mapped_reference</tt></a> - <b>operator</b>[] - (<a href= -"#const_key_reference3185471705"><tt>const_key_reference</tt></a> r_key) -</pre> - </td> - - <td> - <p>Subscript operator.</p> - </td> - </tr> - </table> - - <h3><a name="link14" id="link14">Find Methods</a></h3> - - <table class="c1" width="100%" border="1" summary="Methods"> - <tr> - <td width="45%" align="left"><b>Method</b></td> - - <td width="55%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -<a href="#point_iterator2789896775"><tt>point_iterator</tt></a> - find - (<a href= -"#const_key_reference3185471705"><tt>const_key_reference</tt></a> r_key) -</pre> - </td> - - <td> - <p>Returns the <a href= - "#point_iterator2789896775"><tt>point_iterator</tt></a> - corresponding to the <a href= - "#value_type279018186"><tt>value_type</tt></a> with - <span class="c1"><tt>r_key</tt></span> as its key, or the - <a href= - "#point_iterator2789896775"><tt>point_iterator</tt></a> - corresponding to the just-after-last entry if no such - <a href= - "#value_type279018186"><tt>value_type</tt></a>.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<a href= -"#const_point_iterator2364676009"><tt>const_point_iterator</tt></a> - find - (<a href= -"#const_key_reference3185471705"><tt>const_key_reference</tt></a> r_key) <b>const</b> -</pre> - </td> - - <td> - <p>Returns the <a href= - "#const_point_iterator2364676009"><tt>const_point_iterator</tt></a> - corresponding to the <a href= - "#value_type279018186"><tt>value_type</tt></a> with - <span class="c1"><tt>r_key</tt></span> as its key, or the - <a href= - "#const_point_iterator2364676009"><tt>const_point_iterator</tt></a> - corresponding to the just-after-last entry if no such - <a href= - "#value_type279018186"><tt>value_type</tt></a>.</p> - </td> - </tr> - </table> - - <h3><a name="link15" id="link15">Erase Methods</a></h3> - - <table class="c1" width="100%" border="1" summary="Methods"> - <tr> - <td width="45%" align="left"><b>Method</b></td> - - <td width="55%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -<b>bool</b> - erase - (<a href= -"#const_key_reference3185471705"><tt>const_key_reference</tt></a> r_key) -</pre> - </td> - - <td> - <p>Erases the <a href= - "#value_type279018186"><tt>value_type</tt></a> associated - with <span class="c1"><tt>r_key</tt></span>. returns - <tt><b>false</b></tt> iff <span class= - "c1"><tt>r_key</tt></span> was not contained.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<b>template</b>< - <b>class</b> Pred> -<a href="#size_type55424436"><tt>size_type</tt></a> - erase_if - (Pred prd) -</pre> - </td> - - <td> - <p>Erases any <a href= - "#value_type279018186"><tt>value_type</tt></a> satisfying - the predicate <span class="c1"><tt>prd</tt></span> (this - is transactional, either all matching <a href= - "#value_type279018186"><tt>value_type</tt></a>s are - erased, or, if an exception is thrown (for types whose - erase can throw an exception) none); returns the number - of <a href= - "#value_type279018186"><tt>value_type</tt></a>s - erased.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<b>void</b> - clear - () -</pre> - </td> - - <td> - <p>Clears the container object.</p> - </td> - </tr> - </table> - - <h3><a name="link16" id="link16">Iteration Methods</a></h3> - - <table class="c1" width="100%" border="1" summary="Methods"> - <tr> - <td width="45%" align="left"><b>Method</b></td> - - <td width="55%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -<a href="#iterator10418194"><tt>iterator</tt></a> - begin - () -</pre> - </td> - - <td> - <p>Returns an <a href= - "#iterator10418194"><tt>iterator</tt></a> corresponding - to the first <a href= - "#value_type279018186"><tt>value_type</tt></a> in the - container.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<a href="#const_iterator98626788"><tt>const_iterator</tt></a> - begin - () <b>const</b> -</pre> - </td> - - <td> - <p>Returns a <a href= - "#const_iterator98626788"><tt>const_iterator</tt></a> - corresponding to the first <a href= - "#value_type279018186"><tt>value_type</tt></a> in the - container.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<a href="#iterator10418194"><tt>iterator</tt></a> - end - () -</pre> - </td> - - <td> - <p>Returns an <a href= - "#iterator10418194"><tt>iterator</tt></a> corresponding - to the just-after-last <a href= - "#value_type279018186"><tt>value_type</tt></a> in the - container.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<a href="#const_iterator98626788"><tt>const_iterator</tt></a> - end - () <b>const</b> -</pre> - </td> - - <td> - <p>Returns a <a href= - "#const_iterator98626788"><tt>const_iterator</tt></a> - corresponding to the just-after-last <a href= - "#value_type279018186"><tt>value_type</tt></a> in the - container.</p> - </td> - </tr> - </table> - </div> -</body> -</html> diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/container_cd.png b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/container_cd.png Binary files differdeleted file mode 100644 index 52553278c..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/container_cd.png +++ /dev/null diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/container_cd.svg b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/container_cd.svg deleted file mode 100644 index 3b5a98189..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/container_cd.svg +++ /dev/null @@ -1,418 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" standalone="no"?> -<!-- Created with Inkscape (http://www.inkscape.org/) --> -<svg - xmlns:dc="http://purl.org/dc/elements/1.1/" - xmlns:cc="http://web.resource.org/cc/" - xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" - xmlns:svg="http://www.w3.org/2000/svg" - xmlns="http://www.w3.org/2000/svg" - xmlns:sodipodi="http://inkscape.sourceforge.net/DTD/sodipodi-0.dtd" - xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" - width="11in" - height="8.5in" - id="svg2" - sodipodi:version="0.32" - inkscape:version="0.43" - version="1.0" - sodipodi:docbase="/mnt/share/src/policy_based_data_structures/current/pb_ds/doc" - sodipodi:docname="container_cd.svg" - inkscape:export-filename="/mnt/share/src/policy_based_data_structures/current/pb_ds/doc/container_cd.png" - inkscape:export-xdpi="90" - inkscape:export-ydpi="90"> - <defs - id="defs4"> - <marker - inkscape:stockid="Arrow1Mstart" - orient="auto" - refY="0.0" - refX="0.0" - id="Arrow1Mstart" - style="overflow:visible"> - <path - id="path3311" - d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z " - style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none" - transform="scale(0.4)" /> - </marker> - <marker - inkscape:stockid="Arrow2Sstart" - orient="auto" - refY="0" - refX="0" - id="Arrow2Sstart" - style="overflow:visible"> - <path - id="path3319" - style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" - d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.97309,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z " - transform="matrix(0.3,0,0,0.3,-1.5,0)" /> - </marker> - <marker - inkscape:stockid="Arrow1Sstart" - orient="auto" - refY="0" - refX="0" - id="Arrow1Sstart" - style="overflow:visible"> - <path - id="path3337" - d="M 0,0 L 5,-5 L -12.5,0 L 5,5 L 0,0 z " - style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none" - transform="scale(0.2,0.2)" /> - </marker> - <marker - inkscape:stockid="Arrow2Send" - orient="auto" - refY="0" - refX="0" - id="Arrow2Send" - style="overflow:visible"> - <path - id="path3316" - style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" - d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.97309,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z " - transform="matrix(-0.3,0,0,-0.3,1.5,0)" /> - </marker> - <marker - inkscape:stockid="Arrow2Mend" - orient="auto" - refY="0" - refX="0" - id="Arrow2Mend" - style="overflow:visible"> - <path - id="path3322" - style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" - d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.97309,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z " - transform="matrix(-0.6,0,0,-0.6,3,0)" /> - </marker> - <marker - inkscape:stockid="Arrow1Lend" - orient="auto" - refY="0" - refX="0" - id="Arrow1Lend" - style="overflow:visible"> - <path - id="path3346" - d="M 0,0 L 5,-5 L -12.5,0 L 5,5 L 0,0 z " - style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none" - transform="scale(-0.8,-0.8)" /> - </marker> - <marker - inkscape:stockid="Arrow2Lstart" - orient="auto" - refY="0" - refX="0" - id="Arrow2Lstart" - style="overflow:visible"> - <path - id="path3331" - style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" - d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.97309,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z " - transform="matrix(1.1,0,0,1.1,-5.5,0)" /> - </marker> - <marker - inkscape:stockid="Arrow2Lend" - orient="auto" - refY="0" - refX="0" - id="Arrow2Lend" - style="overflow:visible"> - <path - id="path3328" - style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" - d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.97309,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z " - transform="matrix(-1.1,0,0,-1.1,5.5,0)" /> - </marker> - </defs> - <sodipodi:namedview - id="base" - pagecolor="#ffffff" - bordercolor="#666666" - borderopacity="1.0" - inkscape:pageopacity="0.0" - inkscape:pageshadow="2" - inkscape:zoom="2" - inkscape:cx="396.81316" - inkscape:cy="280" - inkscape:document-units="in" - inkscape:current-layer="layer1" - showguides="true" - inkscape:guide-bbox="true" - inkscape:window-width="1278" - inkscape:window-height="973" - inkscape:window-x="0" - inkscape:window-y="0" - gridtolerance="0.125in" - guidetolerance="0.125in"> - <sodipodi:guide - orientation="horizontal" - position="629" - id="guide1307" /> - <sodipodi:guide - orientation="horizontal" - position="449" - id="guide1309" /> - <sodipodi:guide - orientation="horizontal" - position="269" - id="guide1311" /> - <sodipodi:guide - orientation="vertical" - position="496" - id="guide1313" /> - <sodipodi:guide - orientation="vertical" - position="361" - id="guide1315" /> - <sodipodi:guide - orientation="vertical" - position="226" - id="guide1317" /> - <sodipodi:guide - orientation="vertical" - position="631" - id="guide1319" /> - <sodipodi:guide - orientation="vertical" - position="766" - id="guide1321" /> - <sodipodi:guide - orientation="vertical" - position="91" - id="guide1345" /> - <sodipodi:guide - orientation="vertical" - position="901" - id="guide1347" /> - <sodipodi:guide - orientation="horizontal" - position="539" - id="guide3390" /> - <sodipodi:guide - orientation="horizontal" - position="359" - id="guide3392" /> - <sodipodi:guide - orientation="vertical" - position="280.5" - id="guide3324" /> - <sodipodi:guide - orientation="vertical" - position="172" - id="guide3326" /> - <sodipodi:guide - orientation="vertical" - position="388" - id="guide3328" /> - <sodipodi:guide - orientation="vertical" - position="711.5" - id="guide3340" /> - </sodipodi:namedview> - <metadata - id="metadata7"> - <rdf:RDF> - <cc:Work - rdf:about=""> - <dc:format>image/svg+xml</dc:format> - <dc:type - rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> - <dc:creator> - <cc:Agent> - <dc:title>Benjamin Kosnik</dc:title> - </cc:Agent> - </dc:creator> - </cc:Work> - </rdf:RDF> - </metadata> - <g - inkscape:label="Layer 1" - inkscape:groupmode="layer" - id="layer1"> - <rect - style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1.25;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" - id="rect1425" - width="141.64481" - height="23.200001" - x="209.57762" - y="382.56177" /> - <rect - y="382.56177" - x="425.57761" - height="23.200001" - width="141.64481" - id="rect3376" - style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1.25;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> - <rect - style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1.25;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" - id="rect3378" - width="141.64481" - height="23.200001" - x="640.77765" - y="382.56177" /> - <text - sodipodi:linespacing="100%" - id="use1329" - y="397.09772" - x="497.20001" - style="font-size:9.60000038px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:100%;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans" - xml:space="preserve"><tspan - sodipodi:role="line" - id="tspan1703" - x="497.20001" - y="397.09772">list_update</tspan><tspan - sodipodi:role="line" - id="tspan1705" - x="497.20001" - y="406.69772" /></text> - <text - xml:space="preserve" - style="font-size:9.60000038px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:100%;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1.25;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;font-family:Bitstream Vera Sans" - x="712.40002" - y="397.09772" - id="use1337" - sodipodi:linespacing="100%"><tspan - sodipodi:role="line" - id="tspan1707" - x="712.40002" - y="397.09772">basic_hash_table</tspan></text> - <text - xml:space="preserve" - style="font-size:9.60000038px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:100%;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans" - x="282" - y="397.09772" - id="text1339" - sodipodi:linespacing="100%"><tspan - sodipodi:role="line" - id="tspan1701" - x="282" - y="397.09772">basic_tree</tspan></text> - <rect - style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1.25;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" - id="rect3418" - width="141.64481" - height="23.200001" - x="101.57762" - y="472.5618" /> - <rect - y="472.5618" - x="317.57761" - height="23.200001" - width="141.64481" - id="rect3420" - style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1.25;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> - <rect - style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1.25;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" - id="rect3422" - width="141.64481" - height="23.200001" - x="533.57764" - y="472.5618" /> - <rect - y="472.5618" - x="748.77765" - height="23.200001" - width="141.64481" - id="rect3424" - style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1.25;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> - <text - xml:space="preserve" - style="font-size:9.60000038;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:100%;writing-mode:lr;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans" - x="171.20001" - y="486.29773" - id="text3394" - sodipodi:linespacing="100%"><tspan - sodipodi:role="line" - id="tspan1715" - x="171.20001" - y="486.29773">tree</tspan><tspan - sodipodi:role="line" - id="tspan1717" - x="171.20001" - y="495.89773" /></text> - <text - sodipodi:linespacing="100%" - id="text3400" - y="486.29773" - x="386.39999" - style="font-size:9.60000038;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:100%;writing-mode:lr;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans" - xml:space="preserve"><tspan - sodipodi:role="line" - id="tspan1709" - x="386.39999" - y="486.29773">trie</tspan><tspan - sodipodi:role="line" - id="tspan1711" - x="386.39999" - y="495.89773" /></text> - <text - sodipodi:linespacing="100%" - id="text3406" - y="486.29773" - x="601.20001" - style="font-size:9.60000038px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:100%;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1.25;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;font-family:Bitstream Vera Sans" - xml:space="preserve"><tspan - sodipodi:role="line" - id="tspan1713" - x="601.20001" - y="486.29773">cc_hash_table</tspan></text> - <text - xml:space="preserve" - style="font-size:9.60000038;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:100%;writing-mode:lr;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1.25;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;font-family:Bitstream Vera Sans" - x="818" - y="486.29773" - id="text3412" - sodipodi:linespacing="100%"><tspan - sodipodi:role="line" - id="tspan1719" - x="818" - y="486.29773">gp_hash_table</tspan></text> - <rect - style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1.25;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" - id="rect3380" - width="141.64481" - height="23.200001" - x="425.57764" - y="292.56177" /> - <text - xml:space="preserve" - style="font-size:9.60000038;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:100%;writing-mode:lr;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1.5625;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;font-family:Bitstream Vera Sans" - x="497.20001" - y="307.09772" - id="text1323" - sodipodi:linespacing="100%" - inkscape:export-xdpi="90" - inkscape:export-ydpi="90" - inkscape:export-filename="/mnt/share/src/policy_based_data_structures/pb_ds_images/container_diagram.png"><tspan - sodipodi:role="line" - id="tspan1369" - x="497.20001" - y="307.09772">container_base</tspan></text> - <path - style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#000000;stroke-width:0.97031623px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" - d="M 170.97058,472.5 L 170.97058,451 L 387.51871,450 L 387.51871,472.5" - id="path2244" /> - <path - style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#000000;stroke-width:1.25;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow2Mend);stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" - d="M 280.5,450.53297 L 280.5,410.62445" - id="path3332" /> - <path - id="path3353" - d="M 601.47058,472.5 L 601.47058,451 L 818.01871,450 L 818.01871,472.5" - style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#000000;stroke-width:0.97031623px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> - <path - id="path3355" - d="M 711,450.53297 L 711,410.62445" - style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#000000;stroke-width:1.25;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow2Mend);stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> - <path - id="path3344" - d="M 281.18218,383.28102 L 281.18218,361.78102 L 711.79281,360.78102 L 711.79281,383.28102" - style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#000000;stroke-width:1.3682909px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> - <path - id="path3347" - d="M 497.75146,383.49616 L 497.75146,322.77107" - style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#000000;stroke-width:1.25;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow2Mend);stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> - </g> -</svg> diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/container_tag.html b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/container_tag.html deleted file mode 100644 index de187a94d..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/container_tag.html +++ /dev/null @@ -1,24 +0,0 @@ -<!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" xml:lang="en" lang="en"> -<head> - <meta name="generator" content= - "HTML Tidy for Linux/x86 (vers 12 April 2005), see www.w3.org" /> - - <title>container _tag Interface</title> - <meta http-equiv="Content-Type" content= - "text/html; charset=us-ascii" /> - </head> - -<body> - <div id="page"> - <h1><tt>container _tag</tt> Interface</h1> - - <p>Basic data structure tag.</p> - - <p>Defined in: <a href= - "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/include/ext/pb_ds/tag_and_trait.hpp"><tt>tag_and_trait.hpp</tt></a></p> - </div> -</body> -</html> diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/counter_lu_policy.html b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/counter_lu_policy.html deleted file mode 100644 index d9d5112c0..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/counter_lu_policy.html +++ /dev/null @@ -1,259 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" - "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> -<head> - <meta name="generator" content= - "HTML Tidy for Linux/x86 (vers 12 April 2005), see www.w3.org" /> - - <title>counter_lu_policy Interface</title> - <meta http-equiv="Content-Type" content= - "text/html; charset=us-ascii" /> - </head> - -<body> - <div id="page"> - <h1><tt>counter_lu_policy</tt> Interface</h1> - - <p>A list-update policy that moves elements to the front of the - list based on the counter algorithm.</p> - - <p>Defined in: <a href= - "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/include/ext/pb_ds/list_update_policy.hpp"><tt>list_update_policy.hpp</tt></a></p> - - <h2><a name="link1" id="link1">Template Parameters</a></h2> - - <table class="c1" width="100%" border="1" summary= - "Template Parameters"> - <tr> - <td width="20%" align="left"><b>Parameter</b></td> - - <td width="50%" align="left"><b>Description</b></td> - - <td width="30%" align="left"><b>Default Value</b></td> - </tr> - - <tr> - <td> - <pre> -<a name="Max_Count39887466" id= -"Max_Count39887466">size_t Max_Count </a> -</pre> - </td> - - <td> - <p>Maximum count.</p> - - <p>When some element is accessed this number of times, it - will be moved to the front of the list.</p> - </td> - - <td>5</td> - </tr> - - <tr> - <td> - <pre> -<a name="Allocator35940069" id= -"Allocator35940069"><b>class</b> Allocator </a> -</pre> - </td> - - <td> - <p>Allocator type.</p> - - <p>This is used only for definitions, e.g., the size - type.</p> - </td> - - <td> - <pre> -std::allocator<<b>char</b>> -</pre> - </td> - </tr> - </table> - - <h2><a name="link2" id="link2">Public Types and - Constants</a></h2> - - <h3><a name="link3" id="link3">Policy Definitions</a></h3> - - <table class="c1" width="100%" border="1" summary="Types"> - <tr> - <td width="30%" align="left"><b>Type</b></td> - - <td width="55%" align="left"><b>Definition</b></td> - - <td width="15%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -<a name="allocator48440069" id="allocator48440069">allocator</a> -</pre> - </td> - - <td> - <pre> -<a href="#Allocator35940069"><tt>Allocator</tt></a> -</pre> - </td> - - <td> - <p><a href="#Allocator35940069"><tt>Allocator</tt></a> - type.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<a name="max_count52407466" id="max_count52407466">max_count</a> -</pre> - </td> - - <td> - <pre> -<a href="#Max_Count39887466"><tt>Max_Count</tt></a> -} -</pre> - </td> - - <td> - <p>Maximum count.</p> - </td> - </tr> - </table> - - <h3><a name="link4" id="link4">General Definitions</a></h3> - - <table class="c1" width="100%" border="1" summary="Types"> - <tr> - <td width="30%" align="left"><b>Type</b></td> - - <td width="55%" align="left"><b>Definition</b></td> - - <td width="15%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -<a name="size_type55424436" id="size_type55424436">size_type</a> -</pre> - </td> - - <td> - <pre> -<b>typename</b> <a href= -"#allocator48440069"><tt>allocator</tt></a>::size_type -</pre> - </td> - - <td> - <p>Size type.</p> - </td> - </tr> - </table> - - <h3><a name="link5" id="link5">Metadata-Type - Definitions</a></h3> - - <table class="c1" width="100%" border="1" summary="Types"> - <tr> - <td width="30%" align="left"><b>Type</b></td> - - <td width="55%" align="left"><b>Definition</b></td> - - <td width="15%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -<a name="metadata_type2849297114" id= -"metadata_type2849297114">metadata_type</a> -</pre> - </td> - - <td> - <pre> -Some class containing a counter. -</pre> - </td> - - <td> - <p>Metadata on which this functor operates.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<a name="metadata_reference583863863" id= -"metadata_reference583863863">metadata_reference</a> -</pre> - </td> - - <td> - <pre> -<b>typename</b> <a href= -"#Allocator35940069"><tt>Allocator</tt></a>::<b>template</b> rebind< - <a href= -"#metadata_type2849297114"><tt>metadata_type</tt></a>>::other::reference -</pre> - </td> - - <td> - <p>Reference to metadata on which this functor - operates.</p> - </td> - </tr> - </table> - - <h2><a name="link6" id="link6">Public Methods</a></h2> - - <h3><a name="link7" id="link7">Metadata Methods</a></h3> - - <table class="c1" width="100%" border="1" summary="Methods"> - <tr> - <td width="45%" align="left"><b>Method</b></td> - - <td width="55%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -<a href="#metadata_type2849297114"><tt>metadata_type</tt></a> - <b>operator</b>() - () <b>const</b> -</pre> - </td> - - <td> - <p>Creates a metadata object.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<b>bool</b> - <b>operator</b>() - (<a href= -"#metadata_reference583863863"><tt>metadata_reference</tt></a> r_metadata) <b>const</b> -</pre> - </td> - - <td> - <p>Decides whether a metadata object should be moved to - the front of the list.</p> - </td> - </tr> - </table> - </div> -</body> -</html> diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/design.html b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/design.html deleted file mode 100644 index e83bd4dd2..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/design.html +++ /dev/null @@ -1,96 +0,0 @@ -<!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" xml:lang="en" lang="en"> -<head> - <meta name="generator" content= - "HTML Tidy for Linux/x86 (vers 12 April 2005), see www.w3.org" /> - - <title>Design</title> - <meta http-equiv="Content-Type" content= - "text/html; charset=us-ascii" /> - </head> - -<body> - <div id="page"> - <h1>Design</h1> - - <p>The <tt>pb_ds</tt> namespace contains:</p> - - <ol> - <li>Exception classes (see <a href= - "interface.html#exceptions_common">Interface::Exceptions::Common</a>)</li> - - <li>Invalidation-guarantee tags (see <a href= - "ds_gen.html#inv_guar">Design::Invalidation Guarantees</a> - and <a href= - "interface.html#ds_inv_tag">Interface::Data-Structure Tags - and Traits::Invalidation-Guarantee Tags</a>).</li> - - <li>Associative Containers (see <a href= - "tree_based_containers.html">Design::Associative - Containers::Tree-Based Containers</a>, <a href= - "trie_based_containers.html">Design::Associative - Containers::Trie-Based Containers</a>, <a href= - "hash_based_containers.html">Design::Associative - Containers::Hash-Based Containers</a>, and <a href= - "lu_based_containers.html">Design::Associative - Containers::List-Based Containers</a>, and <a href= - "interface.html#containers_assoc">Interface::Containers::Associative - Containers</a>).</li> - - <li>Associative Container tags and traits - (see <a href="ds_gen.html">Design::Associative - Containers::Data-Structure Genericity</a>, <a href= - "interface.html#ds_ts_assoc">Interface::Data-Structure Tags - and Traits::Data-Structure Tags::Associative-Containers</a>, - and <a href= - "interface.html#container_traits">Interface::Data-Structure Tags and - Traits::Data-Structure - Traits::Associative-Containers</a>).</li> - - <li>Associative Container policies (see - <a href="tree_based_containers.html">Design::Associative - Containers::Tree-Based Containers</a>, <a href= - "trie_based_containers.html">Design::Associative - Containers::Trie-Based Containers</a>, <a href= - "hash_based_containers.html">Design::Associative - Containers::Hash-Based Containers</a>, and <a href= - "lu_based_containers.html">Design::Associative - Containers::List-Based Containers</a>, and <a href= - "interface.html#ds_policy_classes">Interface::Container - Policy Classes</a>).</li> - - - <li>Mapped types for setting the mapping semantics of - associative containers (see <a href= - "tutorial.html#assoc_ms">Tutorial::Associative - Containers::Associative Containers Others than Maps</a> and - <a href="interface.html#ds_pol">Interface::Mapped-Type - Policies</a>).</li> - - - <li>Priority Queues (see <a href="pq_design.html">Design::Priority - Queues</a> and <a href= - "interface.html#containers_pq">Interface::Containers::Priority - Queues</a>).</li> - - <li>Priority Queue tags and traits - (see <a href="pq_design.html#pq_traits">Design::Priority - Queues::Traits</a>, <a href= - "interface.html#ds_ts_pq">Interface::Data-Structure Tags and - Traits::Data-Structure Tags::Priority Queues</a>, and - <a href="interface.html#container_traits">Interface::Data-Structure - Tags and Traits::Data-Structure Traits::Priority - Queues</a>).</li> - </ol> - - - <p><a href="assoc_design.html">Associative-Container Design</a> - describes associative-container design.</p> - - <p><a href="pq_design.html">Priority-Queue Design</a> describes - priority-queue design.</p> - </div> -</body> -</html> diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/different_underlying_dss.png b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/different_underlying_dss.png Binary files differdeleted file mode 100644 index adee12636..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/different_underlying_dss.png +++ /dev/null diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/direct_mask_range_hashing.html b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/direct_mask_range_hashing.html deleted file mode 100644 index 19f8621c2..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/direct_mask_range_hashing.html +++ /dev/null @@ -1,167 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" - "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> -<head> - <meta name="generator" content= - "HTML Tidy for Linux/x86 (vers 12 April 2005), see www.w3.org" /> - - <title>direct_mask_range_hashing Interface</title> - <meta http-equiv="Content-Type" content= - "text/html; charset=us-ascii" /> - </head> - -<body> - <div id="page"> - <h1><tt>direct_mask_range_hashing</tt> Interface</h1> - - <p>A mask range-hashing class (uses a bit-mask).</p> - - <p>Defined in: <a href= - "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/include/ext/pb_ds/hash_policy.hpp"><tt>hash_policy.hpp</tt></a></p> - - <h2><a name="link1" id="link1">Template Parameters</a></h2> - - <table class="c1" width="100%" border="1" summary= - "Template Parameters"> - <tr> - <td width="20%" align="left"><b>Parameter</b></td> - - <td width="50%" align="left"><b>Description</b></td> - - <td width="30%" align="left"><b>Default Value</b></td> - </tr> - - <tr> - <td> - <pre> -<a name="Size_Type42920436" id= -"Size_Type42920436"><b>typename</b> Size_Type </a> -</pre> - </td> - - <td> - <p>Size type.</p> - </td> - - <td>size_t</td> - </tr> - </table> - - <h2><a name="link2" id="link2">Public Types and - Constants</a></h2> - - <h3><a name="link3" id="link3">General Definitions</a></h3> - - <table class="c1" width="100%" border="1" summary="Types"> - <tr> - <td width="30%" align="left"><b>Type</b></td> - - <td width="55%" align="left"><b>Definition</b></td> - - <td width="15%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -<a name="size_type55424436" id="size_type55424436">size_type</a> -</pre> - </td> - - <td> - <pre> -<a href="#Size_Type42920436"><tt>Size_Type</tt></a> -</pre> - </td> - - <td> - <p>Size type.</p> - </td> - </tr> - </table> - - <h2><a name="link4" id="link4">Public Methods</a></h2> - - <h3><a name="link5" id="link5">Constructors, Destructor, and - Related</a></h3> - - <table class="c1" width="100%" border="1" summary="Methods"> - <tr> - <td width="45%" align="left"><b>Method</b></td> - - <td width="55%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -<b>void</b> - swap - (<span class= -"c2"><tt>direct_mask_range_hashing</tt></span> &other) -</pre> - </td> - - <td> - <p>Swaps content.</p> - </td> - </tr> - </table> - - <h2><a name="link6" id="link6">Protected Methods</a></h2> - - <h3><a name="link7" id="link7">Notification Methods</a></h3> - - <table class="c1" width="100%" border="1" summary="Methods"> - <tr> - <td width="45%" align="left"><b>Method</b></td> - - <td width="55%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -<b>void</b> - notify_resized - (<a href="#size_type55424436"><tt>size_type</tt></a> size) -</pre> - </td> - - <td> - <p>Notifies the policy object that the container's size - has changed to <span class="c1"><tt>size</tt></span>.</p> - </td> - </tr> - </table> - - <h3><a name="link8" id="link8">Operators.</a></h3> - - <table class="c1" width="100%" border="1" summary="Methods"> - <tr> - <td width="45%" align="left"><b>Method</b></td> - - <td width="55%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -<b>inline</b> <a href="#size_type55424436"><tt>size_type</tt></a> - <b>operator</b>() - (<a href= -"#size_type55424436"><tt>size_type</tt></a> hash) <b>const</b> -</pre> - </td> - - <td> - <p>Transforms the hash value <span class= - "c1"><tt>hash</tt></span> into a ranged-hash value (using - a bit-mask).</p> - </td> - </tr> - </table> - </div> -</body> -</html> diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/direct_mod_range_hashing.html b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/direct_mod_range_hashing.html deleted file mode 100644 index f3f9295d4..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/direct_mod_range_hashing.html +++ /dev/null @@ -1,144 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" - "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> -<head> - <meta name="generator" content= - "HTML Tidy for Linux/x86 (vers 12 April 2005), see www.w3.org" /> - - <title>direct_mod_range_hashing Interface</title> - <meta http-equiv="Content-Type" content= - "text/html; charset=us-ascii" /> - </head> - -<body> - <div id="page"> - <h1><tt>direct_mod_range_hashing</tt> Interface</h1> - - <p>A mod range-hashing class (uses the modulo function).</p> - - <p>Defined in: <a href= - "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/include/ext/pb_ds/hash_policy.hpp"><tt>hash_policy.hpp</tt></a></p> - - <h2><a name="link1" id="link1">Template Parameters</a></h2> - - <table class="c1" width="100%" border="1" summary= - "Template Parameters"> - <tr> - <td width="20%" align="left"><b>Parameter</b></td> - - <td width="50%" align="left"><b>Description</b></td> - - <td width="30%" align="left"><b>Default Value</b></td> - </tr> - - <tr> - <td> - <pre> -<a name="Size_Type42920436" id= -"Size_Type42920436"><b>typename</b> Size_Type </a> -</pre> - </td> - - <td> - <p>Size type.</p> - </td> - - <td>size_t</td> - </tr> - </table> - - <h2><a name="link2" id="link2">Public Types and - Constants</a></h2> - - <h3><a name="link3" id="link3">General Definitions</a></h3> - - <table class="c1" width="100%" border="1" summary="Types"> - <tr> - <td width="30%" align="left"><b>Type</b></td> - - <td width="55%" align="left"><b>Definition</b></td> - - <td width="15%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -<a name="size_type55424436" id="size_type55424436">size_type</a> -</pre> - </td> - - <td> - <pre> -<a href="#Size_Type42920436"><tt>Size_Type</tt></a> -</pre> - </td> - - <td> - <p>Size type.</p> - </td> - </tr> - </table> - - <h2><a name="link4" id="link4">Public Methods</a></h2> - - <h3><a name="link5" id="link5">Constructors, Destructor, and - Related</a></h3> - - <table class="c1" width="100%" border="1" summary="Methods"> - <tr> - <td width="45%" align="left"><b>Method</b></td> - - <td width="55%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -<b>void</b> - swap - (<span class= -"c2"><tt>direct_mod_range_hashing</tt></span> &other) -</pre> - </td> - - <td> - <p>Swaps content.</p> - </td> - </tr> - </table> - - <h2><a name="link6" id="link6">Protected Methods</a></h2> - - <h3><a name="link7" id="link7">Notification Methods</a></h3> - - <h3><a name="link8" id="link8">Operators.</a></h3> - - <table class="c1" width="100%" border="1" summary="Methods"> - <tr> - <td width="45%" align="left"><b>Method</b></td> - - <td width="55%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -<b>inline</b> <a href="#size_type55424436"><tt>size_type</tt></a> - <b>operator</b>() - (<a href= -"#size_type55424436"><tt>size_type</tt></a> hash) <b>const</b> -</pre> - </td> - - <td> - <p>Transforms the hash value <span class= - "c1"><tt>hash</tt></span> into a ranged-hash value (using - a modulo operation).</p> - </td> - </tr> - </table> - </div> -</body> -</html> diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/disclaimer.html b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/disclaimer.html deleted file mode 100644 index 681af4edf..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/disclaimer.html +++ /dev/null @@ -1,34 +0,0 @@ -<!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" xml:lang="en" lang="en"> -<head> - <meta name="generator" content= - "HTML Tidy for Linux/x86 (vers 12 April 2005), see www.w3.org" /> - - <title>What, me worry?</title> - <meta http-equiv="Content-Type" content= - "text/html; charset=us-ascii" /> - </head> - -<body> - <div id="page"> - <h2>Disclaimer and Copyright</h2> - - <p>Revised 16 February, 2004</p>© Copyright Ami Tavory and - Vladimir Dreizin, IBM-HRL, 2004, and Benjamin Kosnik, Red Hat, - 2004. - - <p>Permission to use, copy, modify, sell, and distribute this - software is hereby granted without fee, provided that the above - copyright notice appears in all copies, and that both that - copyright notice and this permission notice appear in - supporting documentation.</p> - - <p>None of the above authors, nor IBM Haifa Research - Laboratories, Red Hat, or both, make any representation about - the suitability of this software for any purpose. It is - provided "as is" without express or implied warranty.</p> - </div> -</body> -</html> diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/ds_gen.html b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/ds_gen.html deleted file mode 100644 index ec99c4d5f..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/ds_gen.html +++ /dev/null @@ -1,344 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" - "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> -<head> - <meta name="generator" content= - "HTML Tidy for Linux/x86 (vers 12 April 2005), see www.w3.org" /> - - <title>Data-Structure Genericity</title> - <meta http-equiv="Content-Type" content= - "text/html; charset=us-ascii" /> - </head> - -<body> - <div id="page"> - <h1>Data-Structure Genericity</h1> - - <h2><a name="problem" id="problem">The Basic Problem</a></h2> - - <p>The design attempts to address the following problem. When - writing a function manipulating a generic container object, - what is the behavior of the object? <i>E.g.</i>, suppose one - writes</p> - <pre> -<b>template</b><<b>typename</b> Cntnr> -<b>void</b> -some_op_sequence(Cntnr &r_container) -{ - ... -} -</pre>then one needs to address the following questions in the body -of <tt>some_op_sequence</tt>: - - <ol> - <li>Which types and methods does <tt>Cntnr</tt> support? - Containers based on hash tables can be queries for the - hash-functor type and object; this is meaningless for - tree-based containers. Containers based on trees can be - split, joined, or can erase iterators and return the - following iterator; this cannot be done by hash-based - containers.</li> - - <li>What are the guarantees of <tt>Cntnr</tt>? A container - based on a probing hash-table invalidates all iterators when - it is modified; this is not the case for containers based on - node-based trees. Containers based on a node-based tree can - be split or joined without exceptions; this is not the case - for containers based on vector-based trees.</li> - - <li>How does the container maintain its elements? Tree-based - and Trie-based containers store elements by key order; - others, typically, do not. A container based on a splay trees - or lists with update policies "cache" "frequently accessed" - elements; containers based on most other underlying - data structures do not.</li> - </ol> - - <p>The remainder of this section deals with these issues.</p> - - <h2><a name="ds_hierarchy" id="ds_hierarchy">Container - Hierarchy</a></h2> - - <p>Figure <a href="#cd">Container class hierarchy</a> shows the - container hierarchy.</p> - - <h6 class="c1"><a name="cd" id="cd"><img src="container_cd.png" alt= - "no image" /></a></h6> - - <h6 class="c1">Container class hierarchy.</h6> - - <ol> - <li><a href= - "container_base.html"><tt>container_base</tt></a> is an - abstract base class for associative containers.</li> - - <li>Tree-Like-Based Associative-Containers: - - <ol> - <li><a href= - "basic_tree.html"><tt>basic_tree</tt></a> - is an abstract base class for tree-like-based - associative-containers</li> - - <li><a href= - "tree.html"><tt>tree</tt></a> - is a concrete base class for tree-based - associative-containers</li> - - <li><a href= - "trie.html"><tt>trie</tt></a> - is a concrete base class trie-based - associative-containers</li> - </ol> - </li> - - <li>Hash-Based Associative-Containers: - - <ol> - <li><a href= - "basic_hash_table.html"><tt>basic_hash_table</tt></a> - is an abstract base class for hash-based - associative-containers</li> - - <li><a href= - "cc_hash_table.html"><tt>cc_hash_table</tt></a> - is a concrete collision-chaining hash-based - associative-containers</li> - - <li><a href= - "gp_hash_table.html"><tt>gp_hash_table</tt></a> - is a concrete (general) probing hash-based - associative-containers</li> - </ol> - </li> - - <li>List-Based Associative-Containers: - - <ol> - <li><a href= - "list_update.html"><tt>list_update</tt></a> - - list-based update-policy associative container</li> - </ol> - </li> - </ol> - - <p>The hierarchy is composed naturally so that commonality is - captured by base classes. Thus <tt><b>operator[]</b></tt> is - defined <a href= - "container_base.html"><tt>container_base</tt></a>, since - all containers support it. Conversely <tt>split</tt> is defined - in <a href= - "basic_tree.html"><tt>basic_tree</tt></a>, - since only tree-like containers support it. <a href= - "#container_traits">Data-Structure Tags and Traits</a> discusses how - to query which types and methods each container supports.</p> - - <h2><a name="container_traits" id="container_traits">Data-Structure Tags and - Traits</a></h2> - - <p>Tags and traits are very useful for manipulating generic - types. For example, if <tt>It</tt> is an iterator class, then - <tt><b>typename</b> It::iterator_category</tt> or - <tt><b>typename</b> - std::iterator_traits<It>::iterator_category</tt> will - yield its category, and <tt><b>typename</b> - std::iterator_traits<It>::value_type</tt> will yield its - value type.</p> - - <p><tt>pb_ds</tt> contains a tag hierarchy corresponding to the - hierarchy in Figure <a href="#cd">Class hierarchy</a>. The tag - hierarchy is shown in Figure <a href= - "#tag_cd">Data-structure tag class hierarchy</a>.</p> - - <h6 class="c1"><a name="tag_cd" id="tag_cd"><img src= - "assoc_container_tag_cd.png" alt="no image" /></a></h6> - - <h6 class="c1">Data-structure tag class hierarchy.</h6> - - <p><a href= - "container_base.html"><tt>container_base</tt></a> - publicly defines <tt>container_category</tt> as one of the classes in - Figure <a href="#tag_cd">Data-structure tag class - hierarchy</a>. Given any container <tt>Cntnr</tt>, the tag of - the underlying data structure can be found via - <tt><b>typename</b> Cntnr::container_category</tt>.</p> - - <p>Additionally, a traits mechanism can be used to query a - container type for its attributes. Given any container - <tt>Cntnr</tt>, then <tt><a href= - "assoc_container_traits.html">__gnu_pbds::container_traits</a><Cntnr></tt> - is a traits class identifying the properties of the - container.</p> - - <p>To find if a container can throw when a key is erased (which - is true for vector-based trees, for example), one can - use</p><a href= - "assoc_container_traits.html"><tt>container_traits</tt></a><tt><Cntnr>::erase_can_throw</tt>, - for example. - - <p>Some of the definitions in <a href= - "assoc_container_traits.html"><tt>container_traits</tt></a> are - dependent on other definitions. <i>E.g.</i>, if <a href= - "assoc_container_traits.html"><tt>container_traits</tt></a><tt><Cntnr>::order_preserving</tt> - is <tt><b>true</b></tt> (which is the case for containers based - on trees and tries), then the container can be split or joined; - in this case, <a href= - "assoc_container_traits.html"><tt>container_traits</tt></a><tt><Cntnr>::split_join_can_throw</tt> - indicates whether splits or joins can throw exceptions (which - is true for vector-based trees); otherwise <a href= - "assoc_container_traits.html"><tt>container_traits</tt></a><tt><Cntnr>::split_join_can_throw</tt> - will yield a compilation error. (This is somewhat similar to a - compile-time version of the COM model [<a href= - "references.html#mscom">mscom</a>]).</p> - - <h2><a name="find_range" id="find_range">Point-Type and - Range-Type Methods and Iterators</a></h2> - - <h3><a name="it_unordered" id="it_unordered">Iterators in - Unordered Container Types</a></h3> - - <p><tt>pb_ds</tt> differentiates between two types of methods - and iterators: point-type methods and iterators, and range-type - methods and iterators (see <a href= - "motivation.html#assoc_diff_it">Motivation::Associative - Containers::Differentiating between Iterator Types</a> and - <a href="tutorial.html#assoc_find_range">Tutorial::Associative - Containers::Point-Type and Range-Type Methods and - Iterators</a>). Each associative container's interface includes - the methods:</p> - <pre> -const_point_iterator -find(const_key_reference r_key) const; - -point_iterator -find(const_key_reference r_key); - -std::pair<point_iterator,<b>bool</b>> -insert(const_reference r_val); -</pre> - - <p>The relationship between these iterator types varies between - container types. Figure <a href= - "#point_iterators_cd">Point-type and range-type iterators</a>-A - shows the most general invariant between point-type and - range-type iterators: <tt>iterator</tt>, <i>e.g.</i>, can - always be converted to <tt>point_iterator</tt>. Figure <a href= - "#point_iterators_cd">Point-type and range-type iterators</a>-B - shows invariants for order-preserving containers: point-type - iterators are synonymous with range-type iterators. - Orthogonally, Figure <a href="#point_iterators_cd">Point-type - and range-type iterators</a>-C shows invariants for "set" - containers: iterators are synonymous with const iterators.</p> - - <h6 class="c1"><a name="point_iterators_cd" id= - "point_iterators_cd"><img src="point_iterators_cd.png" alt= - "no image" /></a></h6> - - <h6 class="c1">Point-type and range-type iterators.</h6> - - <p>Note that point-type iterators in self-organizing containers - (<i>e.g.</i>, hash-based associative containers) lack movement - operators, such as <tt><b>operator++</b></tt> - in fact, this - is the reason why <tt>pb_ds</tt> differentiates from the STL's - design on this point.</p> - - <p>Typically, one can determine an iterator's movement - capabilities in the STL using - <tt>std::iterator_traits<It>iterator_category</tt>, which - is a <tt><b>struct</b></tt> indicating the iterator's movement - capabilities. Unfortunately, none of the STL's predefined - categories reflect a pointer's <u>not</u> having any movement - capabilities whatsoever. Consequently, <tt>pb_ds</tt> adds a - type <a href= - "trivial_iterator_tag.html"><tt>trivial_iterator_tag</tt></a> - (whose name is taken from a concept in [<a href= - "references.html#sgi_stl">sgi_stl</a>]), which is the category - of iterators with no movement capabilities. All other STL tags, - such as <tt>forward_iterator_tag</tt> retain their common - use.</p> - - <h3><a name="inv_guar" id="inv_guar">Invalidation - Guarantees</a></h3> - - <p><a href= - "motivation.html#assoc_inv_guar">Motivation::Associative - Containers::Differentiating between Iterator - Types::Invalidation Guarantees</a> posed a problem. Given three - different types of associative containers, a modifying - operation (in that example, <tt>erase</tt>) invalidated - iterators in three different ways: the iterator of one - container remained completely valid - it could be de-referenced - and incremented; the iterator of a different container could - not even be de-referenced; the iterator of the third container - could be de-referenced, but its "next" iterator changed - unpredictably.</p> - - <p>Distinguishing between find and range types allows - fine-grained invalidation guarantees, because these questions - correspond exactly to the question of whether point-type - iterators and range-type iterators are valid. <a href= - "#invalidation_guarantee_cd">Invalidation guarantees class - hierarchy</a> shows tags corresponding to different types of - invalidation guarantees.</p> - - <h6 class="c1"><a name="invalidation_guarantee_cd" id= - "invalidation_guarantee_cd"><img src= - "invalidation_guarantee_cd.png" alt="no image" /></a></h6> - - <h6 class="c1">Invalidation guarantees class hierarchy.</h6> - - <ol> - <li><a href= - "basic_invalidation_guarantee.html"><tt>basic_invalidation_guarantee</tt></a> - corresponds to a basic guarantee that a point-type iterator, - a found pointer, or a found reference, remains valid as long - as the container object is not modified.</li> - - <li><a href= - "point_invalidation_guarantee.html"><tt>point_invalidation_guarantee</tt></a> - corresponds to a guarantee that a point-type iterator, a - found pointer, or a found reference, remains valid even if - the container object is modified.</li> - - <li><a href= - "range_invalidation_guarantee.html"><tt>range_invalidation_guarantee</tt></a> - corresponds to a guarantee that a range-type iterator remains - valid even if the container object is modified.</li> - </ol> - - <p>As shown in <a href= - "tutorial.html#assoc_find_range">Tutorial::Associative - Containers::Point-Type and Range-Type Methods and - Iterators</a>, to find the invalidation guarantee of a - container, one can use</p> - <pre> -<b>typename</b> <a href= -"assoc_container_traits.html">container_traits</a><Cntnr>::invalidation_guarantee -</pre> - - <p>which is one of the classes in Figure <a href= - "#invalidation_guarantee_cd">Invalidation guarantees class - hierarchy</a>.</p> - - <p>Note that this hierarchy corresponds to the logic it - represents: if a container has range-invalidation guarantees, - then it must also have find invalidation guarantees; - correspondingly, its invalidation guarantee (in this case - <a href= - "range_invalidation_guarantee.html"><tt>range_invalidation_guarantee</tt></a>) - can be cast to its base class (in this case <a href= - "point_invalidation_guarantee.html"><tt>point_invalidation_guarantee</tt></a>). - This means that this this hierarchy can be used easily using - standard metaprogramming techniques, by specializing on the - type of <tt>invalidation_guarantee</tt>.</p> - - <p>(These types of problems were addressed, in a more general - setting, in [<a href= - "references.html#meyers96more">meyers96more</a>] - Item 2. In - our opinion, an invalidation-guarantee hierarchy would solve - these problems in all container types - not just associative - containers.)</p> - </div> -</body> -</html> diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/embedded_lists_1.png b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/embedded_lists_1.png Binary files differdeleted file mode 100644 index 9470a65b5..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/embedded_lists_1.png +++ /dev/null diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/embedded_lists_2.png b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/embedded_lists_2.png Binary files differdeleted file mode 100644 index d2ac91c1a..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/embedded_lists_2.png +++ /dev/null diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/embedded_lists_3.png b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/embedded_lists_3.png Binary files differdeleted file mode 100644 index 08ecb0ffe..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/embedded_lists_3.png +++ /dev/null diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/examples.html b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/examples.html deleted file mode 100644 index 03c7a3910..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/examples.html +++ /dev/null @@ -1,24 +0,0 @@ -<!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" xml:lang="en" lang="en"> -<head> - <meta name="generator" content= - "HTML Tidy for Linux/x86 (vers 12 April 2005), see www.w3.org" /> - - <title>Examples</title> - <meta http-equiv="Content-Type" content= - "text/html; charset=us-ascii" /> - </head> - -<body> - <div id="page"> - <h1>Examples</h1> - - <p><a href="assoc_examples.html">Associative-Container - Examples</a> shows examples for associative containers; - <a href="pq_examples.html">Priority-Queue Examples</a> shows - examples for priority queues.</p> - </div> -</body> -</html> diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/exceptions.html b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/exceptions.html deleted file mode 100644 index a51e8ebe0..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/exceptions.html +++ /dev/null @@ -1,46 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" - "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> -<head> -<meta name="generator" content= - "HTML Tidy for Linux/x86 (vers 12 April 2005), see www.w3.org" /> - -<title>container_error Interface</title> -<meta http-equiv="Content-Type" content= - "text/html; charset=us-ascii" /> -</head> - -<body> -<div id="page"> -<h1><tt>container_error</tt> Interface</h1> - -<p>Base class for associative-container exceptions.</p> - -<p>Defined in: <a href= - "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/include/ext/pb_ds/exception.hpp"><tt>exception.hpp</tt></a></p> - -<h2><a name="link1" id="link1">Base Classes</a></h2> - -<table class="c1" width="100%" border="1" summary="Bases"> -<tr> -<td width="80%" align="left"><b>Class</b></td> - -<td width="20%" align="left"><b>Derivation Type</b></td> -</tr> - -<tr> -<td> -<pre> -std::logic_error -</pre> -</td> - -<td> -<p>public</p> -</td> -</tr> -</table> -</div> -</body> -</html> diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/gp_hash_random_int_find_timing_test_gcc.png b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/gp_hash_random_int_find_timing_test_gcc.png Binary files differdeleted file mode 100644 index d86299b7e..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/gp_hash_random_int_find_timing_test_gcc.png +++ /dev/null diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/gp_hash_random_int_find_timing_test_local.png b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/gp_hash_random_int_find_timing_test_local.png Binary files differdeleted file mode 100644 index 1b31b7f27..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/gp_hash_random_int_find_timing_test_local.png +++ /dev/null diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/gp_hash_random_int_find_timing_test_msvc.png b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/gp_hash_random_int_find_timing_test_msvc.png Binary files differdeleted file mode 100644 index b7082f286..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/gp_hash_random_int_find_timing_test_msvc.png +++ /dev/null diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/gp_hash_random_int_subscript_timing_test_find_gcc.png b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/gp_hash_random_int_subscript_timing_test_find_gcc.png Binary files differdeleted file mode 100644 index b9fbe00de..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/gp_hash_random_int_subscript_timing_test_find_gcc.png +++ /dev/null diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/gp_hash_random_int_subscript_timing_test_find_local.png b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/gp_hash_random_int_subscript_timing_test_find_local.png Binary files differdeleted file mode 100644 index c693ed386..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/gp_hash_random_int_subscript_timing_test_find_local.png +++ /dev/null diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/gp_hash_random_int_subscript_timing_test_find_msvc.png b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/gp_hash_random_int_subscript_timing_test_find_msvc.png Binary files differdeleted file mode 100644 index 248ff6b88..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/gp_hash_random_int_subscript_timing_test_find_msvc.png +++ /dev/null diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/gp_hash_random_int_subscript_timing_test_insert_gcc.png b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/gp_hash_random_int_subscript_timing_test_insert_gcc.png Binary files differdeleted file mode 100644 index ac4f838fe..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/gp_hash_random_int_subscript_timing_test_insert_gcc.png +++ /dev/null diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/gp_hash_random_int_subscript_timing_test_insert_local.png b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/gp_hash_random_int_subscript_timing_test_insert_local.png Binary files differdeleted file mode 100644 index 9fa08a0c2..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/gp_hash_random_int_subscript_timing_test_insert_local.png +++ /dev/null diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/gp_hash_random_int_subscript_timing_test_insert_msvc.png b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/gp_hash_random_int_subscript_timing_test_insert_msvc.png Binary files differdeleted file mode 100644 index 5f1d740b8..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/gp_hash_random_int_subscript_timing_test_insert_msvc.png +++ /dev/null diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/gp_hash_table.html b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/gp_hash_table.html deleted file mode 100644 index dd9d725d3..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/gp_hash_table.html +++ /dev/null @@ -1,891 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" - "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> -<head> - <meta name="generator" content= - "HTML Tidy for Linux/x86 (vers 12 April 2005), see www.w3.org" /> - - <title>gp_hash_table Interface</title> - <meta http-equiv="Content-Type" content= - "text/html; charset=us-ascii" /> - </head> - -<body> - <div id="page"> - <h1><tt>gp_hash_table</tt> Interface</h1> - - <p>A concrete general-probing hash-based associative - container.</p> - - <p>Defined in: <a href= - "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/include/ext/pb_ds/assoc_container.hpp"><tt>assoc_container.hpp</tt></a></p> - - <h2><a name="link1" id="link1">Template Parameters</a></h2> - - <table class="c1" width="100%" border="1" summary= - "Template Parameters"> - <tr> - <td width="20%" align="left"><b>Parameter</b></td> - - <td width="50%" align="left"><b>Description</b></td> - - <td width="30%" align="left"><b>Default Value</b></td> - </tr> - - <tr> - <td> - <pre> -<a name="Key2501" id="Key2501"><b>typename</b> Key</a> -</pre> - </td> - - <td> - <p>Key type.</p> - </td> - - <td>-</td> - </tr> - - <tr> - <td> - <pre> -<a name="Mapped318655" id="Mapped318655"><b>typename</b> Mapped</a> -</pre> - </td> - - <td> - <p>Mapped type.</p> - </td> - - <td>-</td> - </tr> - - <tr> - <td> - <pre> -<a name="Hash_Fn1515835" id= -"Hash_Fn1515835"><b>class</b> Hash_Fn </a> -</pre> - </td> - - <td> - <p>Hash functor.</p> - </td> - - <td> - <pre> -__gnu_cxx::hash<<a href="#Key2501"><tt>Key</tt></a>> -</pre>if using gcc; - <pre> -stdext::hash_value<<a href="#Key2501"><tt>Key</tt></a>> -</pre>if using Visual C++ .net - </td> - </tr> - - <tr> - <td> - <pre> -<a name="Eq_Fn60085" id="Eq_Fn60085"><b>class</b> Eq_Fn </a> -</pre> - </td> - - <td> - <p>Equivalence functor.</p> - </td> - - <td> - <pre> -std::equal_to<<a href="#Key2501"><tt>Key</tt></a>> -</pre> - </td> - </tr> - - <tr> - <td> - <pre> -<a name="Comb_Probe_Fn1603930855" id= -"Comb_Probe_Fn1603930855"><b>class</b> Comb_Probe_Fn </a> -</pre> - </td> - - <td> - <p>Combining probe functor.</p> - - <p>If <a href="#Hash_Fn1515835"><tt>Hash_Fn</tt></a> is - <a href="null_hash_fn.html"><span class= - "c2"><tt>null_hash_fn</tt></span></a>, and <a href= - "#Probe_Fn8454835"><tt>Probe_Fn</tt></a> is <a href= - "null_probe_fn.html"><span class= - "c2"><tt>null_probe_fn</tt></span></a>, then this is the - ranged-probe functor; otherwise, this is the - range-hashing functor.</p> - - <p>(See <a href= - "hash_based_containers.html#hash_policies">Design::Hash-Based - Containers::Hash Policies</a>.)</p> - </td> - - <td><a href="direct_mask_range_hashing.html"><span class= - "c2"><tt>direct_mask_range_hashing</tt></span></a></td> - </tr> - - <tr> - <td> - <pre> -<a name="Probe_Fn8454835" id= -"Probe_Fn8454835"><b>class</b> Probe_Fn </a> -</pre> - </td> - - <td> - <p>Probe functor.</p> - </td> - - <td> - If <tt><a href= - "#Comb_Probe_Fn1603930855"><tt>Comb_Probe_Fn</tt></a></tt> - is <a href="direct_mask_range_hashing.html"><span class= - "c2"><tt>direct_mask_range_hashing</tt></span></a>, then - <pre> -<a href="linear_probe_fn.html"><span class= -"c2"><tt>linear_probe_fn</tt></span></a>< - <b>typename</b> <a href= -"#Comb_Probe_Fn1603930855"><tt>Comb_Probe_Fn</tt></a>::size_type> -</pre>otherwise, - <pre> -<a href="quadratic_probe_fn.html"><span class= -"c2"><tt>quadratic_probe_fn</tt></span></a>< - <b>typename</b> <a href= -"#Comb_Probe_Fn1603930855"><tt>Comb_Probe_Fn</tt></a>::size_type> -</pre> - </td> - </tr> - - <tr> - <td> - <pre> -<a name="Resize_Policy566860465" id= -"Resize_Policy566860465"><b>class</b> Resize_Policy </a> -</pre> - </td> - - <td> - <p>Resize policy.</p> - </td> - - <td> - If <tt><a href= - "#Comb_Probe_Fn1603930855"><tt>Comb_Probe_Fn</tt></a></tt> - is <tt><a href= - "direct_mask_range_hashing.html"><span class= - "c2"><tt>direct_mask_range_hashing</tt></span></a></tt>, - then - <pre> -<a href="hash_standard_resize_policy.html"><span class= -"c2"><tt>hash_standard_resize_policy</tt></span></a>< - <a href="hash_exponential_size_policy.html"><span class= -"c2"><tt>hash_exponential_size_policy</tt></span></a>< - <b>typename</b> <a href= -"#Comb_Probe_Fn1603930855"><tt>Comb_Probe_Fn</tt></a>::size_type>, - <a href="hash_load_check_resize_trigger.html"><span class= -"c2"><tt>hash_load_check_resize_trigger</tt></span></a>< - <b>typename</b> <a href= -"#Comb_Probe_Fn1603930855"><tt>Comb_Probe_Fn</tt></a>::size_type>, - <b>false</b>, - <b>typename</b> <a href= -"#Comb_Probe_Fn1603930855"><tt>Comb_Probe_Fn</tt></a>::size_type> -</pre>otherwise, - <pre> -<a href="hash_standard_resize_policy.html"><span class= -"c2"><tt>hash_standard_resize_policy</tt></span></a>< - <a href="hash_exponential_size_policy.html"><span class= -"c2"><tt>hash_exponential_size_policy</tt></span></a>< - <b>typename</b> <a href= -"#Comb_Probe_Fn1603930855"><tt>Comb_Probe_Fn</tt></a>::size_type>, - <a href="hash_load_check_resize_trigger.html"><span class= -"c2"><tt>hash_load_check_resize_trigger</tt></span></a>< - <b>typename</b> <a href= -"#Comb_Probe_Fn1603930855"><tt>Comb_Probe_Fn</tt></a>::size_type>, - <b>false</b>, - <b>typename</b> <a href= -"#Comb_Probe_Fn1603930855"><tt>Comb_Probe_Fn</tt></a>::size_type> -</pre> - </td> - </tr> - - <tr> - <td> - <pre> -<a name="Store_Hash218262104" id= -"Store_Hash218262104"><b>bool</b> Store_Hash </a> -</pre> - </td> - - <td> - <p>Indicates whether the hash value will be stored along - with each key.</p> - - <p>If <tt><a href= - "#hash_fn2015995"><tt>hash_fn</tt></a></tt> is <a href= - "null_hash_fn.html"><span class= - "c2"><tt>null_hash_fn</tt></span></a>, then the container - will not compile if this value is - <tt><b>true</b></tt></p> - </td> - - <td> - <pre> -<tt><b>false</b></tt> -</pre> - </td> - </tr> - - <tr> - <td> - <pre> -<a name="Allocator35940069" id= -"Allocator35940069"><b>class</b> Allocator </a> -</pre> - </td> - - <td> - <p>Allocator type.</p> - </td> - - <td> - <pre> -std::allocator<<b>char</b>> -</pre> - </td> - </tr> - </table> - - <h2><a name="link2" id="link2">Base Classes</a></h2> - - <table class="c1" width="100%" border="1" summary="Bases"> - <tr> - <td width="80%" align="left"><b>Class</b></td> - - <td width="20%" align="left"><b>Derivation Type</b></td> - </tr> - - <tr> - <td> - <pre> -<a href="basic_hash_table.html"><span class= -"c2"><tt>basic_hash_table</tt></span></a> -</pre> - </td> - - <td> - <p>public</p> - </td> - </tr> - </table> - - <h2><a name="link3" id="link3">Public Types and - Constants</a></h2> - - <h3><a name="link4" id="link4">Policy Definitions</a></h3> - - <table class="c1" width="100%" border="1" summary="Types"> - <tr> - <td width="30%" align="left"><b>Type</b></td> - - <td width="55%" align="left"><b>Definition</b></td> - - <td width="15%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -<a name="hash_fn2015995" id="hash_fn2015995">hash_fn</a> -</pre> - </td> - - <td> - <pre> -<a href="#Hash_Fn1515835"><tt>Hash_Fn</tt></a> -</pre> - </td> - - <td> - <p>Hash functor type.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<a name="eq_fn80245" id="eq_fn80245">eq_fn</a> -</pre> - </td> - - <td> - <pre> -<a href="#Eq_Fn60085"><tt>Eq_Fn</tt></a> -</pre> - </td> - - <td> - <p>Equivalence functor type.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<a name="comb_probe_fn828996423" id= -"comb_probe_fn828996423">comb_probe_fn</a> -</pre> - </td> - - <td> - <pre> -<a href="#Comb_Probe_Fn1603930855"><tt>Comb_Probe_Fn</tt></a> -</pre> - </td> - - <td> - <p>Combining probe functor type.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<a name="probe_fn10954995" id="probe_fn10954995">probe_fn</a> -</pre> - </td> - - <td> - <pre> -<a href="#Probe_Fn8454835"><tt>Probe_Fn</tt></a> -</pre> - </td> - - <td> - <p>Probe functor type.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<a name="resize_policy4084493169" id= -"resize_policy4084493169">resize_policy</a> -</pre> - </td> - - <td> - <pre> -<a href="#Resize_Policy566860465"><tt>Resize_Policy</tt></a> -</pre> - </td> - - <td> - <p>Resize policy type.</p> - </td> - </tr> - </table> - - <h2><a name="link5" id="link5">Public Methods</a></h2> - - <h3><a name="link6" id="link6">Constructors, Destructor, and - Related</a></h3> - - <table class="c1" width="100%" border="1" summary="Methods"> - <tr> - <td width="45%" align="left"><b>Method</b></td> - - <td width="55%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> - gp_hash_table - () -</pre> - </td> - - <td> - <p>Default constructor.</p> - </td> - </tr> - - <tr> - <td> - <pre> - gp_hash_table - (<b>const</b> <a href= -"#hash_fn2015995"><tt>hash_fn</tt></a> &r_hash_fn) -</pre> - </td> - - <td> - <p>Constructor taking some policy objects. <span class= - "c1"><tt>r_hash_fn</tt></span> will be copied by the - <a href="#hash_fn2015995"><tt>hash_fn</tt></a> object of - the container object.</p> - </td> - </tr> - - <tr> - <td> - <pre> - gp_hash_table - (<b>const</b> <a href= -"#hash_fn2015995"><tt>hash_fn</tt></a> &r_hash_fn, - <b>const</b> <a href= -"#eq_fn80245"><tt>eq_fn</tt></a> &r_eq_fn) -</pre> - </td> - - <td> - <p>Constructor taking some policy objects. <span class= - "c1"><tt>r_hash_fn</tt></span> will be copied by the - <a href="#hash_fn2015995"><tt>hash_fn</tt></a> object of - the container object, and <span class= - "c1"><tt>r_eq_fn</tt></span> will be copied by the - <a href="#eq_fn80245"><tt>eq_fn</tt></a> object of the - container object.</p> - </td> - </tr> - - <tr> - <td> - <pre> - gp_hash_table - (<b>const</b> <a href= -"#hash_fn2015995"><tt>hash_fn</tt></a> &r_hash_fn, - <b>const</b> <a href= -"#eq_fn80245"><tt>eq_fn</tt></a> &r_eq_fn, - <b>const</b> <a href= -"#comb_probe_fn828996423"><tt>comb_probe_fn</tt></a> &r_comb_probe_fn) -</pre> - </td> - - <td> - <p>Constructor taking some policy objects. <span class= - "c1"><tt>r_hash_fn</tt></span> will be copied by the - <a href="#hash_fn2015995"><tt>hash_fn</tt></a> object of - the container object, <span class= - "c1"><tt>r_eq_fn</tt></span> will be copied by the - <a href="#eq_fn80245"><tt>eq_fn</tt></a> object of the - container object, and <span class= - "c1"><tt>r_comb_probe_fn</tt></span> will be copied by - the <a href= - "#comb_probe_fn828996423"><tt>comb_probe_fn</tt></a> - object of the container object.</p> - </td> - </tr> - - <tr> - <td> - <pre> - gp_hash_table - (<b>const</b> <a href= -"#hash_fn2015995"><tt>hash_fn</tt></a> &r_hash_fn, - <b>const</b> <a href= -"#eq_fn80245"><tt>eq_fn</tt></a> &r_eq_fn, - <b>const</b> <a href= -"#comb_probe_fn828996423"><tt>comb_probe_fn</tt></a> &r_comb_probe_fn, - <b>const</b> <a href= -"#probe_fn10954995"><tt>probe_fn</tt></a> &r_probe_fn) -</pre> - </td> - - <td> - <p>Constructor taking some policy objects. <span class= - "c1"><tt>r_hash_fn</tt></span> will be copied by the - <a href="#hash_fn2015995"><tt>hash_fn</tt></a> object of - the container object, <span class= - "c1"><tt>r_eq_fn</tt></span> will be copied by the - <a href="#eq_fn80245"><tt>eq_fn</tt></a> object of the - container object, <span class= - "c1"><tt>r_comb_probe_fn</tt></span> will be copied by - the <a href= - "#comb_probe_fn828996423"><tt>comb_probe_fn</tt></a> - object of the container object, and <span class= - "c1"><tt>r_probe_fn</tt></span> will be copied by the - <a href="#probe_fn10954995"><tt>probe_fn</tt></a> object - of the container object.</p> - </td> - </tr> - - <tr> - <td> - <pre> - gp_hash_table - (<b>const</b> <a href= -"#hash_fn2015995"><tt>hash_fn</tt></a> &r_hash_fn, - <b>const</b> <a href= -"#eq_fn80245"><tt>eq_fn</tt></a> &r_eq_fn, - <b>const</b> <a href= -"#comb_probe_fn828996423"><tt>comb_probe_fn</tt></a> &r_comb_probe_fn, - <b>const</b> <a href= -"#probe_fn10954995"><tt>probe_fn</tt></a> &r_probe_fn, - <b>const</b> <a href= -"#resize_policy4084493169"><tt>resize_policy</tt></a> &r_resize_policy) -</pre> - </td> - - <td> - <p>Constructor taking some policy objects. <span class= - "c1"><tt>r_hash_fn</tt></span> will be copied by the - <a href="#hash_fn2015995"><tt>hash_fn</tt></a> object of - the container object, <span class= - "c1"><tt>r_eq_fn</tt></span> will be copied by the - <a href="#eq_fn80245"><tt>eq_fn</tt></a> object of the - container object, <span class= - "c1"><tt>r_comb_probe_fn</tt></span> will be copied by - the <a href= - "#comb_probe_fn828996423"><tt>comb_probe_fn</tt></a> - object of the container object, <span class= - "c1"><tt>r_probe_fn</tt></span> will be copied by the - <a href="#probe_fn10954995"><tt>probe_fn</tt></a> object - of the container object, and <span class= - "c1"><tt>r_resize_policy</tt></span> will be copied by - the <a href= - "#Resize_Policy566860465"><tt>Resize_Policy</tt></a> - object of the container object.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<b>template</b>< - <b>class</b> It> - gp_hash_table - (It first_it, - It last_it) -</pre> - </td> - - <td> - <p>Constructor taking iterators to a range of - value_types. The value_types between <span class= - "c1"><tt>first_it</tt></span> and <span class= - "c1"><tt>last_it</tt></span> will be inserted into the - container object.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<b>template</b>< - <b>class</b> It> - gp_hash_table - (It first_it, - It last_it, - <b>const</b> <a href= -"#hash_fn2015995"><tt>hash_fn</tt></a> &r_hash_fn) -</pre> - </td> - - <td> - <p>Constructor taking iterators to a range of value_types - and some policy objects. The value_types between - <span class="c1"><tt>first_it</tt></span> and - <span class="c1"><tt>last_it</tt></span> will be inserted - into the container object. <span class= - "c1"><tt>r_hash_fn</tt></span> will be copied by the - <a href="#hash_fn2015995"><tt>hash_fn</tt></a> object of - the container object.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<b>template</b>< - <b>class</b> It> - gp_hash_table - (It first_it, - It last_it, - <b>const</b> <a href= -"#hash_fn2015995"><tt>hash_fn</tt></a> &r_hash_fn, - <b>const</b> <a href= -"#eq_fn80245"><tt>eq_fn</tt></a> &r_eq_fn) -</pre> - </td> - - <td> - <p>Constructor taking iterators to a range of value_types - and some policy objects. The value_types between - <span class="c1"><tt>first_it</tt></span> and - <span class="c1"><tt>last_it</tt></span> will be inserted - into the container object. <span class= - "c1"><tt>r_hash_fn</tt></span> will be copied by the - <a href="#hash_fn2015995"><tt>hash_fn</tt></a> object of - the container object, and <span class= - "c1"><tt>r_eq_fn</tt></span> will be copied by the - <a href="#eq_fn80245"><tt>eq_fn</tt></a> object of the - container object.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<b>template</b>< - <b>class</b> It> - gp_hash_table - (It first_it, - It last_it, - <b>const</b> <a href= -"#hash_fn2015995"><tt>hash_fn</tt></a> &r_hash_fn, - <b>const</b> <a href= -"#eq_fn80245"><tt>eq_fn</tt></a> &r_eq_fn, - <b>const</b> <a href= -"#comb_probe_fn828996423"><tt>comb_probe_fn</tt></a> &r_comb_probe_fn) -</pre> - </td> - - <td> - <p>Constructor taking iterators to a range of value_types - and some policy objects. The value_types between - <span class="c1"><tt>first_it</tt></span> and - <span class="c1"><tt>last_it</tt></span> will be inserted - into the container object. <span class= - "c1"><tt>r_hash_fn</tt></span> will be copied by the - <a href="#hash_fn2015995"><tt>hash_fn</tt></a> object of - the container object, <span class= - "c1"><tt>r_eq_fn</tt></span> will be copied by the - <a href="#eq_fn80245"><tt>eq_fn</tt></a> object of the - container object, and <span class= - "c1"><tt>r_comb_probe_fn</tt></span> will be copied by - the <a href= - "#comb_probe_fn828996423"><tt>comb_probe_fn</tt></a> - object of the container object.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<b>template</b>< - <b>class</b> It> - gp_hash_table - (It first_it, - It last_it, - <b>const</b> <a href= -"#hash_fn2015995"><tt>hash_fn</tt></a> &r_hash_fn, - <b>const</b> <a href= -"#eq_fn80245"><tt>eq_fn</tt></a> &r_eq_fn, - <b>const</b> <a href= -"#comb_probe_fn828996423"><tt>comb_probe_fn</tt></a> &r_comb_probe_fn, - <b>const</b> <a href= -"#probe_fn10954995"><tt>probe_fn</tt></a> &r_probe_fn) -</pre> - </td> - - <td> - <p>Constructor taking iterators to a range of value_types - and some policy objects. The value_types between - <span class="c1"><tt>first_it</tt></span> and - <span class="c1"><tt>last_it</tt></span> will be inserted - into the container object. <span class= - "c1"><tt>r_hash_fn</tt></span> will be copied by the - <a href="#hash_fn2015995"><tt>hash_fn</tt></a> object of - the container object, <span class= - "c1"><tt>r_eq_fn</tt></span> will be copied by the - <a href="#eq_fn80245"><tt>eq_fn</tt></a> object of the - container object, <span class= - "c1"><tt>r_comb_probe_fn</tt></span> will be copied by - the <a href= - "#comb_probe_fn828996423"><tt>comb_probe_fn</tt></a> - object of the container object, and <span class= - "c1"><tt>r_probe_fn</tt></span> will be copied by the - <a href="#probe_fn10954995"><tt>probe_fn</tt></a> object - of the container object.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<b>template</b>< - <b>class</b> It> - gp_hash_table - (It first_it, - It last_it, - <b>const</b> <a href= -"#hash_fn2015995"><tt>hash_fn</tt></a> &r_hash_fn, - <b>const</b> <a href= -"#eq_fn80245"><tt>eq_fn</tt></a> &r_eq_fn, - <b>const</b> <a href= -"#comb_probe_fn828996423"><tt>comb_probe_fn</tt></a> &r_comb_probe_fn, - <b>const</b> <a href= -"#probe_fn10954995"><tt>probe_fn</tt></a> &r_probe_fn, - <b>const</b> <a href= -"#resize_policy4084493169"><tt>resize_policy</tt></a> &r_resize_policy) -</pre> - </td> - - <td> - <p>Constructor taking iterators to a range of value_types - and some policy objects. The value_types between - <span class="c1"><tt>first_it</tt></span> and - <span class="c1"><tt>last_it</tt></span> will be inserted - into the container object. <span class= - "c1"><tt>r_hash_fn</tt></span> will be copied by the - <a href="#hash_fn2015995"><tt>hash_fn</tt></a> object of - the container object, <span class= - "c1"><tt>r_eq_fn</tt></span> will be copied by the - <a href="#eq_fn80245"><tt>eq_fn</tt></a> object of the - container object, <span class= - "c1"><tt>r_comb_probe_fn</tt></span> will be copied by - the <a href= - "#comb_probe_fn828996423"><tt>comb_probe_fn</tt></a> - object of the container object, <span class= - "c1"><tt>r_probe_fn</tt></span> will be copied by the - <a href="#probe_fn10954995"><tt>probe_fn</tt></a> object - of the container object, and <span class= - "c1"><tt>r_resize_policy</tt></span> will be copied by - the <a href= - "#resize_policy4084493169"><tt>resize_policy</tt></a> - object of the container object.</p> - </td> - </tr> - - <tr> - <td> - <pre> - gp_hash_table - (<b>const</b> <span class= -"c2"><tt>gp_hash_table</tt></span> &other) -</pre> - </td> - - <td> - <p>Copy constructor.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<b>virtual</b> - ~gp_hash_table - () -</pre> - </td> - - <td> - <p>Destructor.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<span class="c2"><tt>gp_hash_table</tt></span> & - <b>operator</b>= - (<b>const</b> <span class= -"c2"><tt>gp_hash_table</tt></span> &other) -</pre> - </td> - - <td> - <p>Assignment operator.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<b>void</b> - swap - (<span class= -"c2"><tt>gp_hash_table</tt></span> &other) -</pre> - </td> - - <td> - <p>Swaps content.</p> - </td> - </tr> - </table> - - <h3><a name="link7" id="link7">Policy Access Methods</a></h3> - - <table class="c1" width="100%" border="1" summary="Methods"> - <tr> - <td width="45%" align="left"><b>Method</b></td> - - <td width="55%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -<a href="#comb_probe_fn828996423"><tt>comb_probe_fn</tt></a> & - get_comb_probe_fn - () -</pre> - </td> - - <td> - <p>Access to the <a href= - "#comb_probe_fn828996423"><tt>comb_probe_fn</tt></a> - object.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<b>const</b> <a href= -"#comb_probe_fn828996423"><tt>comb_probe_fn</tt></a> & - get_comb_probe_fn - () <b>const</b> -</pre> - </td> - - <td> - <p>Const access to the <a href= - "#comb_probe_fn828996423"><tt>comb_probe_fn</tt></a> - object.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<a href="#probe_fn10954995"><tt>probe_fn</tt></a> & - get_probe_fn - () -</pre> - </td> - - <td> - <p>Access to the <a href= - "#probe_fn10954995"><tt>probe_fn</tt></a> object.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<b>const</b> <a href= -"#probe_fn10954995"><tt>probe_fn</tt></a> & - get_probe_fn - () <b>const</b> -</pre> - </td> - - <td> - <p>Const access to the <a href= - "#probe_fn10954995"><tt>probe_fn</tt></a> object.</p> - </td> - </tr> - </table> - </div> -</body> -</html> diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/gp_hash_tag.html b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/gp_hash_tag.html deleted file mode 100644 index 4c5f06b57..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/gp_hash_tag.html +++ /dev/null @@ -1,47 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" - "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> -<head> - <meta name="generator" content= - "HTML Tidy for Linux/x86 (vers 12 April 2005), see www.w3.org" /> - - <title>gp_hash_tag Interface</title> - <meta http-equiv="Content-Type" content= - "text/html; charset=us-ascii" /> - </head> - -<body> - <div id="page"> - <h1><tt>gp_hash_tag</tt> Interface</h1> - - <p>General-probing hash data structure tag.</p> - - <p>Defined in: <a href= - "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/include/ext/pb_ds/tag_and_trait.hpp"><tt>tag_and_trait.hpp</tt></a></p> - - <h2><a name="link1" id="link1">Base Classes</a></h2> - - <table class="c1" width="100%" border="1" summary="Bases"> - <tr> - <td width="80%" align="left"><b>Class</b></td> - - <td width="20%" align="left"><b>Derivation Type</b></td> - </tr> - - <tr> - <td> - <pre> -<a href="basic_hash_tag.html"><span class= -"c2"><tt>basic_hash_tag</tt></span></a> -</pre> - </td> - - <td> - <p>public</p> - </td> - </tr> - </table> - </div> -</body> -</html> diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/hash_based_containers.html b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/hash_based_containers.html deleted file mode 100644 index 21d092a76..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/hash_based_containers.html +++ /dev/null @@ -1,835 +0,0 @@ -<!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" xml:lang="en" lang="en"> -<head> - <meta name="generator" content= - "HTML Tidy for Linux/x86 (vers 12 April 2005), see www.w3.org" /> - - <title>Hash-Based Containers</title> - <meta http-equiv="Content-Type" content= - "text/html; charset=us-ascii" /> - </head> - -<body> - <div id="page"> - <h1>Hash Table Design</h1> - - <h2><a name="overview" id="overview">Overview</a></h2> - - <p>The collision-chaining hash-based container has the - following declaration.</p> - <pre> -<b>template</b>< - <b>typename</b> Key, - <b>typename</b> Mapped, - <b>typename</b> Hash_Fn = std::hash<Key>, - <b>typename</b> Eq_Fn = std::equal_to<Key>, - <b>typename</b> Comb_Hash_Fn = <a href= -"direct_mask_range_hashing.html">direct_mask_range_hashing</a><> - <b>typename</b> Resize_Policy = <i>default explained below.</i> - <b>bool</b> Store_Hash = <b>false</b>, - <b>typename</b> Allocator = std::allocator<<b>char</b>> > -<b>class</b> <a href= -"cc_hash_table.html">cc_hash_table</a>; -</pre> - - <p>The parameters have the following meaning:</p> - - <ol> - <li><tt>Key</tt> is the key type.</li> - - <li><tt>Mapped</tt> is the mapped-policy, and is explained in - <a href="tutorial.html#assoc_ms">Tutorial::Associative - Containers::Associative Containers Others than Maps</a>.</li> - - <li><tt>Hash_Fn</tt> is a key hashing functor.</li> - - <li><tt>Eq_Fn</tt> is a key equivalence functor.</li> - - <li><tt>Comb_Hash_Fn</tt> is a <i>range-hashing_functor</i>; - it describes how to translate hash values into positions - within the table. This is described in <a href= - "#hash_policies">Hash Policies</a>.</li> - - <li><tt>Resize_Policy</tt> describes how a container object - should change its internal size. This is described in - <a href="#resize_policies">Resize Policies</a>.</li> - - <li><tt>Store_Hash</tt> indicates whether the hash value - should be stored with each entry. This is described in - <a href="#policy_interaction">Policy Interaction</a>.</li> - - <li><tt>Allocator</tt> is an allocator - type.</li> - </ol> - - <p>The probing hash-based container has the following - declaration.</p> - <pre> -<b>template</b>< - <b>typename</b> Key, - <b>typename</b> Mapped, - <b>typename</b> Hash_Fn = std::hash<Key>, - <b>typename</b> Eq_Fn = std::equal_to<Key>, - <b>typename</b> Comb_Probe_Fn = <a href= -"direct_mask_range_hashing.html">direct_mask_range_hashing</a><> - <b>typename</b> Probe_Fn = <i>default explained below.</i> - <b>typename</b> Resize_Policy = <i>default explained below.</i> - <b>bool</b> Store_Hash = <b>false</b>, - <b>typename</b> Allocator = std::allocator<<b>char</b>> > -<b>class</b> <a href= -"gp_hash_table.html">gp_hash_table</a>; -</pre> - - <p>The parameters are identical to those of the - collision-chaining container, except for the following.</p> - - <ol> - <li><tt>Comb_Probe_Fn</tt> describes how to transform a probe - sequence into a sequence of positions within the table.</li> - - <li><tt>Probe_Fn</tt> describes a probe sequence policy.</li> - </ol> - - <p>Some of the default template values depend on the values of - other parameters, and are explained in <a href= - "#policy_interaction">Policy Interaction</a>.</p> - - <h2><a name="hash_policies" id="hash_policies">Hash - Policies</a></h2> - - <h3><a name="general_terms" id="general_terms">General - Terms</a></h3> - - <p>Following is an explanation of some functions which hashing - involves. Figure <a href= - "#hash_ranged_hash_range_hashing_fns">Hash functions, - ranged-hash functions, and range-hashing functions</a>) - illustrates the discussion.</p> - - <h6 class="c1"><a name="hash_ranged_hash_range_hashing_fns" id= - "hash_ranged_hash_range_hashing_fns"><img src= - "hash_ranged_hash_range_hashing_fns.png" alt= - "no image" /></a></h6> - - <h6 class="c1">Hash functions, ranged-hash functions, and - range-hashing functions.</h6> - - <p>Let <i>U</i> be a domain (<i>e.g.</i>, the integers, or the - strings of 3 characters). A hash-table algorithm needs to map - elements of <i>U</i> "uniformly" into the range <i>[0,..., m - - 1]</i> (where <i>m</i> is a non-negative integral value, and - is, in general, time varying). <i>I.e.</i>, the algorithm needs - a <i>ranged-hash</i> function</p> - - <p><i>f : U × Z<sub>+</sub> → Z<sub>+</sub></i> - ,</p> - - <p>such that for any <i>u</i> in <i>U</i> ,</p> - - <p><i>0 ≤ f(u, m) ≤ m - 1</i> ,</p> - - <p>and which has "good uniformity" properties [<a href= - "references.html#knuth98sorting">knuth98sorting</a>]. One - common solution is to use the composition of the hash - function</p> - - <p><i>h : U → Z<sub>+</sub></i> ,</p> - - <p>which maps elements of <i>U</i> into the non-negative - integrals, and</p> - - <p class="c2">g : Z<sub>+</sub> × Z<sub>+</sub> → - Z<sub>+</sub>,</p> - - <p>which maps a non-negative hash value, and a non-negative - range upper-bound into a non-negative integral in the range - between 0 (inclusive) and the range upper bound (exclusive), - <i>i.e.</i>, for any <i>r</i> in <i>Z<sub>+</sub></i>,</p> - - <p><i>0 ≤ g(r, m) ≤ m - 1</i> .</p> - - <p>The resulting ranged-hash function, is</p> - - <p><i><a name="ranged_hash_composed_of_hash_and_range_hashing" - id="ranged_hash_composed_of_hash_and_range_hashing">f(u , m) = - g(h(u), m)</a></i> (1) .</p> - - <p>From the above, it is obvious that given <i>g</i> and - <i>h</i>, <i>f</i> can always be composed (however the converse - is not true). The STL's hash-based containers allow specifying - a hash function, and use a hard-wired range-hashing function; - the ranged-hash function is implicitly composed.</p> - - <p>The above describes the case where a key is to be mapped - into a <i>single position</i> within a hash table, <i>e.g.</i>, - in a collision-chaining table. In other cases, a key is to be - mapped into a <i>sequence of positions</i> within a table, - <i>e.g.</i>, in a probing table. Similar terms apply in this - case: the table requires a <i>ranged probe</i> function, - mapping a key into a sequence of positions withing the table. - This is typically achieved by composing a <i>hash function</i> - mapping the key into a non-negative integral type, a - <i>probe</i> function transforming the hash value into a - sequence of hash values, and a <i>range-hashing</i> function - transforming the sequence of hash values into a sequence of - positions.</p> - - <h3><a name="range_hashing_fns" id= - "range_hashing_fns">Range-Hashing Functions</a></h3> - - <p>Some common choices for range-hashing functions are the - division, multiplication, and middle-square methods [<a href= - "references.html#knuth98sorting">knuth98sorting</a>], defined - as</p> - - <p><i><a name="division_method" id="division_method">g(r, m) = - r mod m</a></i> (2) ,</p> - - <p><i>g(r, m) = ⌈ u/v ( a r mod v ) ⌉</i> ,</p> - - <p>and</p> - - <p><i>g(r, m) = ⌈ u/v ( r<sup>2</sup> mod v ) ⌉</i> - ,</p> - - <p>respectively, for some positive integrals <i>u</i> and - <i>v</i> (typically powers of 2), and some <i>a</i>. Each of - these range-hashing functions works best for some different - setting.</p> - - <p>The division method <a href="#division_method">(2)</a> is a - very common choice. However, even this single method can be - implemented in two very different ways. It is possible to - implement <a href="#division_method">(2)</a> using the low - level <i>%</i> (modulo) operation (for any <i>m</i>), or the - low level <i>&</i> (bit-mask) operation (for the case where - <i>m</i> is a power of 2), <i>i.e.</i>,</p> - - <p><i><a name="division_method_prime_mod" id= - "division_method_prime_mod">g(r, m) = r % m</a></i> (3) ,</p> - - <p>and</p> - - <p><i><a name="division_method_bit_mask" id= - "division_method_bit_mask">g(r, m) = r & m - 1, (m = - 2<sup>k</sup>)</a></i> for some <i>k)</i> (4),</p> - - <p>respectively.</p> - - <p>The <i>%</i> (modulo) implementation <a href= - "#division_method_prime_mod">(3)</a> has the advantage that for - <i>m</i> a prime far from a power of 2, <i>g(r, m)</i> is - affected by all the bits of <i>r</i> (minimizing the chance of - collision). It has the disadvantage of using the costly modulo - operation. This method is hard-wired into SGI's implementation - [<a href="references.html#sgi_stl">sgi_stl</a>].</p> - - <p>The <i>&</i> (bit-mask) implementation <a href= - "#division_method_bit_mask">(4)</a> has the advantage of - relying on the fast bit-wise and operation. It has the - disadvantage that for <i>g(r, m)</i> is affected only by the - low order bits of <i>r</i>. This method is hard-wired into - Dinkumware's implementation [<a href= - "references.html#dinkumware_stl">dinkumware_stl</a>].</p> - - <h3><a name="hash_policies_ranged_hash_policies" id= - "hash_policies_ranged_hash_policies">Ranged-Hash - Functions</a></h3> - - <p>In cases it is beneficial to allow the - client to directly specify a ranged-hash hash function. It is - true, that the writer of the ranged-hash function cannot rely - on the values of <i>m</i> having specific numerical properties - suitable for hashing (in the sense used in [<a href= - "references.html#knuth98sorting">knuth98sorting</a>]), since - the values of <i>m</i> are determined by a resize policy with - possibly orthogonal considerations.</p> - - <p>There are two cases where a ranged-hash function can be - superior. The firs is when using perfect hashing [<a href= - "references.html#knuth98sorting">knuth98sorting</a>]; the - second is when the values of <i>m</i> can be used to estimate - the "general" number of distinct values required. This is - described in the following.</p> - - <p>Let</p> - - <p class="c2">s = [ s<sub>0</sub>,..., s<sub>t - 1</sub>]</p> - - <p>be a string of <i>t</i> characters, each of which is from - domain <i>S</i>. Consider the following ranged-hash - function:</p> - - <p><a name="total_string_dna_hash" id= - "total_string_dna_hash"><i>f<sub>1</sub>(s, m) = ∑ <sub>i = - 0</sub><sup>t - 1</sup> s<sub>i</sub> a<sup>i</sup></i> mod - <i>m</i></a> (5) ,</p> - - <p>where <i>a</i> is some non-negative integral value. This is - the standard string-hashing function used in SGI's - implementation (with <i>a = 5</i>) [<a href= - "references.html#sgi_stl">sgi_stl</a>]. Its advantage is that - it takes into account all of the characters of the string.</p> - - <p>Now assume that <i>s</i> is the string representation of a - of a long DNA sequence (and so <i>S = {'A', 'C', 'G', - 'T'}</i>). In this case, scanning the entire string might be - prohibitively expensive. A possible alternative might be to use - only the first <i>k</i> characters of the string, where</p> - - <p>|S|<sup>k</sup> ≥ m ,</p> - - <p><i>i.e.</i>, using the hash function</p> - - <p><a name="only_k_string_dna_hash" id= - "only_k_string_dna_hash"><i>f<sub>2</sub>(s, m) = ∑ <sub>i - = 0</sub><sup>k - 1</sup> s<sub>i</sub> a<sup>i</sup></i> mod - <i>m</i></a> , (6)</p> - - <p>requiring scanning over only</p> - - <p><i>k =</i> log<i><sub>4</sub>( m )</i></p> - - <p>characters.</p> - - <p>Other more elaborate hash-functions might scan <i>k</i> - characters starting at a random position (determined at each - resize), or scanning <i>k</i> random positions (determined at - each resize), <i>i.e.</i>, using</p> - - <p><i>f<sub>3</sub>(s, m) = ∑ <sub>i = - r</sub>0</i><sup>r<sub>0</sub> + k - 1</sup> s<sub>i</sub> - a<sup>i</sup> mod <i>m</i> ,</p> - - <p>or</p> - - <p><i>f<sub>4</sub>(s, m) = ∑ <sub>i = 0</sub><sup>k - - 1</sup> s<sub>r</sub>i</i> a<sup>r<sub>i</sub></sup> mod - <i>m</i> ,</p> - - <p>respectively, for <i>r<sub>0</sub>,..., r<sub>k-1</sub></i> - each in the (inclusive) range <i>[0,...,t-1]</i>.</p> - - <p>It should be noted that the above functions cannot be - decomposed as <a href= - "#ranged_hash_composed_of_hash_and_range_hashing">(1)</a> .</p> - - <h3><a name="pb_ds_imp" id="pb_ds_imp">Implementation</a></h3> - - <p>This sub-subsection describes the implementation of the - above in <tt>pb_ds</tt>. It first explains range-hashing - functions in collision-chaining tables, then ranged-hash - functions in collision-chaining tables, then probing-based - tables, and, finally, lists the relevant classes in - <tt>pb_ds</tt>.</p> - - <h4>Range-Hashing and Ranged-Hashes in Collision-Chaining - Tables</h4> - - <p><a href= - "cc_hash_table.html"><tt>cc_hash_table</tt></a> is - parametrized by <tt>Hash_Fn</tt> and <tt>Comb_Hash_Fn</tt>, a - hash functor and a combining hash functor, respectively.</p> - - <p>In general, <tt>Comb_Hash_Fn</tt> is considered a - range-hashing functor. <a href= - "cc_hash_table.html"><tt>cc_hash_table</tt></a> - synthesizes a ranged-hash function from <tt>Hash_Fn</tt> and - <tt>Comb_Hash_Fn</tt> (see <a href= - "#ranged_hash_composed_of_hash_and_range_hashing">(1)</a> - above). Figure <a href="#hash_range_hashing_seq_diagram">Insert - hash sequence diagram</a> shows an <tt>insert</tt> sequence - diagram for this case. The user inserts an element (point A), - the container transforms the key into a non-negative integral - using the hash functor (points B and C), and transforms the - result into a position using the combining functor (points D - and E).</p> - - <h6 class="c1"><a name="hash_range_hashing_seq_diagram" id= - "hash_range_hashing_seq_diagram"><img src= - "hash_range_hashing_seq_diagram.png" alt="no image" /></a></h6> - - <h6 class="c1">Insert hash sequence diagram.</h6> - - <p>If <a href= - "cc_hash_table.html"><tt>cc_hash_table</tt></a>'s - hash-functor, <tt>Hash_Fn</tt> is instantiated by <a href= - "null_hash_fn.html"><tt>null_hash_fn</tt></a> (see <a href= - "concepts.html#concepts_null_policies">Interface::Concepts::Null - Policy Classes</a>), then <tt>Comb_Hash_Fn</tt> is taken to be - a ranged-hash function. Figure <a href= - "#hash_range_hashing_seq_diagram2">Insert hash sequence diagram - with a null hash policy</a> shows an <tt>insert</tt> sequence - diagram. The user inserts an element (point A), the container - transforms the key into a position using the combining functor - (points B and C).</p> - - <h6 class="c1"><a name="hash_range_hashing_seq_diagram2" id= - "hash_range_hashing_seq_diagram2"><img src= - "hash_range_hashing_seq_diagram2.png" alt= - "no image" /></a></h6> - - <h6 class="c1">Insert hash sequence diagram with a null hash - policy.</h6> - - <h4>Probing Tables</h4> - - <p><a href= - "gp_hash_table.html"></a><tt>gp_hash_table</tt> is - parametrized by <tt>Hash_Fn</tt>, <tt>Probe_Fn</tt>, and - <tt>Comb_Probe_Fn</tt>. As before, if <tt>Hash_Fn</tt> and - <tt>Probe_Fn</tt> are, respectively, <a href= - "null_hash_fn.html"><tt>null_hash_fn</tt></a> and <a href= - "null_probe_fn.html"><tt>null_probe_fn</tt></a>, then - <tt>Comb_Probe_Fn</tt> is a ranged-probe functor. Otherwise, - <tt>Hash_Fn</tt> is a hash functor, <tt>Probe_Fn</tt> is a - functor for offsets from a hash value, and - <tt>Comb_Probe_Fn</tt> transforms a probe sequence into a - sequence of positions within the table.</p> - - <h4>Pre-Defined Policies</h4> - - <p><tt>pb_ds</tt> contains some pre-defined classes - implementing range-hashing and probing functions:</p> - - <ol> - <li><a href= - "direct_mask_range_hashing.html"><tt>direct_mask_range_hashing</tt></a> - and <a href= - "direct_mod_range_hashing.html"><tt>direct_mod_range_hashing</tt></a> - are range-hashing functions based on a bit-mask and a modulo - operation, respectively.</li> - - <li><a href= - "linear_probe_fn.html"><tt>linear_probe_fn</tt></a>, and - <a href= - "quadratic_probe_fn.html"><tt>quadratic_probe_fn</tt></a> are - a linear probe and a quadratic probe function, - respectively.</li> - </ol>Figure <a href="#hash_policy_cd">Hash policy class - diagram</a> shows a class diagram. - - <h6 class="c1"><a name="hash_policy_cd" id= - "hash_policy_cd"><img src="hash_policy_cd.png" alt= - "no image" /></a></h6> - - <h6 class="c1">Hash policy class diagram.</h6> - - <h2><a name="resize_policies" id="resize_policies">Resize - Policies</a></h2> - - <h3><a name="general" id="general">General Terms</a></h3> - - <p>Hash-tables, as opposed to trees, do not naturally grow or - shrink. It is necessary to specify policies to determine how - and when a hash table should change its size. Usually, resize - policies can be decomposed into orthogonal policies:</p> - - <ol> - <li>A <i>size policy</i> indicating <i>how</i> a hash table - should grow (<i>e.g.,</i> it should multiply by powers of - 2).</li> - - <li>A <i>trigger policy</i> indicating <i>when</i> a hash - table should grow (<i>e.g.,</i> a load factor is - exceeded).</li> - </ol> - - <h3><a name="size_policies" id="size_policies">Size - Policies</a></h3> - - <p>Size policies determine how a hash table changes size. These - policies are simple, and there are relatively few sensible - options. An exponential-size policy (with the initial size and - growth factors both powers of 2) works well with a mask-based - range-hashing function (see <a href= - "#hash_policies">Range-Hashing Policies</a>), and is the - hard-wired policy used by Dinkumware [<a href= - "references.html#dinkumware_stl">dinkumware_stl</a>]. A - prime-list based policy works well with a modulo-prime range - hashing function (see <a href="#hash_policies">Range-Hashing - Policies</a>), and is the hard-wired policy used by SGI's - implementation [<a href= - "references.html#sgi_stl">sgi_stl</a>].</p> - - <h3><a name="trigger_policies" id="trigger_policies">Trigger - Policies</a></h3> - - <p>Trigger policies determine when a hash table changes size. - Following is a description of two policies: <i>load-check</i> - policies, and collision-check policies.</p> - - <p>Load-check policies are straightforward. The user specifies - two factors, <i>α<sub>min</sub></i> and - <i>α<sub>max</sub></i>, and the hash table maintains the - invariant that</p> - - <p><i><a name="load_factor_min_max" id= - "load_factor_min_max">α<sub>min</sub> ≤ (number of - stored elements) / (hash-table size) ≤ - α<sub>max</sub></a></i> (1) .</p> - - <p>Collision-check policies work in the opposite direction of - load-check policies. They focus on keeping the number of - collisions moderate and hoping that the size of the table will - not grow very large, instead of keeping a moderate load-factor - and hoping that the number of collisions will be small. A - maximal collision-check policy resizes when the longest - probe-sequence grows too large.</p> - - <p>Consider Figure <a href="#balls_and_bins">Balls and - bins</a>. Let the size of the hash table be denoted by - <i>m</i>, the length of a probe sequence be denoted by - <i>k</i>, and some load factor be denoted by α. We would - like to calculate the minimal length of <i>k</i>, such that if - there were <i>α m</i> elements in the hash table, a probe - sequence of length <i>k</i> would be found with probability at - most <i>1/m</i>.</p> - - <h6 class="c1"><a name="balls_and_bins" id= - "balls_and_bins"><img src="balls_and_bins.png" alt= - "no image" /></a></h6> - - <h6 class="c1">Balls and bins.</h6> - - <p>Denote the probability that a probe sequence of length - <i>k</i> appears in bin <i>i</i> by <i>p<sub>i</sub></i>, the - length of the probe sequence of bin <i>i</i> by - <i>l<sub>i</sub></i>, and assume uniform distribution. Then</p> - - <p><a name="prob_of_p1" id= - "prob_of_p1"><i>p<sub>1</sub></i></a> = (3)</p> - - <p class="c2"><b>P</b>(l<sub>1</sub> ≥ k) =</p> - - <p><i><b>P</b>(l<sub>1</sub> ≥ α ( 1 + k / α - 1 - ) ≤</i> (a)</p> - - <p><i>e ^ ( - ( α ( k / α - 1 )<sup>2</sup> ) /2 - )</i> ,</p> - - <p>where (a) follows from the Chernoff bound [<a href= - "references.html#motwani95random">motwani95random</a>]. To - calculate the probability that <i>some</i> bin contains a probe - sequence greater than <i>k</i>, we note that the - <i>l<sub>i</sub></i> are negatively-dependent [<a href= - "references.html#dubhashi98neg">dubhashi98neg</a>]. Let - <i><b>I</b>(.)</i> denote the indicator function. Then</p> - - <p><a name="at_least_k_i_n_some_bin" id= - "at_least_k_i_n_some_bin"><i><b>P</b>( exists<sub>i</sub> - l<sub>i</sub> ≥ k ) =</i> (3)</a></p> - - <p class="c2"><b>P</b> ( ∑ <sub>i = 1</sub><sup>m</sup> - <b>I</b>(l<sub>i</sub> ≥ k) ≥ 1 ) =</p> - - <p><i><b>P</b> ( ∑ <sub>i = 1</sub><sup>m</sup> <b>I</b> ( - l<sub>i</sub> ≥ k ) ≥ m p<sub>1</sub> ( 1 + 1 / (m - p<sub>1</sub>) - 1 ) ) ≤</i> (a)</p> - - <p class="c2">e ^ ( ( - m p<sub>1</sub> ( 1 / (m p<sub>1</sub>) - - 1 ) <sup>2</sup> ) / 2 ) ,</p> - - <p>where (a) follows from the fact that the Chernoff bound can - be applied to negatively-dependent variables [<a href= - "references.html#dubhashi98neg">dubhashi98neg</a>]. Inserting - <a href="#prob_of_p1">(2)</a> into <a href= - "#at_least_k_i_n_some_bin">(3)</a>, and equating with - <i>1/m</i>, we obtain</p> - - <p><i>k ~ √ ( 2 α</i> ln <i>2 m</i> ln<i>(m) ) - )</i> .</p> - - <h3><a name="imp_pb_ds" id="imp_pb_ds">Implementation</a></h3> - - <p>This sub-subsection describes the implementation of the - above in <tt>pb_ds</tt>. It first describes resize policies and - their decomposition into trigger and size policies, then - describes pre-defined classes, and finally discusses controlled - access the policies' internals.</p> - - <h4>Resize Policies and Their Decomposition</h4> - - <p>Each hash-based container is parametrized by a - <tt>Resize_Policy</tt> parameter; the container derives - <tt><b>public</b></tt>ly from <tt>Resize_Policy</tt>. For - example:</p> - <pre> -<a href="cc_hash_table.html">cc_hash_table</a>< - <b>typename</b> Key, - <b>typename</b> Mapped, - ... - <b>typename</b> Resize_Policy - ...> : - <b>public</b> Resize_Policy -</pre> - - <p>As a container object is modified, it continuously notifies - its <tt>Resize_Policy</tt> base of internal changes - (<i>e.g.</i>, collisions encountered and elements being - inserted). It queries its <tt>Resize_Policy</tt> base whether - it needs to be resized, and if so, to what size.</p> - - <p>Figure <a href="#insert_resize_sequence_diagram1">Insert - resize sequence diagram</a> shows a (possible) sequence diagram - of an insert operation. The user inserts an element; the hash - table notifies its resize policy that a search has started - (point A); in this case, a single collision is encountered - - the table notifies its resize policy of this (point B); the - container finally notifies its resize policy that the search - has ended (point C); it then queries its resize policy whether - a resize is needed, and if so, what is the new size (points D - to G); following the resize, it notifies the policy that a - resize has completed (point H); finally, the element is - inserted, and the policy notified (point I).</p> - - <h6 class="c1"><a name="insert_resize_sequence_diagram1" id= - "insert_resize_sequence_diagram1"><img src= - "insert_resize_sequence_diagram1.png" alt= - "no image" /></a></h6> - - <h6 class="c1">Insert resize sequence diagram.</h6> - - <p>In practice, a resize policy can be usually orthogonally - decomposed to a size policy and a trigger policy. Consequently, - the library contains a single class for instantiating a resize - policy: <a href= - "hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a> - is parametrized by <tt>Size_Policy</tt> and - <tt>Trigger_Policy</tt>, derives <tt><b>public</b></tt>ly from - both, and acts as a standard delegate [<a href= - "references.html#gamma95designpatterns">gamma95designpatterns</a>] - to these policies.</p> - - <p>Figures <a href="#insert_resize_sequence_diagram2">Standard - resize policy trigger sequence diagram</a> and <a href= - "#insert_resize_sequence_diagram3">Standard resize policy size - sequence diagram</a> show sequence diagrams illustrating the - interaction between the standard resize policy and its trigger - and size policies, respectively.</p> - - <h6 class="c1"><a name="insert_resize_sequence_diagram2" id= - "insert_resize_sequence_diagram2"><img src= - "insert_resize_sequence_diagram2.png" alt= - "no image" /></a></h6> - - <h6 class="c1">Standard resize policy trigger sequence - diagram.</h6> - - <h6 class="c1"><a name="insert_resize_sequence_diagram3" id= - "insert_resize_sequence_diagram3"><img src= - "insert_resize_sequence_diagram3.png" alt= - "no image" /></a></h6> - - <h6 class="c1">Standard resize policy size sequence - diagram.</h6> - - <h4>Pre-Defined Policies</h4> - - <p>The library includes the following - instantiations of size and trigger policies:</p> - - <ol> - <li><a href= - "hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a> - implements a load check trigger policy.</li> - - <li><a href= - "cc_hash_max_collision_check_resize_trigger.html"><tt>cc_hash_max_collision_check_resize_trigger</tt></a> - implements a collision check trigger policy.</li> - - <li><a href= - "hash_exponential_size_policy.html"><tt>hash_exponential_size_policy</tt></a> - implements an exponential-size policy (which should be used - with mask range hashing).</li> - - <li><a href= - "hash_prime_size_policy.html"><tt>hash_prime_size_policy</tt></a> - implementing a size policy based on a sequence of primes - [<a href="references.html#sgi_stl">sgi_stl</a>] (which should - be used with mod range hashing</li> - </ol> - - <p>Figure <a href="#resize_policy_cd">Resize policy class - diagram</a> gives an overall picture of the resize-related - classes. <a href= - "basic_hash_table.html"><tt>basic_hash_table</tt></a> - is parametrized by <tt>Resize_Policy</tt>, which it subclasses - publicly. This class is currently instantiated only by <a href= - "hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a>. - <a href= - "hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a> - itself is parametrized by <tt>Trigger_Policy</tt> and - <tt>Size_Policy</tt>. Currently, <tt>Trigger_Policy</tt> is - instantiated by <a href= - "hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a>, - or <a href= - "cc_hash_max_collision_check_resize_trigger.html"><tt>cc_hash_max_collision_check_resize_trigger</tt></a>; - <tt>Size_Policy</tt> is instantiated by <a href= - "hash_exponential_size_policy.html"><tt>hash_exponential_size_policy</tt></a>, - or <a href= - "hash_prime_size_policy.html"><tt>hash_prime_size_policy</tt></a>.</p> - - <h6 class="c1"><a name="resize_policy_cd" id= - "resize_policy_cd"><img src="resize_policy_cd.png" alt= - "no image" /></a></h6> - - <h6 class="c1">Resize policy class diagram.</h6> - - <h4>Controlled Access to Policies' Internals</h4> - - <p>There are cases where (controlled) access to resize - policies' internals is beneficial. <i>E.g.</i>, it is sometimes - useful to query a hash-table for the table's actual size (as - opposed to its <tt>size()</tt> - the number of values it - currently holds); it is sometimes useful to set a table's - initial size, externally resize it, or change load factors.</p> - - <p>Clearly, supporting such methods both decreases the - encapsulation of hash-based containers, and increases the - diversity between different associative-containers' interfaces. - Conversely, omitting such methods can decrease containers' - flexibility.</p> - - <p>In order to avoid, to the extent possible, the above - conflict, the hash-based containers themselves do not address - any of these questions; this is deferred to the resize policies, - which are easier to change or replace. Thus, for example, - neither <a href= - "cc_hash_table.html"><tt>cc_hash_table</tt></a> nor - <a href= - "gp_hash_table.html"><tt>gp_hash_table</tt></a> - contain methods for querying the actual size of the table; this - is deferred to <a href= - "hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a>.</p> - - <p>Furthermore, the policies themselves are parametrized by - template arguments that determine the methods they support - ([<a href= - "references.html#alexandrescu01modern">alexandrescu01modern</a>] - shows techniques for doing so). <a href= - "hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a> - is parametrized by <tt>External_Size_Access</tt> that - determines whether it supports methods for querying the actual - size of the table or resizing it. <a href= - "hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a> - is parametrized by <tt>External_Load_Access</tt> that - determines whether it supports methods for querying or - modifying the loads. <a href= - "cc_hash_max_collision_check_resize_trigger.html"><tt>cc_hash_max_collision_check_resize_trigger</tt></a> - is parametrized by <tt>External_Load_Access</tt> that - determines whether it supports methods for querying the - load.</p> - - <p>Some operations, for example, resizing a container at - run time, or changing the load factors of a load-check trigger - policy, require the container itself to resize. As mentioned - above, the hash-based containers themselves do not contain - these types of methods, only their resize policies. - Consequently, there must be some mechanism for a resize policy - to manipulate the hash-based container. As the hash-based - container is a subclass of the resize policy, this is done - through virtual methods. Each hash-based container has a - <tt><b>private</b></tt> <tt><b>virtual</b></tt> method:</p> - <pre> -<b>virtual void</b> - do_resize - (size_type new_size); -</pre> - - <p>which resizes the container. Implementations of - <tt>Resize_Policy</tt> can export public methods for resizing - the container externally; these methods internally call - <tt>do_resize</tt> to resize the table.</p> - - <h2><a name="policy_interaction" id="policy_interaction">Policy - Interaction</a></h2> - - <p>Hash-tables are unfortunately especially susceptible to - choice of policies. One of the more complicated aspects of this - is that poor combinations of good policies can form a poor - container. Following are some considerations.</p> - - <h3><a name="policy_interaction_probe_size_trigger" id= - "policy_interaction_probe_size_trigger">Probe Policies, Size - Policies, and Trigger Policies</a></h3> - - <p>Some combinations do not work well for probing containers. - For example, combining a quadratic probe policy with an - exponential size policy can yield a poor container: when an - element is inserted, a trigger policy might decide that there - is no need to resize, as the table still contains unused - entries; the probe sequence, however, might never reach any of - the unused entries.</p> - - <p>Unfortunately, <tt>pb_ds</tt> cannot detect such problems at - compilation (they are halting reducible). It therefore defines - an exception class <a href= - "insert_error.html"><tt>insert_error</tt></a> to throw an - exception in this case.</p> - - <h3><a name="policy_interaction_hash_trigger" id= - "policy_interaction_hash_trigger">Hash Policies and Trigger - Policies</a></h3> - - <p>Some trigger policies are especially susceptible to poor - hash functions. Suppose, as an extreme case, that the hash - function transforms each key to the same hash value. After some - inserts, a collision detecting policy will always indicate that - the container needs to grow.</p> - - <p>The library, therefore, by design, limits each operation to - one resize. For each <tt>insert</tt>, for example, it queries - only once whether a resize is needed.</p> - - <h3><a name="policy_interaction_eq_sth_hash" id= - "policy_interaction_eq_sth_hash">Equivalence Functors, Storing - Hash Values, and Hash Functions</a></h3> - - <p><a href= - "cc_hash_table.html"><tt>cc_hash_table</tt></a> and - <a href= - "gp_hash_table.html"><tt>gp_hash_table</tt></a> are - parametrized by an equivalence functor and by a - <tt>Store_Hash</tt> parameter. If the latter parameter is - <tt><b>true</b></tt>, then the container stores with each entry - a hash value, and uses this value in case of collisions to - determine whether to apply a hash value. This can lower the - cost of collision for some types, but increase the cost of - collisions for other types.</p> - - <p>If a ranged-hash function or ranged probe function is - directly supplied, however, then it makes no sense to store the - hash value with each entry. <tt>pb_ds</tt>'s container will - fail at compilation, by design, if this is attempted.</p> - - <h3><a name="policy_interaction_size_load_check" id= - "policy_interaction_size_load_check">Size Policies and - Load-Check Trigger Policies</a></h3> - - <p>Assume a size policy issues an increasing sequence of sizes - <i>a, a q, a q<sup>1</sup>, a q<sup>2</sup>, ...</i> For - example, an exponential size policy might issue the sequence of - sizes <i>8, 16, 32, 64, ...</i></p> - - <p>If a load-check trigger policy is used, with loads - <i>α<sub>min</sub></i> and <i>α<sub>max</sub></i>, - respectively, then it is a good idea to have:</p> - - <ol> - <li><i>α<sub>max</sub> ~ 1 / q</i></li> - - <li><i>α<sub>min</sub> < 1 / (2 q)</i></li> - </ol> - - <p>This will ensure that the amortized hash cost of each - modifying operation is at most approximately 3.</p> - - <p><i>α<sub>min</sub> ~ α<sub>max</sub></i> is, in - any case, a bad choice, and <i>α<sub>min</sub> > - α<sub>max</sub></i> is horrendous.</p> - </div> -</body> -</html> diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/hash_exponential_size_policy.html b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/hash_exponential_size_policy.html deleted file mode 100644 index 1089b1544..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/hash_exponential_size_policy.html +++ /dev/null @@ -1,183 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" - "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> -<head> - <meta name="generator" content= - "HTML Tidy for Linux/x86 (vers 12 April 2005), see www.w3.org" /> - - <title>hash_exponential_size_policy Interface</title> - <meta http-equiv="Content-Type" content= - "text/html; charset=us-ascii" /> - </head> - -<body> - <div id="page"> - <h1><tt>hash_exponential_size_policy</tt> Interface</h1> - - <p>A size policy whose sequence of sizes form an exponential - sequence (typically powers of 2)</p> - - <p>Defined in: <a href= - "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/include/ext/pb_ds/hash_policy.hpp"><tt>hash_policy.hpp</tt></a></p> - - <h2><a name="link1" id="link1">Template Parameters</a></h2> - - <table class="c1" width="100%" border="1" summary= - "Template Parameters"> - <tr> - <td width="20%" align="left"><b>Parameter</b></td> - - <td width="50%" align="left"><b>Description</b></td> - - <td width="30%" align="left"><b>Default Value</b></td> - </tr> - - <tr> - <td> - <pre> -<a name="Size_Type42920436" id= -"Size_Type42920436"><b>typename</b> Size_Type </a> -</pre> - </td> - - <td> - <p>Size type.</p> - </td> - - <td>size_t</td> - </tr> - </table> - - <h2><a name="link2" id="link2">Public Types and - Constants</a></h2> - - <h3><a name="link3" id="link3">General Definitions</a></h3> - - <table class="c1" width="100%" border="1" summary="Types"> - <tr> - <td width="30%" align="left"><b>Type</b></td> - - <td width="55%" align="left"><b>Definition</b></td> - - <td width="15%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -<a name="size_type55424436" id="size_type55424436">size_type</a> -</pre> - </td> - - <td> - <pre> -<a href="#Size_Type42920436"><tt>Size_Type</tt></a> -</pre> - </td> - - <td> - <p>Size type.</p> - </td> - </tr> - </table> - - <h2><a name="link4" id="link4">Public Methods</a></h2> - - <h3><a name="link5" id="link5">Constructors, Destructor, and - Related</a></h3> - - <table class="c1" width="100%" border="1" summary="Methods"> - <tr> - <td width="45%" align="left"><b>Method</b></td> - - <td width="55%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> - hash_exponential_size_policy - (<a href= -"#size_type55424436"><tt>size_type</tt></a> start_size = 8, - <a href= -"#size_type55424436"><tt>size_type</tt></a> grow_factor = 2) -</pre> - </td> - - <td> - <p>Default constructor, or constructor taking a - <span class="c1"><tt>start_size</tt></span>, or - constructor taking a start size and <span class= - "c1"><tt>grow_factor</tt></span>. The policy will use the - sequence of sizes <span class= - "c1"><tt>start_size</tt></span>, <span class= - "c1"><tt>start_size</tt></span> * <span class= - "c1"><tt>grow_factor</tt></span>, <span class= - "c1"><tt>start_size</tt></span> * <span class= - "c1"><tt>grow_factor</tt></span>^2, ...</p> - </td> - </tr> - - <tr> - <td> - <pre> -<b>void</b> - swap - (<span class= -"c2"><tt>hash_exponential_size_policy</tt></span> &other) -</pre> - </td> - - <td> - <p>Swaps content.</p> - </td> - </tr> - </table> - - <h2><a name="link6" id="link6">Protected Methods</a></h2> - - <h3><a name="link7" id="link7">Size methods</a></h3> - - <table class="c1" width="100%" border="1" summary="Methods"> - <tr> - <td width="45%" align="left"><b>Method</b></td> - - <td width="55%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -<a href="#size_type55424436"><tt>size_type</tt></a> - get_nearest_larger_size - (<a href= -"#size_type55424436"><tt>size_type</tt></a> size) <b>const</b> -</pre> - </td> - - <td> - <p>Given a size <span class="c1"><tt>size</tt></span>, - returns a size that is larger.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<a href="#size_type55424436"><tt>size_type</tt></a> - get_nearest_smaller_size - (<a href= -"#size_type55424436"><tt>size_type</tt></a> size) <b>const</b> -</pre> - </td> - - <td> - <p>Given a size <span class="c1"><tt>size</tt></span>, - returns a size that is smaller.</p> - </td> - </tr> - </table> - </div> -</body> -</html> diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/hash_load_check_resize_trigger.html b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/hash_load_check_resize_trigger.html deleted file mode 100644 index b22b7b5cf..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/hash_load_check_resize_trigger.html +++ /dev/null @@ -1,583 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" - "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> -<head> - <meta name="generator" content= - "HTML Tidy for Linux/x86 (vers 12 April 2005), see www.w3.org" /> - - <title>hash_load_check_resize_trigger Interface</title> - <meta http-equiv="Content-Type" content= - "text/html; charset=us-ascii" /> - </head> - -<body> - <div id="page"> - <h1><tt>hash_load_check_resize_trigger</tt> Interface</h1> - - <p>A resize trigger policy based on a load check. It keeps the - load factor between some load factors load_min and - load_max.</p> - - <p>Defined in: <a href= - "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/include/ext/pb_ds/hash_policy.hpp"><tt>hash_policy.hpp</tt></a></p> - - <h2><a name="link1" id="link1">Template Parameters</a></h2> - - <table class="c1" width="100%" border="1" summary= - "Template Parameters"> - <tr> - <td width="20%" align="left"><b>Parameter</b></td> - - <td width="50%" align="left"><b>Description</b></td> - - <td width="30%" align="left"><b>Default Value</b></td> - </tr> - - <tr> - <td> - <pre> -<a name="External_Load_Access1313998607" id= -"External_Load_Access1313998607"><b>bool</b> External_Load_Access </a> -</pre> - </td> - - <td> - <p>Specifies whether the load factor can be accessed - externally. The two options have different trade-offs in - terms of flexibility, genericity, and encapsulation.</p> - </td> - - <td><tt><b>false</b></tt></td> - </tr> - - <tr> - <td> - <pre> -<a name="Size_Type42920436" id= -"Size_Type42920436"><b>typename</b> Size_Type </a> -</pre> - </td> - - <td> - <p>Size type.</p> - </td> - - <td>size_t</td> - </tr> - </table> - - <h2><a name="link2" id="link2">Public Types and - Constants</a></h2> - - <h3><a name="link3" id="link3">General Definitions</a></h3> - - <table class="c1" width="100%" border="1" summary="Types"> - <tr> - <td width="30%" align="left"><b>Type</b></td> - - <td width="55%" align="left"><b>Definition</b></td> - - <td width="15%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -<a name="size_type55424436" id="size_type55424436">size_type</a> -</pre> - </td> - - <td> - <pre> -<a href="#Size_Type42920436"><tt>Size_Type</tt></a> -</pre> - </td> - - <td> - <p>Size type.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<a name="external_load_access3976598639" id= -"external_load_access3976598639">external_load_access</a> -</pre> - </td> - - <td> - <pre> -<a href= -"#External_Load_Access1313998607"><tt>External_Load_Access</tt></a> -</pre> - </td> - - <td> - <p>Indicates whether loads can be accessed externally</p> - </td> - </tr> - </table> - - <h2><a name="link4" id="link4">Public Methods</a></h2> - - <h3><a name="link5" id="link5">Constructors, Destructor, and - Related</a></h3> - - <table class="c1" width="100%" border="1" summary="Methods"> - <tr> - <td width="45%" align="left"><b>Method</b></td> - - <td width="55%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> - hash_load_check_resize_trigger - (float load_min = 0.125, - float load_max = 0.5) -</pre> - </td> - - <td> - <p>Default constructor, or constructor taking - <span class="c1"><tt>load_min</tt></span> and - <span class="c1"><tt>load_max</tt></span> load factors - between which this policy will keep the actual load.</p> - - <p>It is the responsibility of the user to ensure that - <span class="c1"><tt>load_min</tt></span> is smaller than - <span class="c1"><tt>load_max</tt></span>.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<b>void</b> - swap - (<span class= -"c2"><tt>hash_load_check_resize_trigger</tt></span> &other) -</pre> - </td> - - <td> - <p>Swaps content.</p> - </td> - </tr> - - <tr> - <td> - <pre> - <b>virtual</b> - ~hash_load_check_resize_trigger - () -</pre> - </td> - - <td> - <p>Destructor.</p> - </td> - </tr> - </table> - - <h3><a name="link6" id="link6">Load Access Methods</a></h3> - - <p>These methods are only available if the external access - parameter is set.</p> - - <table class="c1" width="100%" border="1" summary="Methods"> - <tr> - <td width="45%" align="left"><b>Method</b></td> - - <td width="55%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -<b>inline</b> std::pair<float, float> - get_loads - () <b>const</b> -</pre> - </td> - - <td> - <p>Returns a pair of the minimal and maximal loads, - respectively.</p> - - <p>Calling this method will not compile when <a href= - "#External_Load_Access1313998607"><tt>External_Load_Access</tt></a> - == <tt><b>false</b></tt>.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<b>void</b> - set_loads - (std::pair<float, float> load_pair) -</pre> - </td> - - <td> - <p>Sets the loads through a pair of the minimal and - maximal loads, respectively.</p> - - <p>Calling this method resizes the container, and might - throw an exception. It is the responsibility of the user - to pass appropriate loads to this function. Calling this - method will not compile when <a href= - "#External_Load_Access1313998607"><tt>External_Load_Access</tt></a> - == <tt><b>false</b></tt>.</p> - </td> - </tr> - </table> - - <h2><a name="link7" id="link7">Protected Methods</a></h2> - - <h3><a name="link8" id="link8">Insert Search - Notifications.</a></h3> - - <p>Notifications called during an insert operation.</p> - - <table class="c1" width="100%" border="1" summary="Methods"> - <tr> - <td width="45%" align="left"><b>Method</b></td> - - <td width="55%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -<b>inline</b> <b>void</b> - notify_insert_search_start - () -</pre> - </td> - - <td> - <p>Notifies a search started.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<b>inline</b> <b>void</b> - notify_insert_search_collision - () -</pre> - </td> - - <td> - <p>Notifies a search encountered a collision.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<b>inline</b> <b>void</b> - notify_insert_search_end - () -</pre> - </td> - - <td> - <p>Notifies a search ended.</p> - </td> - </tr> - </table> - - <h3><a name="link9" id="link9">Find Search - Notifications.</a></h3> - - <p>Notifications called during a find operation.</p> - - <table class="c1" width="100%" border="1" summary="Methods"> - <tr> - <td width="45%" align="left"><b>Method</b></td> - - <td width="55%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -<b>inline</b> <b>void</b> - notify_find_search_start - () -</pre> - </td> - - <td> - <p>Notifies a search started.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<b>inline</b> <b>void</b> - notify_find_search_collision - () -</pre> - </td> - - <td> - <p>Notifies a search encountered a collision.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<b>inline</b> <b>void</b> - notify_find_search_end - () -</pre> - </td> - - <td> - <p>Notifies a search ended.</p> - </td> - </tr> - </table> - - <h3><a name="link10" id="link10">Erase Search - Notifications.</a></h3> - - <p>Notifications called during an insert operation.</p> - - <table class="c1" width="100%" border="1" summary="Methods"> - <tr> - <td width="45%" align="left"><b>Method</b></td> - - <td width="55%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -<b>inline</b> <b>void</b> - notify_erase_search_start - () -</pre> - </td> - - <td> - <p>Notifies a search started.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<b>inline</b> <b>void</b> - notify_erase_search_collision - () -</pre> - </td> - - <td> - <p>Notifies a search encountered a collision.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<b>inline</b> <b>void</b> - notify_erase_search_end - () -</pre> - </td> - - <td> - <p>Notifies a search ended.</p> - </td> - </tr> - </table> - - <h3><a name="link11" id="link11">Content Change - Notifications.</a></h3> - - <p>Notifications called when the content of the table changes - in a way that can affect the resize policy.</p> - - <table class="c1" width="100%" border="1" summary="Methods"> - <tr> - <td width="45%" align="left"><b>Method</b></td> - - <td width="55%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -<b>inline</b> <b>void</b> - notify_inserted - (<a href="#size_type55424436"><tt>size_type</tt></a> num_entries) -</pre> - </td> - - <td> - <p>Notifies an element was inserted. the total number of - entries in the table is <span class= - "c1"><tt>num_entries</tt></span>.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<b>inline</b> <b>void</b> - notify_erased - (<a href="#size_type55424436"><tt>size_type</tt></a> num_entries) -</pre> - </td> - - <td> - <p>Notifies an element was erased.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<b>void</b> - notify_cleared - () -</pre> - </td> - - <td> - <p>Notifies the table was cleared.</p> - </td> - </tr> - </table> - - <h3><a name="link12" id="link12">Size Change - Notifications.</a></h3> - - <p>Notifications called when the table changes size.</p> - - <table class="c1" width="100%" border="1" summary="Methods"> - <tr> - <td width="45%" align="left"><b>Method</b></td> - - <td width="55%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -<b>void</b> - notify_resized - (<a href="#size_type55424436"><tt>size_type</tt></a> new_size) -</pre> - </td> - - <td> - <p>Notifies the table was resized as a result of this - object's signifying that a resize is needed.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<b>void</b> - notify_externally_resized - (<a href="#size_type55424436"><tt>size_type</tt></a> new_size) -</pre> - </td> - - <td> - <p>Notifies the table was resized externally.</p> - </td> - </tr> - </table> - - <h3><a name="link13" id="link13">Queries</a></h3> - - <p>Called to query whether/how to resize.</p> - - <table class="c1" width="100%" border="1" summary="Methods"> - <tr> - <td width="45%" align="left"><b>Method</b></td> - - <td width="55%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -<b>inline</b> <b>bool</b> - is_resize_needed - () <b>const</b> -</pre> - </td> - - <td> - <p>Queries whether a resize is needed.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<b>inline</b> <b>bool</b> - is_grow_needed - (<a href="#size_type55424436"><tt>size_type</tt></a> size, - <a href= -"#size_type55424436"><tt>size_type</tt></a> num_entries) <b>const</b> -</pre> - </td> - - <td> - <p>Queries whether a grow is needed.</p> - - <p>This method is called only if this object indicated - resize is needed. The actual <span class= - "c1"><tt>size</tt></span> of the table is <span class= - "c1"><tt>size</tt></span>, and the number of entries in - it is <span class="c1"><tt>num_entries</tt></span>.</p> - </td> - </tr> - </table> - - <h2><a name="link14" id="link14">Private Methods</a></h2> - - <h3><a name="link15" id="link15">Overrides</a></h3> - - <table class="c1" width="100%" border="1" summary="Methods"> - <tr> - <td width="45%" align="left"><b>Method</b></td> - - <td width="55%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -<b>virtual</b> <b>void</b> - do_resize - (<a href="#size_type55424436"><tt>size_type</tt></a> new_size) -</pre> - </td> - - <td> - <p>Resizes to <span class= - "c1"><tt>new_size</tt></span>.</p> - </td> - </tr> - </table> - </div> -</body> -</html> diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/hash_policy_cd.png b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/hash_policy_cd.png Binary files differdeleted file mode 100644 index f3122a112..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/hash_policy_cd.png +++ /dev/null diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/hash_prime_size_policy.html b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/hash_prime_size_policy.html deleted file mode 100644 index 8976767b4..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/hash_prime_size_policy.html +++ /dev/null @@ -1,149 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" - "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> -<head> - <meta name="generator" content= - "HTML Tidy for Linux/x86 (vers 12 April 2005), see www.w3.org" /> - - <title>hash_prime_size_policy Interface</title> - <meta http-equiv="Content-Type" content= - "text/html; charset=us-ascii" /> - </head> - -<body> - <div id="page"> - <h1><tt>hash_prime_size_policy</tt> Interface</h1> - - <p>A size policy whose sequence of sizes form a - nearly-exponential sequence of primes.</p> - - <p>Defined in: <a href= - "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/include/ext/pb_ds/hash_policy.hpp"><tt>hash_policy.hpp</tt></a></p> - - <h2><a name="link1" id="link1">Public Types and - Constants</a></h2> - - <h3><a name="link2" id="link2">General Definitions</a></h3> - - <table class="c1" width="100%" border="1" summary="Types"> - <tr> - <td width="30%" align="left"><b>Type</b></td> - - <td width="55%" align="left"><b>Definition</b></td> - - <td width="15%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -<a name="size_type55424436" id="size_type55424436">size_type</a> -</pre> - </td> - - <td> - <pre> -size_t -</pre> - </td> - - <td> - <p>Size type.</p> - </td> - </tr> - </table> - - <h2><a name="link3" id="link3">Public Methods</a></h2> - - <h3><a name="link4" id="link4">Constructors, Destructor, and - Related</a></h3> - - <table class="c1" width="100%" border="1" summary="Methods"> - <tr> - <td width="45%" align="left"><b>Method</b></td> - - <td width="55%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> - hash_prime_size_policy - (<a href= -"#size_type55424436"><tt>size_type</tt></a> start_size = 8) -</pre> - </td> - - <td> - <p>Default constructor, or constructor taking a - <span class="c1"><tt>start_size</tt></span> The policy - will use the sequence of sizes approximately <span class= - "c1"><tt>start_size</tt></span>, <span class= - "c1"><tt>start_size</tt></span> * 2, <span class= - "c1"><tt>start_size</tt></span> * 2^2, ...</p> - </td> - </tr> - - <tr> - <td> - <pre> -<b>inline</b> <b>void</b> - swap - (<span class= -"c2"><tt>hash_prime_size_policy</tt></span> &other) -</pre> - </td> - - <td> - <p>Swaps content.</p> - </td> - </tr> - </table> - - <h2><a name="link5" id="link5">Protected Methods</a></h2> - - <h3><a name="link6" id="link6">Size methods</a></h3> - - <table class="c1" width="100%" border="1" summary="Methods"> - <tr> - <td width="45%" align="left"><b>Method</b></td> - - <td width="55%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -<a href="#size_type55424436"><tt>size_type</tt></a> - get_nearest_larger_size - (<a href= -"#size_type55424436"><tt>size_type</tt></a> size) <b>const</b> -</pre> - </td> - - <td> - <p>Given a size <span class="c1"><tt>size</tt></span>, - returns a size that is larger.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<a href="#size_type55424436"><tt>size_type</tt></a> - get_nearest_smaller_size - (<a href= -"#size_type55424436"><tt>size_type</tt></a> size) <b>const</b> -</pre> - </td> - - <td> - <p>Given a size <span class="c1"><tt>size</tt></span>, - returns a size that is smaller.</p> - </td> - </tr> - </table> - </div> -</body> -</html> diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/hash_random_int_erase_mem_usage_test.html b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/hash_random_int_erase_mem_usage_test.html deleted file mode 100644 index 2867595b0..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/hash_random_int_erase_mem_usage_test.html +++ /dev/null @@ -1,173 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" - "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> -<head> -<meta name="generator" content="HTML Tidy for Linux/x86 (vers 12 April 2005), see www.w3.org" /> -<title>Tree Text Locality of Reference Timing Test</title> -<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" /> -</head> -<body> -<div id="page"> -<h1>Hash-Based Erase Memory-Use Test</h1> -<h2><a name="description" id="description">Description</a></h2> -<p>This test inserts a number of uniform i.i.d. integer keys - into a container, then erases all keys except one. It measures - the final size of the container.</p> -<p>(The test was executed with <a href="http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/testsuite/performance/ext/pb_ds/hash_random_int_erase_mem_usage.cc"><tt>hash_random_int_erase_mem_usage.cc</tt></a> - 2000 2000 2100)</p> -<h2><a name="purpose" id="purpose">Purpose</a></h2> -<p>The test checks how containers adjust internally as their - logical size decreases (see <a href="motivation.html#assoc_ers_methods">Motivation::Associative - Containers::Slightly Different Methods::Methods Related to - Erase</a>).</p> -<h2><a name="results" id="results">Results</a></h2> -<p>Figures <a href="#NHG">NHG</a>, <a href="#NHM">NHM</a> and - <a href="#NHL">NHL</a> show the results for the native and - collision-chaining types in <a href="assoc_performance_tests.html#gcc"><u>g++</u></a>, <a href="assoc_performance_tests.html#msvc"><u>msvc++</u></a> and - <a href="assoc_performance_tests.html#local"><u>local</u></a>, - respectively.</p> -<div id="NHG_res_div"> -<div id="NHG_gcc"> -<div id="NHG_hash_random_int_erase_mem_usage_test"> -<div id="NHG_assoc"> -<div id="NHG_Native_456_collision-chaing_456_and_probing_456_hash_random_int_erase_test"><div style="border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NHG" id="NHG"><img src="hash_random_int_erase_mem_usage_test_gcc.png" alt="no image" /></a></h6>NHG: Native, collision-chaing, and probing, hash random int erase test - <a href="assoc_performance_tests.html#gcc">g++</a><p>In the above figure, the names in the legends have the following meaning:</p> -<ol> -<li> -n_hash_set_ncah- -<tt>std::tr1::unordered_set</tt> with <tt>cache_hash_code</tt> = <tt><b>false</b></tt></li> -<li> -gp_hash_mask_linp_exp_nea_lc_1div8_1div2_nsth_set- -<a href="gp_hash_table.html"><tt>gp_hash_table</tt></a> - with <tt>Comb_Hash_Fn</tt> = <a href="direct_mask_range_hashing.html"><tt>direct_mask_range_hashing</tt></a> -, <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a> - with <tt>Size_Policy</tt> = <a href="hash_exponential_size_policy.html"><tt>hash_exponential_size_policy</tt></a> -, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a> - with <i>α<sub>min</sub></i> = <i>1/8</i> and <i>α<sub>max</sub></i> = <i>1/2</i>, and <tt>Probe_Fn</tt> = <a href="linear_probe_fn.html"><tt>linear_probe_fn</tt></a> -</li> -<li> -cc_hash_mod_prime_nea_lc_1div8_1div1_nsth_set- -<a href="cc_hash_table.html"><tt>cc_hash_table</tt></a> -with <tt>Comb_Hash_Fn</tt> = <a href="direct_mod_range_hashing.html"><tt>direct_mod_range_hashing</tt></a> -, and <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a> - with <tt>Size_Policy</tt> = <a href="hash_prime_size_policy.html"><tt>hash_prime_size_policy</tt></a> -, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a> - with <i>α<sub>min</sub></i> = <i>1/8</i> and <i>α<sub>max</sub></i> = <i>1/1</i></li> -<li> -cc_hash_mask_exp_nea_lc_1div8_1div2_nsth_set- -<a href="cc_hash_table.html"><tt>cc_hash_table</tt></a> -with <tt>Comb_Hash_Fn</tt> = <a href="direct_mask_range_hashing.html"><tt>direct_mask_range_hashing</tt></a> -, and <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a> - with <tt>Size_Policy</tt> = <a href="hash_exponential_size_policy.html"><tt>hash_exponential_size_policy</tt></a> -, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a> - with <i>α<sub>min</sub></i> = <i>1/8</i> and <i>α<sub>max</sub></i> = <i>1/2</i></li> -</ol> -</div><div style="width: 100%; height: 20px"></div></div> -</div> -</div> -</div> -</div> -<div id="NHM_res_div"> -<div id="NHM_msvc"> -<div id="NHM_hash_random_int_erase_mem_usage_test"> -<div id="NHM_assoc"> -<div id="NHM_Native_456_collision-chaing_456_and_probing_456_hash_random_int_erase_test"><div style="border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NHM" id="NHM"><img src="hash_random_int_erase_mem_usage_test_msvc.png" alt="no image" /></a></h6>NHM: Native, collision-chaing, and probing, hash random int erase test - <a href="assoc_performance_tests.html#msvc">msvc++</a><p>In the above figure, the names in the legends have the following meaning:</p> -<ol> -<li> -n_hash_set_ncah- -<tt>stdext::hash_set</tt></li> -<li> -gp_hash_mask_linp_exp_nea_lc_1div8_1div2_nsth_set- -<a href="gp_hash_table.html"><tt>gp_hash_table</tt></a> - with <tt>Comb_Hash_Fn</tt> = <a href="direct_mask_range_hashing.html"><tt>direct_mask_range_hashing</tt></a> -, <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a> - with <tt>Size_Policy</tt> = <a href="hash_exponential_size_policy.html"><tt>hash_exponential_size_policy</tt></a> -, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a> - with <i>α<sub>min</sub></i> = <i>1/8</i> and <i>α<sub>max</sub></i> = <i>1/2</i>, and <tt>Probe_Fn</tt> = <a href="linear_probe_fn.html"><tt>linear_probe_fn</tt></a> -</li> -<li> -cc_hash_mod_prime_nea_lc_1div8_1div1_nsth_set- -<a href="cc_hash_table.html"><tt>cc_hash_table</tt></a> -with <tt>Comb_Hash_Fn</tt> = <a href="direct_mod_range_hashing.html"><tt>direct_mod_range_hashing</tt></a> -, and <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a> - with <tt>Size_Policy</tt> = <a href="hash_prime_size_policy.html"><tt>hash_prime_size_policy</tt></a> -, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a> - with <i>α<sub>min</sub></i> = <i>1/8</i> and <i>α<sub>max</sub></i> = <i>1/1</i></li> -<li> -cc_hash_mask_exp_nea_lc_1div8_1div2_nsth_set- -<a href="cc_hash_table.html"><tt>cc_hash_table</tt></a> -with <tt>Comb_Hash_Fn</tt> = <a href="direct_mask_range_hashing.html"><tt>direct_mask_range_hashing</tt></a> -, and <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a> - with <tt>Size_Policy</tt> = <a href="hash_exponential_size_policy.html"><tt>hash_exponential_size_policy</tt></a> -, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a> - with <i>α<sub>min</sub></i> = <i>1/8</i> and <i>α<sub>max</sub></i> = <i>1/2</i></li> -</ol> -</div><div style="width: 100%; height: 20px"></div></div> -</div> -</div> -</div> -</div> -<div id="NHM_res_div"> -<div id="NHM_msvc"> -<div id="NHM_hash_random_int_erase_mem_usage_test"> -<div id="NHM_assoc"> -<div id="NHM_Native_456_collision-chaing_456_and_probing_456_hash_random_int_erase_test"><div style="border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NHM" id="NHM"><img src="hash_random_int_erase_mem_usage_test_msvc.png" alt="no image" /></a></h6>NHM: Native, collision-chaing, and probing, hash random int erase test - <a href="assoc_performance_tests.html#msvc">msvc++</a><p>In the above figure, the names in the legends have the following meaning:</p> -<ol> -<li> -n_hash_set_ncah- -<tt>stdext::hash_set</tt></li> -<li> -gp_hash_mask_linp_exp_nea_lc_1div8_1div2_nsth_set- -<a href="gp_hash_table.html"><tt>gp_hash_table</tt></a> - with <tt>Comb_Hash_Fn</tt> = <a href="direct_mask_range_hashing.html"><tt>direct_mask_range_hashing</tt></a> -, <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a> - with <tt>Size_Policy</tt> = <a href="hash_exponential_size_policy.html"><tt>hash_exponential_size_policy</tt></a> -, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a> - with <i>α<sub>min</sub></i> = <i>1/8</i> and <i>α<sub>max</sub></i> = <i>1/2</i>, and <tt>Probe_Fn</tt> = <a href="linear_probe_fn.html"><tt>linear_probe_fn</tt></a> -</li> -<li> -cc_hash_mod_prime_nea_lc_1div8_1div1_nsth_set- -<a href="cc_hash_table.html"><tt>cc_hash_table</tt></a> -with <tt>Comb_Hash_Fn</tt> = <a href="direct_mod_range_hashing.html"><tt>direct_mod_range_hashing</tt></a> -, and <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a> - with <tt>Size_Policy</tt> = <a href="hash_prime_size_policy.html"><tt>hash_prime_size_policy</tt></a> -, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a> - with <i>α<sub>min</sub></i> = <i>1/8</i> and <i>α<sub>max</sub></i> = <i>1/1</i></li> -<li> -cc_hash_mask_exp_nea_lc_1div8_1div2_nsth_set- -<a href="cc_hash_table.html"><tt>cc_hash_table</tt></a> -with <tt>Comb_Hash_Fn</tt> = <a href="direct_mask_range_hashing.html"><tt>direct_mask_range_hashing</tt></a> -, and <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a> - with <tt>Size_Policy</tt> = <a href="hash_exponential_size_policy.html"><tt>hash_exponential_size_policy</tt></a> -, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a> - with <i>α<sub>min</sub></i> = <i>1/8</i> and <i>α<sub>max</sub></i> = <i>1/2</i></li> -</ol> -</div><div style="width: 100%; height: 20px"></div></div> -</div> -</div> -</div> -</div> -<div id="NHL_res_div"> -<div id="NHL_local"> -<div id="NHL_hash_random_int_erase_mem_usage_test"> -<div id="NHL_assoc"> -<div id="NHL_Native_456_collision-chaing_456_and_probing_456_hash_random_int_erase_test"><div style = "border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NHL" id= "NHL"><img src="hash_random_int_erase_mem_usage_test_local.png" alt="no image" /></a></h6>NHL: Native, collision-chaing, and probing, hash random int erase test - <a href = "assoc_performance_tests.html#local">local</a></div><div style = "width: 100%; height: 20px"></div></div> -</div> -</div> -</div> -</div> -<h2><a name="observations" id="observations">Observations</a></h2> -<p>STL hash-based containers act very differently than trees in - this respect. When erasing numerous keys from an STL - associative-container, the resulting memory user varies greatly - depending on whether the container is tree-based or hash-based. - As noted in <a href="motivation.html#assoc_methods">Motivation::Choice of - Methods</a> , this is a fundamental consequence of the STL's - associative containers' interface, it is not due to a specific - implementation.</p> -<p>(See <a href="priority_queue_text_pop_mem_usage_test.html">Priority Queue - Text <tt>pop</tt> Memory Use Test</a> for a similar phenomenon - regarding priority queues.)</p> -</div> -</body> -</html> diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/hash_random_int_erase_mem_usage_test_gcc.png b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/hash_random_int_erase_mem_usage_test_gcc.png Binary files differdeleted file mode 100644 index c552506a7..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/hash_random_int_erase_mem_usage_test_gcc.png +++ /dev/null diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/hash_random_int_erase_mem_usage_test_local.png b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/hash_random_int_erase_mem_usage_test_local.png Binary files differdeleted file mode 100644 index dbd3ee9d3..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/hash_random_int_erase_mem_usage_test_local.png +++ /dev/null diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/hash_random_int_erase_mem_usage_test_msvc.png b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/hash_random_int_erase_mem_usage_test_msvc.png Binary files differdeleted file mode 100644 index 8c23d46da..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/hash_random_int_erase_mem_usage_test_msvc.png +++ /dev/null diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/hash_random_int_find_find_timing_test.html b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/hash_random_int_find_find_timing_test.html deleted file mode 100644 index b6066e7cf..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/hash_random_int_find_find_timing_test.html +++ /dev/null @@ -1,247 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" - "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> -<head> -<meta name="generator" content="HTML Tidy for Linux/x86 (vers 12 April 2005), see www.w3.org" /> -<title>Hash Random Int Find Timing Test</title> -<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" /> -</head> -<body> -<div id="page"> -<h1>Hash-Based Random-Integer <tt>find</tt> Find Timing - Test</h1> -<h2><a name="description" id="description">Description</a></h2> -<p>This test inserts a number of values with uniform i.i.d. - integer keys into a container, then performs a series of finds - using <tt>find</tt>. It measures the average time - for<tt>find</tt> as a function of the number of values - inserted.</p> -<p>(The test was executed with <a href="http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/testsuite/performance/ext/pb_ds/random_int_find_timing.cc"><tt>random_int_find_timing_test</tt></a> - 200 200 2100)</p> -<h2><a name="purpose" id="purpose">Purpose</a></h2> -<p>The test checks the effect of different underlying - hash-tables (see <a href="hash_based_containers.html">Design::Associative - Containers::Associative Containers::Hash-Based Containers</a>), - range-hashing functions, and trigger policies (see <a href="hash_based_containers.html#hash_policies">Design::Associative - Containers::Hash-Based Containers::Hash Policies</a> and - <a href="hash_based_containers.html#resize_policies">Design::Associative - Containers::Hash-Based Containers::Resize Policies</a>).</p> -<h2><a name="results" id="results">Results</a></h2> -<p>Figures <a href="#NCCG">NCCG</a>, <a href="#NCCM">NCCM</a>, - and <a href="#NCCL">NCCL</a> show the results for the native - and collision-chaining types in <a href="assoc_performance_tests.html#gcc"><u>g++</u></a>, <a href="assoc_performance_tests.html#msvc"><u>MSVC++</u></a>, and - <a href="assoc_performance_tests.html#local"><u>local</u></a>, - respectively; Figures <a href="#NGPG">NGPG</a>, <a href="#NGPM">NGPM</a>, and <a href="#NGPL">NGPL</a> show the results - for the native and probing types in <a href="assoc_performance_tests.html#gcc"><u>g++</u></a>, <a href="assoc_performance_tests.html#msvc"><u>MSVC++</u></a>, and - <a href="assoc_performance_tests.html#local"><u>local</u></a> - respectively.</p> -<div id="NCCG_res_div"> -<div id="NCCG_gcc"> -<div id="NCCG_cc_hash_random_int_find_timing_test"> -<div id="NCCG_assoc"> -<div id="NCCG_Native_and_collision-chaining_hash_random_int_find_timing_test_using__tt_find_455tt_"><div style="border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NCCG" id="NCCG"><img src="cc_hash_random_int_find_timing_test_gcc.png" alt="no image" /></a></h6>NCCG: Native and collision-chaining hash random int find timing test using <tt>find</tt> - <a href="assoc_performance_tests.html#gcc">g++</a><p>In the above figure, the names in the legends have the following meaning:</p> -<ol> -<li> -n_hash_map_ncah- -<tt>std::tr1::unordered_map</tt> with <tt>cache_hash_code</tt> = <tt><b>false</b></tt></li> -<li> -cc_hash_mod_prime_nea_lc_1div8_1div1_nsth_map- -<a href="cc_hash_table.html"><tt>cc_hash_table</tt></a> -with <tt>Comb_Hash_Fn</tt> = <a href="direct_mod_range_hashing.html"><tt>direct_mod_range_hashing</tt></a> -, and <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a> - with <tt>Size_Policy</tt> = <a href="hash_prime_size_policy.html"><tt>hash_prime_size_policy</tt></a> -, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a> - with <i>α<sub>min</sub></i> = <i>1/8</i> and <i>α<sub>max</sub></i> = <i>1/1</i></li> -<li> -cc_hash_mod_prime_nea_lc_1div8_1div2_nsth_map- -<a href="cc_hash_table.html"><tt>cc_hash_table</tt></a> -with <tt>Comb_Hash_Fn</tt> = <a href="direct_mod_range_hashing.html"><tt>direct_mod_range_hashing</tt></a> -, and <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a> - with <tt>Size_Policy</tt> = <a href="hash_prime_size_policy.html"><tt>hash_prime_size_policy</tt></a> -, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a> - with <i>α<sub>min</sub></i> = <i>1/8</i> and <i>α<sub>max</sub></i> = <i>1/2</i></li> -<li> -cc_hash_mask_exp_nea_lc_1div8_1div1_nsth_map- -<a href="cc_hash_table.html"><tt>cc_hash_table</tt></a> -with <tt>Comb_Hash_Fn</tt> = <a href="direct_mask_range_hashing.html"><tt>direct_mask_range_hashing</tt></a> -, and <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a> - with <tt>Size_Policy</tt> = <a href="hash_exponential_size_policy.html"><tt>hash_exponential_size_policy</tt></a> -, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a> - with <i>α<sub>min</sub></i> = <i>1/8</i> and <i>α<sub>max</sub></i> = <i>1/1</i></li> -<li> -cc_hash_mask_exp_nea_lc_1div8_1div2_nsth_map- -<a href="cc_hash_table.html"><tt>cc_hash_table</tt></a> -with <tt>Comb_Hash_Fn</tt> = <a href="direct_mask_range_hashing.html"><tt>direct_mask_range_hashing</tt></a> -, and <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a> - with <tt>Size_Policy</tt> = <a href="hash_exponential_size_policy.html"><tt>hash_exponential_size_policy</tt></a> -, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a> - with <i>α<sub>min</sub></i> = <i>1/8</i> and <i>α<sub>max</sub></i> = <i>1/2</i></li> -</ol> -</div><div style="width: 100%; height: 20px"></div></div> -</div> -</div> -</div> -</div> -<div id="NCCM_res_div"> -<div id="NCCM_msvc"> -<div id="NCCM_cc_hash_random_int_find_timing_test"> -<div id="NCCM_assoc"> -<div id="NCCM_Native_and_collision-chaining_hash_random_int_find_timing_test_using__tt_find_455tt_"><div style="border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NCCM" id="NCCM"><img src="cc_hash_random_int_find_timing_test_msvc.png" alt="no image" /></a></h6>NCCM: Native and collision-chaining hash random int find timing test using <tt>find</tt> - <a href="assoc_performance_tests.html#msvc">msvc++</a><p>In the above figure, the names in the legends have the following meaning:</p> -<ol> -<li> -cc_hash_mod_prime_nea_lc_1div8_1div1_nsth_map- -<a href="cc_hash_table.html"><tt>cc_hash_table</tt></a> -with <tt>Comb_Hash_Fn</tt> = <a href="direct_mod_range_hashing.html"><tt>direct_mod_range_hashing</tt></a> -, and <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a> - with <tt>Size_Policy</tt> = <a href="hash_prime_size_policy.html"><tt>hash_prime_size_policy</tt></a> -, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a> - with <i>α<sub>min</sub></i> = <i>1/8</i> and <i>α<sub>max</sub></i> = <i>1/1</i></li> -<li> -cc_hash_mod_prime_nea_lc_1div8_1div2_nsth_map- -<a href="cc_hash_table.html"><tt>cc_hash_table</tt></a> -with <tt>Comb_Hash_Fn</tt> = <a href="direct_mod_range_hashing.html"><tt>direct_mod_range_hashing</tt></a> -, and <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a> - with <tt>Size_Policy</tt> = <a href="hash_prime_size_policy.html"><tt>hash_prime_size_policy</tt></a> -, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a> - with <i>α<sub>min</sub></i> = <i>1/8</i> and <i>α<sub>max</sub></i> = <i>1/2</i></li> -<li> -n_hash_map_ncah- -<tt>stdext::hash_map</tt></li> -<li> -cc_hash_mask_exp_nea_lc_1div8_1div1_nsth_map- -<a href="cc_hash_table.html"><tt>cc_hash_table</tt></a> -with <tt>Comb_Hash_Fn</tt> = <a href="direct_mask_range_hashing.html"><tt>direct_mask_range_hashing</tt></a> -, and <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a> - with <tt>Size_Policy</tt> = <a href="hash_exponential_size_policy.html"><tt>hash_exponential_size_policy</tt></a> -, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a> - with <i>α<sub>min</sub></i> = <i>1/8</i> and <i>α<sub>max</sub></i> = <i>1/1</i></li> -<li> -cc_hash_mask_exp_nea_lc_1div8_1div2_nsth_map- -<a href="cc_hash_table.html"><tt>cc_hash_table</tt></a> -with <tt>Comb_Hash_Fn</tt> = <a href="direct_mask_range_hashing.html"><tt>direct_mask_range_hashing</tt></a> -, and <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a> - with <tt>Size_Policy</tt> = <a href="hash_exponential_size_policy.html"><tt>hash_exponential_size_policy</tt></a> -, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a> - with <i>α<sub>min</sub></i> = <i>1/8</i> and <i>α<sub>max</sub></i> = <i>1/2</i></li> -</ol> -</div><div style="width: 100%; height: 20px"></div></div> -</div> -</div> -</div> -</div> -<div id="NCCL_res_div"> -<div id="NCCL_local"> -<div id="NCCL_cc_hash_random_int_find_timing_test"> -<div id="NCCL_assoc"> -<div id="NCCL_Native_and_collision-chaining_hash_random_int_find_timing_test_using__tt_find_455tt_"><div style = "border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NCCL" id= "NCCL"><img src="cc_hash_random_int_find_timing_test_local.png" alt="no image" /></a></h6>NCCL: Native and collision-chaining hash random int find timing test using <tt>find</tt> - <a href = "assoc_performance_tests.html#local">local</a></div><div style = "width: 100%; height: 20px"></div></div> -</div> -</div> -</div> -</div> -<div id="NGPG_res_div"> -<div id="NGPG_gcc"> -<div id="NGPG_gp_hash_random_int_find_timing_test"> -<div id="NGPG_assoc"> -<div id="NGPG_Native_and_collision-chaining_hash_random_int_find_timing_test_using__tt_find_455tt_"><div style="border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NGPG" id="NGPG"><img src="gp_hash_random_int_find_timing_test_gcc.png" alt="no image" /></a></h6>NGPG: Native and collision-chaining hash random int find timing test using <tt>find</tt> - <a href="assoc_performance_tests.html#gcc">g++</a><p>In the above figure, the names in the legends have the following meaning:</p> -<ol> -<li> -gp_hash_mod_quadp_prime_nea_lc_1div8_1div2_nsth_map- -<a href="gp_hash_table.html"><tt>gp_hash_table</tt></a> - with <tt>Comb_Hash_Fn</tt> = <a href="direct_mod_range_hashing.html"><tt>direct_mod_range_hashing</tt></a> -, <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a> - with <tt>Size_Policy</tt> = <a href="hash_prime_size_policy.html"><tt>hash_prime_size_policy</tt></a> -, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a> - with <i>α<sub>min</sub></i> = <i>1/8</i> and <i>α<sub>max</sub></i> = <i>1/2</i>, and <tt>Probe_Fn</tt> = <a href="quadratic_probe_fn.html"><tt>quadratic_probe_fn</tt></a> -</li> -<li> -n_hash_map_ncah- -<tt>std::tr1::unordered_map</tt> with <tt>cache_hash_code</tt> = <tt><b>false</b></tt></li> -<li> -gp_hash_mask_linp_exp_nea_lc_1div8_1div2_nsth_map- -<a href="gp_hash_table.html"><tt>gp_hash_table</tt></a> - with <tt>Comb_Hash_Fn</tt> = <a href="direct_mask_range_hashing.html"><tt>direct_mask_range_hashing</tt></a> -, <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a> - with <tt>Size_Policy</tt> = <a href="hash_exponential_size_policy.html"><tt>hash_exponential_size_policy</tt></a> -, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a> - with <i>α<sub>min</sub></i> = <i>1/8</i> and <i>α<sub>max</sub></i> = <i>1/2</i>, and <tt>Probe_Fn</tt> = <a href="linear_probe_fn.html"><tt>linear_probe_fn</tt></a> -</li> -</ol> -</div><div style="width: 100%; height: 20px"></div></div> -</div> -</div> -</div> -</div> -<div id="NGPM_res_div"> -<div id="NGPM_msvc"> -<div id="NGPM_gp_hash_random_int_find_timing_test"> -<div id="NGPM_assoc"> -<div id="NGPM_Native_and_collision-chaining_hash_random_int_find_timing_test_using__tt_find_455tt_"><div style="border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NGPM" id="NGPM"><img src="gp_hash_random_int_find_timing_test_msvc.png" alt="no image" /></a></h6>NGPM: Native and collision-chaining hash random int find timing test using <tt>find</tt> - <a href="assoc_performance_tests.html#msvc">msvc++</a><p>In the above figure, the names in the legends have the following meaning:</p> -<ol> -<li> -gp_hash_mod_quadp_prime_nea_lc_1div8_1div2_nsth_map- -<a href="gp_hash_table.html"><tt>gp_hash_table</tt></a> - with <tt>Comb_Hash_Fn</tt> = <a href="direct_mod_range_hashing.html"><tt>direct_mod_range_hashing</tt></a> -, <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a> - with <tt>Size_Policy</tt> = <a href="hash_prime_size_policy.html"><tt>hash_prime_size_policy</tt></a> -, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a> - with <i>α<sub>min</sub></i> = <i>1/8</i> and <i>α<sub>max</sub></i> = <i>1/2</i>, and <tt>Probe_Fn</tt> = <a href="quadratic_probe_fn.html"><tt>quadratic_probe_fn</tt></a> -</li> -<li> -n_hash_map_ncah- -<tt>stdext::hash_map</tt></li> -<li> -gp_hash_mask_linp_exp_nea_lc_1div8_1div2_nsth_map- -<a href="gp_hash_table.html"><tt>gp_hash_table</tt></a> - with <tt>Comb_Hash_Fn</tt> = <a href="direct_mask_range_hashing.html"><tt>direct_mask_range_hashing</tt></a> -, <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a> - with <tt>Size_Policy</tt> = <a href="hash_exponential_size_policy.html"><tt>hash_exponential_size_policy</tt></a> -, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a> - with <i>α<sub>min</sub></i> = <i>1/8</i> and <i>α<sub>max</sub></i> = <i>1/2</i>, and <tt>Probe_Fn</tt> = <a href="linear_probe_fn.html"><tt>linear_probe_fn</tt></a> -</li> -</ol> -</div><div style="width: 100%; height: 20px"></div></div> -</div> -</div> -</div> -</div> -<div id="NGPL_res_div"> -<div id="NGPL_local"> -<div id="NGPL_gp_hash_random_int_find_timing_test"> -<div id="NGPL_assoc"> -<div id="NGPL_Native_and_collision-chaining_hash_random_int_find_timing_test_using__tt_find_455tt_"><div style = "border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NGPL" id= "NGPL"><img src="gp_hash_random_int_find_timing_test_local.png" alt="no image" /></a></h6>NGPL: Native and collision-chaining hash random int find timing test using <tt>find</tt> - <a href = "assoc_performance_tests.html#local">local</a></div><div style = "width: 100%; height: 20px"></div></div> -</div> -</div> -</div> -</div> -<h2><a name="observations" id="observations">Observations</a></h2> -<p>In this setting, the choice of underlying hash-table (see - <a href="hash_based_containers.html">Design::Associative - Containers::Hash-Based Containers</a> ) affects performance - most, then the range-hashing scheme (See <a href="hash_based_containers.html#hash_policies">Design::Associative - Containers::Hash-Based Containers::Hash Policies</a> ), and, - only finally, other policies.</p> -<p>When comparing Figures <a href="#NCCG">NCCG</a> and <a href="#NCCM">NCCM</a> to <a href="#NGPG">NGPG</a> and <a href="#NGPM">NGPM</a> , respectively, it is apparent that the - probing containers are less efficient than the - collision-chaining containers (both - <tt>std::tr1::unordered_map</tt> and <tt>stdext::hash_map</tt> - use collision-chaining) in this case.</p> -<p>( <a href="hash_random_int_subscript_insert_timing_test.html">Hash-Based - Random-Integer Subscript Insert Timing Test</a> shows a - different case, where the situation is reversed; <a href="assoc_performance_tests.html#hash_based_types">Observations::Hash-Based - Container Types</a> discusses some further considerations.)</p> -<p>Within each type of hash-table, the range-hashing scheme - affects performance more than other policies; <a href="hash_text_find_find_timing_test.html#observations">Hash-Based - Text <tt>find</tt> Find Timing Test::Observations</a> discusses - this. In Figures <a href="#NCCG">NCCG</a> , <a href="#NCCM">NCCM</a> , <a href="#NGPG">NGPG</a> , and <a href="#NGPM">NGPM</a> , it should be noted that - <tt>std::tr1::unordered_map</tt> and <tt>stdext::hash_map</tt> - are hard-wired currently to mod-based and mask-based schemes, - respectively.</p> -<p><a href="assoc_performance_tests.html#hash_based_types">Observations::Hash-Based - Container Types</a> summarizes some observations on hash-based - containers; <a href="assoc_performance_tests.html#hash_based_policies">Observations::Hash-Based - Containers' Policies</a> summarizes some observations on - hash-based containers' policies.</p> -</div> -</body> -</html> diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/hash_random_int_subscript_find_timing_test.html b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/hash_random_int_subscript_find_timing_test.html deleted file mode 100644 index 002516370..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/hash_random_int_subscript_find_timing_test.html +++ /dev/null @@ -1,220 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" - "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> -<head> -<meta name="generator" content="HTML Tidy for Linux/x86 (vers 12 April 2005), see www.w3.org" /> -<title>Hash Random Int Subscript Find Timing Test</title> -<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" /> -</head> -<body> -<div id="page"> -<h1>Hash-Based Random-Integer <tt><b>operator</b>[]</tt> - FindTiming Test</h1> -<h2><a name="description" id="description">Description</a></h2> -<p>This test inserts a number of values with uniform i.i.d. - integer keys into a container, then performs a series of finds - using <tt><b>operator</b>[]</tt>. It measures the average time - for <tt><b>operator</b>[]</tt> as a function of the number of - values inserted.</p> -<p>(The test was executed with <a href="http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/testsuite/performance/ext/pb_ds/random_int_subscript_find_timing.cc"><tt>hash_random_int_subscript_find_timing_test</tt></a> - 200 200 2100)</p> -<h2><a name="purpose" id="purpose">Purpose</a></h2> -<p>The test checks the effect of different underlying - hash-tables (see <a href="hash_based_containers.html">Design::Hash-Based Containers</a> - ), range-hashing functions, and trigger policies (see <a href="hash_based_containers.html#hash_policies">Design::Hash-Based - Containers::Hash Policies</a> and <a href="hash_based_containers.html#resize_policies">Design::Hash-Based - Containers::Resize Policies</a> ).</p> -<h2><a name="results" id="results">Results</a></h2> -<p>Figures <a href="#NCCG">NCCG</a>, <a href="#NCCM">NCCM</a>, - and <a href="#NCCL">NCCL</a> show the results for the native - and collision-chaining types in <a href="assoc_performance_tests.html#gcc"><u>g++</u></a>, <a href="assoc_performance_tests.html#msvc"><u>MSVC++</u></a>, and - <a href="assoc_performance_tests.html#local"><u>local</u></a>, - respectively; Figures <a href="#NGPG">NGPG</a>, <a href="#NGPM">NGPM</a>, and <a href="#NGPL">NGPL</a> show the results - for the native and probing types in <a href="assoc_performance_tests.html#gcc"><u>g++</u></a>, <a href="assoc_performance_tests.html#msvc"><u>MSVC++</u></a>, and - <a href="assoc_performance_tests.html#local"><u>local</u></a>, - respectively.</p> -<div id="NCCG_res_div"> -<div id="NCCG_gcc"> -<div id="NCCG_cc_hash_random_int_subscript_timing_test_find"> -<div id="NCCG_assoc"> -<div id="NCCG_Native_and_collision-chaining_hash_random_int_find_timing_test_using__tt__b_operator_455b__455tt__457"><div style="border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NCCG" id="NCCG"><img src="cc_hash_random_int_subscript_timing_test_find_gcc.png" alt="no image" /></a></h6>NCCG: Native and collision-chaining hash random int find timing test using <tt><b>operator</b></tt>[] - <a href="assoc_performance_tests.html#gcc">g++</a><p>In the above figure, the names in the legends have the following meaning:</p> -<ol> -<li> -n_hash_map_ncah- -<tt>std::tr1::unordered_map</tt> with <tt>cache_hash_code</tt> = <tt><b>false</b></tt></li> -<li> -cc_hash_mod_prime_nea_lc_1div8_1div1_nsth_map- -<a href="cc_hash_table.html"><tt>cc_hash_table</tt></a> -with <tt>Comb_Hash_Fn</tt> = <a href="direct_mod_range_hashing.html"><tt>direct_mod_range_hashing</tt></a> -, and <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a> - with <tt>Size_Policy</tt> = <a href="hash_prime_size_policy.html"><tt>hash_prime_size_policy</tt></a> -, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a> - with <i>α<sub>min</sub></i> = <i>1/8</i> and <i>α<sub>max</sub></i> = <i>1/1</i></li> -<li> -cc_hash_mod_prime_nea_lc_1div8_1div2_nsth_map- -<a href="cc_hash_table.html"><tt>cc_hash_table</tt></a> -with <tt>Comb_Hash_Fn</tt> = <a href="direct_mod_range_hashing.html"><tt>direct_mod_range_hashing</tt></a> -, and <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a> - with <tt>Size_Policy</tt> = <a href="hash_prime_size_policy.html"><tt>hash_prime_size_policy</tt></a> -, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a> - with <i>α<sub>min</sub></i> = <i>1/8</i> and <i>α<sub>max</sub></i> = <i>1/2</i></li> -<li> -cc_hash_mask_exp_nea_lc_1div8_1div1_nsth_map- -<a href="cc_hash_table.html"><tt>cc_hash_table</tt></a> -with <tt>Comb_Hash_Fn</tt> = <a href="direct_mask_range_hashing.html"><tt>direct_mask_range_hashing</tt></a> -, and <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a> - with <tt>Size_Policy</tt> = <a href="hash_exponential_size_policy.html"><tt>hash_exponential_size_policy</tt></a> -, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a> - with <i>α<sub>min</sub></i> = <i>1/8</i> and <i>α<sub>max</sub></i> = <i>1/1</i></li> -<li> -cc_hash_mask_exp_nea_lc_1div8_1div2_nsth_map- -<a href="cc_hash_table.html"><tt>cc_hash_table</tt></a> -with <tt>Comb_Hash_Fn</tt> = <a href="direct_mask_range_hashing.html"><tt>direct_mask_range_hashing</tt></a> -, and <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a> - with <tt>Size_Policy</tt> = <a href="hash_exponential_size_policy.html"><tt>hash_exponential_size_policy</tt></a> -, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a> - with <i>α<sub>min</sub></i> = <i>1/8</i> and <i>α<sub>max</sub></i> = <i>1/2</i></li> -</ol> -</div><div style="width: 100%; height: 20px"></div></div> -</div> -</div> -</div> -</div> -<div id="NCCM_res_div"> -<div id="NCCM_msvc"> -<div id="NCCM_cc_hash_random_int_subscript_timing_test_find"> -<div id="NCCM_assoc"> -<div id="NCCM_Native_and_collision-chaining_hash_random_int_find_timing_test_using__tt__b_operator_455b__455tt__457"><div style="border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NCCM" id="NCCM"><img src="cc_hash_random_int_subscript_timing_test_find_msvc.png" alt="no image" /></a></h6>NCCM: Native and collision-chaining hash random int find timing test using <tt><b>operator</b></tt>[] - <a href="assoc_performance_tests.html#msvc">msvc++</a><p>In the above figure, the names in the legends have the following meaning:</p> -<ol> -<li> -cc_hash_mod_prime_nea_lc_1div8_1div1_nsth_map- -<a href="cc_hash_table.html"><tt>cc_hash_table</tt></a> -with <tt>Comb_Hash_Fn</tt> = <a href="direct_mod_range_hashing.html"><tt>direct_mod_range_hashing</tt></a> -, and <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a> - with <tt>Size_Policy</tt> = <a href="hash_prime_size_policy.html"><tt>hash_prime_size_policy</tt></a> -, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a> - with <i>α<sub>min</sub></i> = <i>1/8</i> and <i>α<sub>max</sub></i> = <i>1/1</i></li> -<li> -cc_hash_mod_prime_nea_lc_1div8_1div2_nsth_map- -<a href="cc_hash_table.html"><tt>cc_hash_table</tt></a> -with <tt>Comb_Hash_Fn</tt> = <a href="direct_mod_range_hashing.html"><tt>direct_mod_range_hashing</tt></a> -, and <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a> - with <tt>Size_Policy</tt> = <a href="hash_prime_size_policy.html"><tt>hash_prime_size_policy</tt></a> -, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a> - with <i>α<sub>min</sub></i> = <i>1/8</i> and <i>α<sub>max</sub></i> = <i>1/2</i></li> -<li> -n_hash_map_ncah- -<tt>stdext::hash_map</tt></li> -<li> -cc_hash_mask_exp_nea_lc_1div8_1div1_nsth_map- -<a href="cc_hash_table.html"><tt>cc_hash_table</tt></a> -with <tt>Comb_Hash_Fn</tt> = <a href="direct_mask_range_hashing.html"><tt>direct_mask_range_hashing</tt></a> -, and <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a> - with <tt>Size_Policy</tt> = <a href="hash_exponential_size_policy.html"><tt>hash_exponential_size_policy</tt></a> -, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a> - with <i>α<sub>min</sub></i> = <i>1/8</i> and <i>α<sub>max</sub></i> = <i>1/1</i></li> -<li> -cc_hash_mask_exp_nea_lc_1div8_1div2_nsth_map- -<a href="cc_hash_table.html"><tt>cc_hash_table</tt></a> -with <tt>Comb_Hash_Fn</tt> = <a href="direct_mask_range_hashing.html"><tt>direct_mask_range_hashing</tt></a> -, and <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a> - with <tt>Size_Policy</tt> = <a href="hash_exponential_size_policy.html"><tt>hash_exponential_size_policy</tt></a> -, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a> - with <i>α<sub>min</sub></i> = <i>1/8</i> and <i>α<sub>max</sub></i> = <i>1/2</i></li> -</ol> -</div><div style="width: 100%; height: 20px"></div></div> -</div> -</div> -</div> -</div> -<div id="NCCL_res_div"> -<div id="NCCL_local"> -<div id="NCCL_cc_hash_random_int_subscript_timing_test_find"> -<div id="NCCL_assoc"> -<div id="NCCL_Native_and_collision-chaining_hash_random_int_find_timing_test_using__tt__b_operator_455b__455tt__457"><div style = "border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NCCL" id= "NCCL"><img src="cc_hash_random_int_subscript_timing_test_find_local.png" alt="no image" /></a></h6>NCCL: Native and collision-chaining hash random int find timing test using <tt><b>operator</b></tt>[] - <a href = "assoc_performance_tests.html#local">local</a></div><div style = "width: 100%; height: 20px"></div></div> -</div> -</div> -</div> -</div> -<div id="NGPG_res_div"> -<div id="NGPG_gcc"> -<div id="NGPG_gp_hash_random_int_subscript_timing_test_find"> -<div id="NGPG_assoc"> -<div id="NGPG_Native_and_probing_hash_random_int_find_timing_test_using__tt__b_operator_455b__455tt__457"><div style="border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NGPG" id="NGPG"><img src="gp_hash_random_int_subscript_timing_test_find_gcc.png" alt="no image" /></a></h6>NGPG: Native and probing hash random int find timing test using <tt><b>operator</b></tt>[] - <a href="assoc_performance_tests.html#gcc">g++</a><p>In the above figure, the names in the legends have the following meaning:</p> -<ol> -<li> -n_hash_map_ncah- -<tt>std::tr1::unordered_map</tt> with <tt>cache_hash_code</tt> = <tt><b>false</b></tt></li> -<li> -gp_hash_mod_quadp_prime_nea_lc_1div8_1div2_nsth_map- -<a href="gp_hash_table.html"><tt>gp_hash_table</tt></a> - with <tt>Comb_Hash_Fn</tt> = <a href="direct_mod_range_hashing.html"><tt>direct_mod_range_hashing</tt></a> -, <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a> - with <tt>Size_Policy</tt> = <a href="hash_prime_size_policy.html"><tt>hash_prime_size_policy</tt></a> -, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a> - with <i>α<sub>min</sub></i> = <i>1/8</i> and <i>α<sub>max</sub></i> = <i>1/2</i>, and <tt>Probe_Fn</tt> = <a href="quadratic_probe_fn.html"><tt>quadratic_probe_fn</tt></a> -</li> -<li> -gp_hash_mask_linp_exp_nea_lc_1div8_1div2_nsth_map- -<a href="gp_hash_table.html"><tt>gp_hash_table</tt></a> - with <tt>Comb_Hash_Fn</tt> = <a href="direct_mask_range_hashing.html"><tt>direct_mask_range_hashing</tt></a> -, <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a> - with <tt>Size_Policy</tt> = <a href="hash_exponential_size_policy.html"><tt>hash_exponential_size_policy</tt></a> -, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a> - with <i>α<sub>min</sub></i> = <i>1/8</i> and <i>α<sub>max</sub></i> = <i>1/2</i>, and <tt>Probe_Fn</tt> = <a href="linear_probe_fn.html"><tt>linear_probe_fn</tt></a> -</li> -</ol> -</div><div style="width: 100%; height: 20px"></div></div> -</div> -</div> -</div> -</div> -<div id="NGPM_res_div"> -<div id="NGPM_msvc"> -<div id="NGPM_gp_hash_random_int_subscript_timing_test_find"> -<div id="NGPM_assoc"> -<div id="NGPM_Native_and_probing_hash_random_int_find_timing_test_using__tt__b_operator_455b__455tt__457"><div style="border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NGPM" id="NGPM"><img src="gp_hash_random_int_subscript_timing_test_find_msvc.png" alt="no image" /></a></h6>NGPM: Native and probing hash random int find timing test using <tt><b>operator</b></tt>[] - <a href="assoc_performance_tests.html#msvc">msvc++</a><p>In the above figure, the names in the legends have the following meaning:</p> -<ol> -<li> -gp_hash_mod_quadp_prime_nea_lc_1div8_1div2_nsth_map- -<a href="gp_hash_table.html"><tt>gp_hash_table</tt></a> - with <tt>Comb_Hash_Fn</tt> = <a href="direct_mod_range_hashing.html"><tt>direct_mod_range_hashing</tt></a> -, <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a> - with <tt>Size_Policy</tt> = <a href="hash_prime_size_policy.html"><tt>hash_prime_size_policy</tt></a> -, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a> - with <i>α<sub>min</sub></i> = <i>1/8</i> and <i>α<sub>max</sub></i> = <i>1/2</i>, and <tt>Probe_Fn</tt> = <a href="quadratic_probe_fn.html"><tt>quadratic_probe_fn</tt></a> -</li> -<li> -n_hash_map_ncah- -<tt>stdext::hash_map</tt></li> -<li> -gp_hash_mask_linp_exp_nea_lc_1div8_1div2_nsth_map- -<a href="gp_hash_table.html"><tt>gp_hash_table</tt></a> - with <tt>Comb_Hash_Fn</tt> = <a href="direct_mask_range_hashing.html"><tt>direct_mask_range_hashing</tt></a> -, <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a> - with <tt>Size_Policy</tt> = <a href="hash_exponential_size_policy.html"><tt>hash_exponential_size_policy</tt></a> -, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a> - with <i>α<sub>min</sub></i> = <i>1/8</i> and <i>α<sub>max</sub></i> = <i>1/2</i>, and <tt>Probe_Fn</tt> = <a href="linear_probe_fn.html"><tt>linear_probe_fn</tt></a> -</li> -</ol> -</div><div style="width: 100%; height: 20px"></div></div> -</div> -</div> -</div> -</div> -<div id="NGPL_res_div"> -<div id="NGPL_local"> -<div id="NGPL_gp_hash_random_int_subscript_timing_test_find"> -<div id="NGPL_assoc"> -<div id="NGPL_Native_and_probing_hash_random_int_find_timing_test_using__tt__b_operator_455b__455tt__457"><div style = "border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NGPL" id= "NGPL"><img src="gp_hash_random_int_subscript_timing_test_find_local.png" alt="no image" /></a></h6>NGPL: Native and probing hash random int find timing test using <tt><b>operator</b></tt>[] - <a href = "assoc_performance_tests.html#local">local</a></div><div style = "width: 100%; height: 20px"></div></div> -</div> -</div> -</div> -</div> -<h2><a name="observations" id="observations">Observations</a></h2> -<p>This test shows similar results to <a href="hash_random_int_find_find_timing_test.html">Hash-Based - Random-Integer <tt>find</tt> Find Timing Test</a> .</p> -</div> -</body> -</html> diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/hash_random_int_subscript_insert_timing_test.html b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/hash_random_int_subscript_insert_timing_test.html deleted file mode 100644 index a15d03ba4..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/hash_random_int_subscript_insert_timing_test.html +++ /dev/null @@ -1,365 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" - "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> -<head> -<meta name="generator" content="HTML Tidy for Linux/x86 (vers 12 April 2005), see www.w3.org" /> -<title>Hash Random Int Subscript Insert Timing Test</title> -<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" /> -</head> -<body> -<div id="page"> -<h1>Hash-Based Random-Integer <tt><b>operator</b>[]</tt> Insert - Timing Test</h1> -<h2><a name="description" id="description">Description</a></h2> -<p>This test inserts a number of values with uniform i.i.d. - integer keys into a container, using - <tt><b>operator</b>[]</tt>. It measures the average time for - <tt><b>operator</b>[]</tt> as a function of the number of - values inserted.</p> -<p>(The test was executed with <a href="http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/testsuite/performance/ext/pb_ds/random_int_subscript_insert_timing.cc"><tt>hash_random_int_subscript_insert_timing_test</tt></a> - 200 200 2100)</p> -<h2><a name="purpose" id="purpose">Purpose</a></h2> -<p>The test primarily checks the effect of different underlying - hash-tables (see <a href="hash_based_containers.html">Design::Associative - Containers::Associative Containers::Hash-Based - Containers</a>).</p> -<h2><a name="results" id="results">Results</a></h2> -<p>Figures <a href="#NCCG">NCCG</a>, <a href="#NCCM">NCCM</a>, - and <a href="#NCCL">NCCL</a> show the results for the native - and collision-chaining types in <a href="assoc_performance_tests.html#gcc"><u>g++</u></a>, <a href="assoc_performance_tests.html#msvc"><u>MSVC++</u></a>, and - <a href="assoc_performance_tests.html#local"><u>local</u></a>, - respectively; Figures <a href="#NGPG">NGPG</a>, <a href="#NGPM">NGPM</a>, and <a href="#NGPL">NGPL</a> show the results - for the native and probing types in <a href="assoc_performance_tests.html#gcc"><u>g++</u></a>, <a href="assoc_performance_tests.html#msvc"><u>msvc++</u></a>, and - <a href="assoc_performance_tests.html#local"><u>local</u></a> - respectively; Figures <a href="#CCGPG">CCGPG</a>, <a href="#CCGPM">CCGPM</a>, and <a href="#CCGPL">CCGPL</a> compare the - results for the collision-chaining and probing types of - <tt>pb_ds</tt> only, in <a href="assoc_performance_tests.html#gcc"><u>g++</u></a>, <a href="assoc_performance_tests.html#msvc"><u>MSVC++</u></a>, and - <a href="assoc_performance_tests.html#local"><u>local</u></a> - respectively.</p> -<div id="NCCG_res_div"> -<div id="NCCG_gcc"> -<div id="NCCG_cc_hash_random_int_subscript_timing_test_insert"> -<div id="NCCG_assoc"> -<div id="NCCG_Native_and_collision-chaining_hash_random_int_insert_timing_test_using__tt__b_operator_455b__455tt_"><div style="border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NCCG" id="NCCG"><img src="cc_hash_random_int_subscript_timing_test_insert_gcc.png" alt="no image" /></a></h6>NCCG: Native and collision-chaining hash random int insert timing test using <tt><b>operator</b></tt> - <a href="assoc_performance_tests.html#gcc">g++</a><p>In the above figure, the names in the legends have the following meaning:</p> -<ol> -<li> -cc_hash_mod_prime_nea_lc_1div8_1div2_nsth_map- -<a href="cc_hash_table.html"><tt>cc_hash_table</tt></a> -with <tt>Comb_Hash_Fn</tt> = <a href="direct_mod_range_hashing.html"><tt>direct_mod_range_hashing</tt></a> -, and <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a> - with <tt>Size_Policy</tt> = <a href="hash_prime_size_policy.html"><tt>hash_prime_size_policy</tt></a> -, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a> - with <i>α<sub>min</sub></i> = <i>1/8</i> and <i>α<sub>max</sub></i> = <i>1/2</i></li> -<li> -n_hash_map_ncah- -<tt>std::tr1::unordered_map</tt> with <tt>cache_hash_code</tt> = <tt><b>false</b></tt></li> -<li> -cc_hash_mask_exp_nea_lc_1div8_1div2_nsth_map- -<a href="cc_hash_table.html"><tt>cc_hash_table</tt></a> -with <tt>Comb_Hash_Fn</tt> = <a href="direct_mask_range_hashing.html"><tt>direct_mask_range_hashing</tt></a> -, and <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a> - with <tt>Size_Policy</tt> = <a href="hash_exponential_size_policy.html"><tt>hash_exponential_size_policy</tt></a> -, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a> - with <i>α<sub>min</sub></i> = <i>1/8</i> and <i>α<sub>max</sub></i> = <i>1/2</i></li> -<li> -cc_hash_mod_prime_nea_lc_1div8_1div1_nsth_map- -<a href="cc_hash_table.html"><tt>cc_hash_table</tt></a> -with <tt>Comb_Hash_Fn</tt> = <a href="direct_mod_range_hashing.html"><tt>direct_mod_range_hashing</tt></a> -, and <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a> - with <tt>Size_Policy</tt> = <a href="hash_prime_size_policy.html"><tt>hash_prime_size_policy</tt></a> -, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a> - with <i>α<sub>min</sub></i> = <i>1/8</i> and <i>α<sub>max</sub></i> = <i>1/1</i></li> -<li> -cc_hash_mask_exp_nea_lc_1div8_1div1_nsth_map- -<a href="cc_hash_table.html"><tt>cc_hash_table</tt></a> -with <tt>Comb_Hash_Fn</tt> = <a href="direct_mask_range_hashing.html"><tt>direct_mask_range_hashing</tt></a> -, and <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a> - with <tt>Size_Policy</tt> = <a href="hash_exponential_size_policy.html"><tt>hash_exponential_size_policy</tt></a> -, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a> - with <i>α<sub>min</sub></i> = <i>1/8</i> and <i>α<sub>max</sub></i> = <i>1/1</i></li> -</ol> -</div><div style="width: 100%; height: 20px"></div></div> -</div> -</div> -</div> -</div> -<div id="NCCM_res_div"> -<div id="NCCM_msvc"> -<div id="NCCM_cc_hash_random_int_subscript_timing_test_insert"> -<div id="NCCM_assoc"> -<div id="NCCM_Native_and_collision-chaining_hash_random_int_insert_timing_test_using__tt__b_operator_455b__455tt_"><div style="border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NCCM" id="NCCM"><img src="cc_hash_random_int_subscript_timing_test_insert_msvc.png" alt="no image" /></a></h6>NCCM: Native and collision-chaining hash random int insert timing test using <tt><b>operator</b></tt> - <a href="assoc_performance_tests.html#msvc">msvc++</a><p>In the above figure, the names in the legends have the following meaning:</p> -<ol> -<li> -n_hash_map_ncah- -<tt>stdext::hash_map</tt></li> -<li> -cc_hash_mod_prime_nea_lc_1div8_1div2_nsth_map- -<a href="cc_hash_table.html"><tt>cc_hash_table</tt></a> -with <tt>Comb_Hash_Fn</tt> = <a href="direct_mod_range_hashing.html"><tt>direct_mod_range_hashing</tt></a> -, and <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a> - with <tt>Size_Policy</tt> = <a href="hash_prime_size_policy.html"><tt>hash_prime_size_policy</tt></a> -, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a> - with <i>α<sub>min</sub></i> = <i>1/8</i> and <i>α<sub>max</sub></i> = <i>1/2</i></li> -<li> -cc_hash_mod_prime_nea_lc_1div8_1div1_nsth_map- -<a href="cc_hash_table.html"><tt>cc_hash_table</tt></a> -with <tt>Comb_Hash_Fn</tt> = <a href="direct_mod_range_hashing.html"><tt>direct_mod_range_hashing</tt></a> -, and <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a> - with <tt>Size_Policy</tt> = <a href="hash_prime_size_policy.html"><tt>hash_prime_size_policy</tt></a> -, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a> - with <i>α<sub>min</sub></i> = <i>1/8</i> and <i>α<sub>max</sub></i> = <i>1/1</i></li> -<li> -cc_hash_mask_exp_nea_lc_1div8_1div2_nsth_map- -<a href="cc_hash_table.html"><tt>cc_hash_table</tt></a> -with <tt>Comb_Hash_Fn</tt> = <a href="direct_mask_range_hashing.html"><tt>direct_mask_range_hashing</tt></a> -, and <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a> - with <tt>Size_Policy</tt> = <a href="hash_exponential_size_policy.html"><tt>hash_exponential_size_policy</tt></a> -, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a> - with <i>α<sub>min</sub></i> = <i>1/8</i> and <i>α<sub>max</sub></i> = <i>1/2</i></li> -<li> -cc_hash_mask_exp_nea_lc_1div8_1div1_nsth_map- -<a href="cc_hash_table.html"><tt>cc_hash_table</tt></a> -with <tt>Comb_Hash_Fn</tt> = <a href="direct_mask_range_hashing.html"><tt>direct_mask_range_hashing</tt></a> -, and <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a> - with <tt>Size_Policy</tt> = <a href="hash_exponential_size_policy.html"><tt>hash_exponential_size_policy</tt></a> -, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a> - with <i>α<sub>min</sub></i> = <i>1/8</i> and <i>α<sub>max</sub></i> = <i>1/1</i></li> -</ol> -</div><div style="width: 100%; height: 20px"></div></div> -</div> -</div> -</div> -</div> -<div id="NCCL_res_div"> -<div id="NCCL_local"> -<div id="NCCL_cc_hash_random_int_subscript_timing_test_insert"> -<div id="NCCL_assoc"> -<div id="NCCL_Native_and_collision-chaining_hash_random_int_insert_timing_test_using__tt__b_operator_455b__455tt_"><div style = "border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NCCL" id= "NCCL"><img src="cc_hash_random_int_subscript_timing_test_insert_local.png" alt="no image" /></a></h6>NCCL: Native and collision-chaining hash random int insert timing test using <tt><b>operator</b></tt> - <a href = "assoc_performance_tests.html#local">local</a></div><div style = "width: 100%; height: 20px"></div></div> -</div> -</div> -</div> -</div> -<div id="NGPG_res_div"> -<div id="NGPG_gcc"> -<div id="NGPG_gp_hash_random_int_subscript_timing_test_insert"> -<div id="NGPG_assoc"> -<div id="NGPG_Native_and_probing_hash_random_int_insert_timing_test_using__tt__b_operator_455b__455tt_"><div style="border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NGPG" id="NGPG"><img src="gp_hash_random_int_subscript_timing_test_insert_gcc.png" alt="no image" /></a></h6>NGPG: Native and probing hash random int insert timing test using <tt><b>operator</b></tt> - <a href="assoc_performance_tests.html#gcc">g++</a><p>In the above figure, the names in the legends have the following meaning:</p> -<ol> -<li> -gp_hash_mod_quadp_prime_nea_lc_1div8_1div2_nsth_map- -<a href="gp_hash_table.html"><tt>gp_hash_table</tt></a> - with <tt>Comb_Hash_Fn</tt> = <a href="direct_mod_range_hashing.html"><tt>direct_mod_range_hashing</tt></a> -, <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a> - with <tt>Size_Policy</tt> = <a href="hash_prime_size_policy.html"><tt>hash_prime_size_policy</tt></a> -, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a> - with <i>α<sub>min</sub></i> = <i>1/8</i> and <i>α<sub>max</sub></i> = <i>1/2</i>, and <tt>Probe_Fn</tt> = <a href="quadratic_probe_fn.html"><tt>quadratic_probe_fn</tt></a> -</li> -<li> -n_hash_map_ncah- -<tt>std::tr1::unordered_map</tt> with <tt>cache_hash_code</tt> = <tt><b>false</b></tt></li> -<li> -gp_hash_mask_linp_exp_nea_lc_1div8_1div2_nsth_map- -<a href="gp_hash_table.html"><tt>gp_hash_table</tt></a> - with <tt>Comb_Hash_Fn</tt> = <a href="direct_mask_range_hashing.html"><tt>direct_mask_range_hashing</tt></a> -, <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a> - with <tt>Size_Policy</tt> = <a href="hash_exponential_size_policy.html"><tt>hash_exponential_size_policy</tt></a> -, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a> - with <i>α<sub>min</sub></i> = <i>1/8</i> and <i>α<sub>max</sub></i> = <i>1/2</i>, and <tt>Probe_Fn</tt> = <a href="linear_probe_fn.html"><tt>linear_probe_fn</tt></a> -</li> -</ol> -</div><div style="width: 100%; height: 20px"></div></div> -</div> -</div> -</div> -</div> -<div id="NGPM_res_div"> -<div id="NGPM_msvc"> -<div id="NGPM_gp_hash_random_int_subscript_timing_test_insert"> -<div id="NGPM_assoc"> -<div id="NGPM_Native_and_probing_hash_random_int_insert_timing_test_using__tt__b_operator_455b__455tt_"><div style="border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NGPM" id="NGPM"><img src="gp_hash_random_int_subscript_timing_test_insert_msvc.png" alt="no image" /></a></h6>NGPM: Native and probing hash random int insert timing test using <tt><b>operator</b></tt> - <a href="assoc_performance_tests.html#msvc">msvc++</a><p>In the above figure, the names in the legends have the following meaning:</p> -<ol> -<li> -n_hash_map_ncah- -<tt>stdext::hash_map</tt></li> -<li> -gp_hash_mod_quadp_prime_nea_lc_1div8_1div2_nsth_map- -<a href="gp_hash_table.html"><tt>gp_hash_table</tt></a> - with <tt>Comb_Hash_Fn</tt> = <a href="direct_mod_range_hashing.html"><tt>direct_mod_range_hashing</tt></a> -, <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a> - with <tt>Size_Policy</tt> = <a href="hash_prime_size_policy.html"><tt>hash_prime_size_policy</tt></a> -, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a> - with <i>α<sub>min</sub></i> = <i>1/8</i> and <i>α<sub>max</sub></i> = <i>1/2</i>, and <tt>Probe_Fn</tt> = <a href="quadratic_probe_fn.html"><tt>quadratic_probe_fn</tt></a> -</li> -<li> -gp_hash_mask_linp_exp_nea_lc_1div8_1div2_nsth_map- -<a href="gp_hash_table.html"><tt>gp_hash_table</tt></a> - with <tt>Comb_Hash_Fn</tt> = <a href="direct_mask_range_hashing.html"><tt>direct_mask_range_hashing</tt></a> -, <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a> - with <tt>Size_Policy</tt> = <a href="hash_exponential_size_policy.html"><tt>hash_exponential_size_policy</tt></a> -, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a> - with <i>α<sub>min</sub></i> = <i>1/8</i> and <i>α<sub>max</sub></i> = <i>1/2</i>, and <tt>Probe_Fn</tt> = <a href="linear_probe_fn.html"><tt>linear_probe_fn</tt></a> -</li> -</ol> -</div><div style="width: 100%; height: 20px"></div></div> -</div> -</div> -</div> -</div> -<div id="NGPL_res_div"> -<div id="NGPL_local"> -<div id="NGPL_gp_hash_random_int_subscript_timing_test_insert"> -<div id="NGPL_assoc"> -<div id="NGPL_Native_and_probing_hash_random_int_insert_timing_test_using__tt__b_operator_455b__455tt_"><div style = "border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NGPL" id= "NGPL"><img src="gp_hash_random_int_subscript_timing_test_insert_local.png" alt="no image" /></a></h6>NGPL: Native and probing hash random int insert timing test using <tt><b>operator</b></tt> - <a href = "assoc_performance_tests.html#local">local</a></div><div style = "width: 100%; height: 20px"></div></div> -</div> -</div> -</div> -</div> -<div id="CCGPG_res_div"> -<div id="CCGPG_gcc"> -<div id="CCGPG_ccgp_hash_random_int_subscript_timing_test_insert"> -<div id="CCGPG_assoc"> -<div id="CCGPG_Collision-chaining_and_probing_hash_random_int_insert_timing_test_using__tt__b_operator_455b__455tt_"><div style="border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="CCGPG" id="CCGPG"><img src="ccgp_hash_random_int_subscript_timing_test_insert_gcc.png" alt="no image" /></a></h6>CCGPG: Collision-chaining and probing hash random int insert timing test using <tt><b>operator</b></tt> - <a href="assoc_performance_tests.html#gcc">g++</a><p>In the above figure, the names in the legends have the following meaning:</p> -<ol> -<li> -gp_hash_mod_quadp_prime_nea_lc_1div8_1div2_nsth_map- -<a href="gp_hash_table.html"><tt>gp_hash_table</tt></a> - with <tt>Comb_Hash_Fn</tt> = <a href="direct_mod_range_hashing.html"><tt>direct_mod_range_hashing</tt></a> -, <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a> - with <tt>Size_Policy</tt> = <a href="hash_prime_size_policy.html"><tt>hash_prime_size_policy</tt></a> -, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a> - with <i>α<sub>min</sub></i> = <i>1/8</i> and <i>α<sub>max</sub></i> = <i>1/2</i>, and <tt>Probe_Fn</tt> = <a href="quadratic_probe_fn.html"><tt>quadratic_probe_fn</tt></a> -</li> -<li> -cc_hash_mod_prime_nea_lc_1div8_1div2_nsth_map- -<a href="cc_hash_table.html"><tt>cc_hash_table</tt></a> -with <tt>Comb_Hash_Fn</tt> = <a href="direct_mod_range_hashing.html"><tt>direct_mod_range_hashing</tt></a> -, and <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a> - with <tt>Size_Policy</tt> = <a href="hash_prime_size_policy.html"><tt>hash_prime_size_policy</tt></a> -, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a> - with <i>α<sub>min</sub></i> = <i>1/8</i> and <i>α<sub>max</sub></i> = <i>1/2</i></li> -<li> -cc_hash_mask_exp_nea_lc_1div8_1div2_nsth_map- -<a href="cc_hash_table.html"><tt>cc_hash_table</tt></a> -with <tt>Comb_Hash_Fn</tt> = <a href="direct_mask_range_hashing.html"><tt>direct_mask_range_hashing</tt></a> -, and <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a> - with <tt>Size_Policy</tt> = <a href="hash_exponential_size_policy.html"><tt>hash_exponential_size_policy</tt></a> -, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a> - with <i>α<sub>min</sub></i> = <i>1/8</i> and <i>α<sub>max</sub></i> = <i>1/2</i></li> -<li> -gp_hash_mask_linp_exp_nea_lc_1div8_1div2_nsth_map- -<a href="gp_hash_table.html"><tt>gp_hash_table</tt></a> - with <tt>Comb_Hash_Fn</tt> = <a href="direct_mask_range_hashing.html"><tt>direct_mask_range_hashing</tt></a> -, <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a> - with <tt>Size_Policy</tt> = <a href="hash_exponential_size_policy.html"><tt>hash_exponential_size_policy</tt></a> -, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a> - with <i>α<sub>min</sub></i> = <i>1/8</i> and <i>α<sub>max</sub></i> = <i>1/2</i>, and <tt>Probe_Fn</tt> = <a href="linear_probe_fn.html"><tt>linear_probe_fn</tt></a> -</li> -</ol> -</div><div style="width: 100%; height: 20px"></div></div> -</div> -</div> -</div> -</div> -<div id="CCGPM_res_div"> -<div id="CCGPM_msvc"> -<div id="CCGPM_ccgp_hash_random_int_subscript_timing_test_insert"> -<div id="CCGPM_assoc"> -<div id="CCGPM_Collision-chaining_and_probing_hash_random_int_insert_timing_test_using__tt__b_operator_455b__455tt_"><div style="border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="CCGPM" id="CCGPM"><img src="ccgp_hash_random_int_subscript_timing_test_insert_msvc.png" alt="no image" /></a></h6>CCGPM: Collision-chaining and probing hash random int insert timing test using <tt><b>operator</b></tt> - <a href="assoc_performance_tests.html#msvc">msvc++</a><p>In the above figure, the names in the legends have the following meaning:</p> -<ol> -<li> -cc_hash_mod_prime_nea_lc_1div8_1div2_nsth_map- -<a href="cc_hash_table.html"><tt>cc_hash_table</tt></a> -with <tt>Comb_Hash_Fn</tt> = <a href="direct_mod_range_hashing.html"><tt>direct_mod_range_hashing</tt></a> -, and <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a> - with <tt>Size_Policy</tt> = <a href="hash_prime_size_policy.html"><tt>hash_prime_size_policy</tt></a> -, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a> - with <i>α<sub>min</sub></i> = <i>1/8</i> and <i>α<sub>max</sub></i> = <i>1/2</i></li> -<li> -cc_hash_mask_exp_nea_lc_1div8_1div2_nsth_map- -<a href="cc_hash_table.html"><tt>cc_hash_table</tt></a> -with <tt>Comb_Hash_Fn</tt> = <a href="direct_mask_range_hashing.html"><tt>direct_mask_range_hashing</tt></a> -, and <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a> - with <tt>Size_Policy</tt> = <a href="hash_exponential_size_policy.html"><tt>hash_exponential_size_policy</tt></a> -, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a> - with <i>α<sub>min</sub></i> = <i>1/8</i> and <i>α<sub>max</sub></i> = <i>1/2</i></li> -<li> -gp_hash_mod_quadp_prime_nea_lc_1div8_1div2_nsth_map- -<a href="gp_hash_table.html"><tt>gp_hash_table</tt></a> - with <tt>Comb_Hash_Fn</tt> = <a href="direct_mod_range_hashing.html"><tt>direct_mod_range_hashing</tt></a> -, <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a> - with <tt>Size_Policy</tt> = <a href="hash_prime_size_policy.html"><tt>hash_prime_size_policy</tt></a> -, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a> - with <i>α<sub>min</sub></i> = <i>1/8</i> and <i>α<sub>max</sub></i> = <i>1/2</i>, and <tt>Probe_Fn</tt> = <a href="quadratic_probe_fn.html"><tt>quadratic_probe_fn</tt></a> -</li> -<li> -gp_hash_mask_linp_exp_nea_lc_1div8_1div2_nsth_map- -<a href="gp_hash_table.html"><tt>gp_hash_table</tt></a> - with <tt>Comb_Hash_Fn</tt> = <a href="direct_mask_range_hashing.html"><tt>direct_mask_range_hashing</tt></a> -, <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a> - with <tt>Size_Policy</tt> = <a href="hash_exponential_size_policy.html"><tt>hash_exponential_size_policy</tt></a> -, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a> - with <i>α<sub>min</sub></i> = <i>1/8</i> and <i>α<sub>max</sub></i> = <i>1/2</i>, and <tt>Probe_Fn</tt> = <a href="linear_probe_fn.html"><tt>linear_probe_fn</tt></a> -</li> -</ol> -</div><div style="width: 100%; height: 20px"></div></div> -</div> -</div> -</div> -</div> -<div id="CCGPL_res_div"> -<div id="CCGPL_local"> -<div id="CCGPL_ccgp_hash_random_int_subscript_timing_test_insert"> -<div id="CCGPL_assoc"> -<div id="CCGPL_Collision-chaining_and_probing_hash_random_int_insert_timing_test_using__tt__b_operator_455b__455tt_"><div style = "border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="CCGPL" id= "CCGPL"><img src="ccgp_hash_random_int_subscript_timing_test_insert_local.png" alt="no image" /></a></h6>CCGPL: Collision-chaining and probing hash random int insert timing test using <tt><b>operator</b></tt> - <a href = "assoc_performance_tests.html#local">local</a></div><div style = "width: 100%; height: 20px"></div></div> -</div> -</div> -</div> -</div> -<h2><a name="observations" id="observations">Observations</a></h2> -<p>In this setting, as in <a href="hash_text_find_find_timing_test.html">Hash-Based Text - <tt>find</tt> Find Timing Test</a> and <a href="hash_random_int_find_find_timing_test.html">Hash-Based - Random-Integer <tt>find</tt> Find Timing Test</a> , the choice - of underlying hash-table underlying hash-table (see <a href="hash_based_containers.html">Design::Associative - Containers::Hash-Based Containers</a> ) affects performance - most, then the range-hashing scheme (See <a href="hash_based_containers.html#hash_policies">Design::Associative - Containers::Hash-Based Containers::Hash Policies</a> ), and, - only finally, other policies.</p> -<p>There are some differences, however:</p> -<ol> -<li>In this setting, probing tables function sometimes more - efficiently than collision-chaining tables (see Figures - <a href="#CCGPG">CCGPG</a> and <a href="#CCGPM">CCGPM</a> ). - This is explained shortly.</li> -<li>The performance graphs have a "saw-tooth" shape. The - average insert time rises and falls. As values are inserted - into the container, the load factor grows larger. Eventually, - a resize occurs. The reallocations and rehashing are - relatively expensive. After this, the load factor is smaller - than before.</li> -</ol> -<p>Collision-chaining containers use indirection for greater - flexibility; probing containers store values contiguously, in - an array (see Figure <a href="motivation.html#different_underlying_data_structures">Motivation::Different - underlying data structures</a> A and B, respectively). It - follows that for simple data types, probing containers access - their allocator less frequently than collision-chaining - containers, (although they still have less efficient probing - sequences). This explains why some probing containers fare - better than collision-chaining containers in this case.</p> -<p>Within each type of hash-table, the range-hashing scheme - affects performance more than other policies. This is similar - to the situation in <a href="hash_text_find_find_timing_test.html">Hash-Based Text - <tt>find</tt> Find Timing Test</a> and <a href="hash_random_int_find_find_timing_test.html">Hash-Based - Random-Integer <tt>find</tt> Find Timing Test</a>. - Unsurprisingly, however, containers with <u>lower</u> -<i>alpha<sub>max</sub></i> perform <u>worse</u> in this case, - since more re-hashes are performed.</p> -<p><a href="assoc_performance_tests.html#hash_based_types">Observations::Hash-Based - Container Types</a> summarizes some observations on hash-based - containers; <a href="assoc_performance_tests.html#hash_based_policies">Observations::Hash-Based - Containers' Policies</a> summarizes some observations on - hash-based containers' policies.</p> -</div> -</body> -</html> diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/hash_range_hashing_seq_diagram.png b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/hash_range_hashing_seq_diagram.png Binary files differdeleted file mode 100644 index 5c37407dd..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/hash_range_hashing_seq_diagram.png +++ /dev/null diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/hash_range_hashing_seq_diagram2.png b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/hash_range_hashing_seq_diagram2.png Binary files differdeleted file mode 100644 index 87763caac..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/hash_range_hashing_seq_diagram2.png +++ /dev/null diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/hash_ranged_hash_range_hashing_fns.png b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/hash_ranged_hash_range_hashing_fns.png Binary files differdeleted file mode 100644 index 5e0d7f403..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/hash_ranged_hash_range_hashing_fns.png +++ /dev/null diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/hash_standard_resize_policy.html b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/hash_standard_resize_policy.html deleted file mode 100644 index 8dbc57ce2..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/hash_standard_resize_policy.html +++ /dev/null @@ -1,795 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" - "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> -<head> - <meta name="generator" content= - "HTML Tidy for Linux/x86 (vers 12 April 2005), see www.w3.org" /> - - <title>hash_standard_resize_policy Interface</title> - <meta http-equiv="Content-Type" content= - "text/html; charset=us-ascii" /> - </head> - -<body> - <div id="page"> - <h1><tt>hash_standard_resize_policy</tt> Interface</h1> - - <p>A resize policy which delegates operations to size and - trigger policies.</p> - - <p>Defined in: <a href= - "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/include/ext/pb_ds/hash_policy.hpp"><tt>hash_policy.hpp</tt></a></p> - - <h2><a name="link1" id="link1">Template Parameters</a></h2> - - <table class="c1" width="100%" border="1" summary= - "Template Parameters"> - <tr> - <td width="20%" align="left"><b>Parameter</b></td> - - <td width="50%" align="left"><b>Description</b></td> - - <td width="30%" align="left"><b>Default Value</b></td> - </tr> - - <tr> - <td> - <pre> -<a name="Size_Policy1072992366" id= -"Size_Policy1072992366"><b>class</b> Size_Policy </a> -</pre> - </td> - - <td> - <p>Size policy type.</p> - </td> - - <td><a href= - "hash_exponential_size_policy.html"><span class="c2"><tt>hash_exponential_size_policy</tt></span></a></td> - </tr> - - <tr> - <td> - <pre> -<a name="Trigger_Policy3611271815" id= -"Trigger_Policy3611271815"><b>class</b> Trigger_Policy </a> -</pre> - </td> - - <td> - <p>Trigger policy type.</p> - </td> - - <td><a href= - "hash_load_check_resize_trigger.html"><span class= - "c2"><tt>hash_load_check_resize_trigger</tt></span></a></td> - </tr> - - <tr> - <td> - <pre> -<a name="External_Size_Access1380482982" id= -"External_Size_Access1380482982"><b>bool</b> External_Size_Access </a> -</pre> - </td> - - <td> - <p>Indicates whether physical sizes can be accessed - externally.</p> - </td> - - <td><tt><b>false</b></tt></td> - </tr> - - <tr> - <td> - <pre> -<a name="Size_Type42920436" id= -"Size_Type42920436"><b>typename</b> Size_Type </a> -</pre> - </td> - - <td> - <p>Size type.</p> - </td> - - <td>size_t</td> - </tr> - </table> - - <h2><a name="link2" id="link2">Base Classes</a></h2> - - <table class="c1" width="100%" border="1" summary="Bases"> - <tr> - <td width="80%" align="left"><b>Class</b></td> - - <td width="20%" align="left"><b>Derivation Type</b></td> - </tr> - - <tr> - <td> - <pre> -<a href="#Size_Policy1072992366"><tt>Size_Policy</tt></a> -</pre> - </td> - - <td> - <p>public</p> - </td> - </tr> - - <tr> - <td> - <pre> -<a href="#Trigger_Policy3611271815"><tt>Trigger_Policy</tt></a> -</pre> - </td> - - <td> - <p>public</p> - </td> - </tr> - </table> - - <h2><a name="link3" id="link3">Public Types and - Constants</a></h2> - - <h3><a name="link4" id="link4">General Definitions</a></h3> - - <table class="c1" width="100%" border="1" summary="Types"> - <tr> - <td width="30%" align="left"><b>Type</b></td> - - <td width="55%" align="left"><b>Definition</b></td> - - <td width="15%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -<a name="size_type55424436" id="size_type55424436">size_type</a> -</pre> - </td> - - <td> - <pre> -<a href="#Size_Type42920436"><tt>Size_Type</tt></a> -</pre> - </td> - - <td> - <p>Size type.</p> - </td> - </tr> - </table> - - <h3><a name="link5" id="link5">Policy Definitions</a></h3> - - <table class="c1" width="100%" border="1" summary="Types"> - <tr> - <td width="30%" align="left"><b>Type</b></td> - - <td width="55%" align="left"><b>Definition</b></td> - - <td width="15%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -<a name="trigger_policy4019166151" id= -"trigger_policy4019166151">trigger_policy</a> -</pre> - </td> - - <td> - <pre> -<a href="#Trigger_Policy3611271815"><tt>Trigger_Policy</tt></a> -</pre> - </td> - - <td> - <p>Trigger policy type.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<a name="size_policy1385592366" id= -"size_policy1385592366">size_policy</a> -</pre> - </td> - - <td> - <pre> -<a href="#Size_Policy1072992366"><tt>Size_Policy</tt></a> -</pre> - </td> - - <td> - <p>Size policy type.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<a name="external_size_access4043083014" id= -"external_size_access4043083014">external_size_access</a> -</pre> - </td> - - <td> - <pre> -<a href= -"#External_Size_Access1380482982"><tt>External_Size_Access</tt></a> -</pre> - </td> - - <td> - <p>Indicates whether sizes can be accessed - externally.</p> - </td> - </tr> - </table> - - <h2><a name="link6" id="link6">Public Methods</a></h2> - - <h3><a name="link7" id="link7">Constructors, Destructor, and - Related</a></h3> - - <table class="c1" width="100%" border="1" summary="Methods"> - <tr> - <td width="45%" align="left"><b>Method</b></td> - - <td width="55%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> - hash_standard_resize_policy - () -</pre> - </td> - - <td> - <p>Default constructor.</p> - </td> - </tr> - - <tr> - <td> - <pre> - hash_standard_resize_policy - (<b>const</b> <a href= -"#Size_Policy1072992366"><tt>Size_Policy</tt></a> &r_size_policy) -</pre> - </td> - - <td> - <p>constructor taking some policies <span class= - "c1"><tt>r_size_policy</tt></span> will be copied by the - <a href="#Size_Policy1072992366"><tt>Size_Policy</tt></a> - object of this object.</p> - </td> - </tr> - - <tr> - <td> - <pre> - hash_standard_resize_policy - (<b>const</b> <a href= -"#Size_Policy1072992366"><tt>Size_Policy</tt></a> &r_size_policy, - <b>const</b> <a href= -"#Trigger_Policy3611271815"><tt>Trigger_Policy</tt></a> &r_trigger_policy) -</pre> - </td> - - <td> - <p>constructor taking some policies. <span class= - "c1"><tt>r_size_policy</tt></span> will be copied by the - <a href="#Size_Policy1072992366"><tt>Size_Policy</tt></a> - object of this object. <span class= - "c1"><tt>r_trigger_policy</tt></span> will be copied by - the <a href= - "#Trigger_Policy3611271815"><tt>Trigger_Policy</tt></a> - object of this object.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<b>virtual</b> - ~hash_standard_resize_policy - () -</pre> - </td> - - <td> - <p>Destructor.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<b>inline</b> <b>void</b> - swap - (<span class= -"c2"><tt>hash_standard_resize_policy</tt></span> &other) -</pre> - </td> - - <td> - <p>Swaps content.</p> - </td> - </tr> - </table> - - <h3><a name="link8" id="link8">Policy Access Methods</a></h3> - - <table class="c1" width="100%" border="1" summary="Methods"> - <tr> - <td width="45%" align="left"><b>Method</b></td> - - <td width="55%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -<a href="#Size_Policy1072992366"><tt>Size_Policy</tt></a> & - get_size_policy - () -</pre> - </td> - - <td> - <p>Access to the <a href= - "#Size_Policy1072992366"><tt>Size_Policy</tt></a> object - used.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<b>const</b> <a href= -"#Size_Policy1072992366"><tt>Size_Policy</tt></a> & - get_size_policy - () <b>const</b> -</pre> - </td> - - <td> - <p>Const access to the <a href= - "#Size_Policy1072992366"><tt>Size_Policy</tt></a> object - used.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<a href= -"#Trigger_Policy3611271815"><tt>Trigger_Policy</tt></a> & - get_trigger_policy - () -</pre> - </td> - - <td> - <p>Access to the <a href= - "#Trigger_Policy3611271815"><tt>Trigger_Policy</tt></a> - object used.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<b>const</b> <a href= -"#Trigger_Policy3611271815"><tt>Trigger_Policy</tt></a> & - get_trigger_policy - () <b>const</b> -</pre> - </td> - - <td> - <p>Access to the <a href= - "#Trigger_Policy3611271815"><tt>Trigger_Policy</tt></a> - object used.</p> - </td> - </tr> - </table> - - <h3><a name="link9" id="link9">Size Access Methods</a></h3> - - <p>These methods are available only if the external size - parameter indicates that external size access is allowed.</p> - - <table class="c1" width="100%" border="1" summary="Methods"> - <tr> - <td width="45%" align="left"><b>Method</b></td> - - <td width="55%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -<b>inline</b> <a href="#size_type55424436"><tt>size_type</tt></a> - get_actual_size - () <b>const</b> -</pre> - </td> - - <td> - <p>Returns the actual size of the container.</p> - - <p>This method returns the number of entries (used and - unused) in the container. It is different from the - container's size method, which returns the number of used - entries. Calling this method will not compile when - <a href= - "#External_Size_Access1380482982"><tt>External_Size_Access</tt></a> - == <tt><b>false</b></tt>.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<b>void</b> - resize - (<a href= -"#size_type55424436"><tt>size_type</tt></a> suggested_new_size) -</pre> - </td> - - <td> - <p>Resizes the container to <span class= - "c1"><tt>suggested_new_size</tt></span>, a suggested size - (the actual size will be determined by the <a href= - "#Size_Policy1072992366"><tt>Size_Policy</tt></a> - object).</p> - - <p>Calling this method will not compile when <a href= - "#External_Size_Access1380482982"><tt>External_Size_Access</tt></a> - == <tt><b>false</b></tt>.</p> - </td> - </tr> - </table> - - <h2><a name="link10" id="link10">Protected Methods</a></h2> - - <h3><a name="link11" id="link11">Insert Search - Notifications.</a></h3> - - <p>Notifications called during an insert operation.</p> - - <table class="c1" width="100%" border="1" summary="Methods"> - <tr> - <td width="45%" align="left"><b>Method</b></td> - - <td width="55%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -<b>inline</b> <b>void</b> - notify_insert_search_start - () -</pre> - </td> - - <td> - <p>Notifies a search started.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<b>inline</b> <b>void</b> - notify_insert_search_collision - () -</pre> - </td> - - <td> - <p>Notifies a search encountered a collision.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<b>inline</b> <b>void</b> - notify_insert_search_end - () -</pre> - </td> - - <td> - <p>Notifies a search ended.</p> - </td> - </tr> - </table> - - <h3><a name="link12" id="link12">Find Search - Notifications.</a></h3> - - <p>Notifications called during a find operation.</p> - - <table class="c1" width="100%" border="1" summary="Methods"> - <tr> - <td width="45%" align="left"><b>Method</b></td> - - <td width="55%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -<b>inline</b> <b>void</b> - notify_find_search_start - () -</pre> - </td> - - <td> - <p>Notifies a search started.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<b>inline</b> <b>void</b> - notify_find_search_collision - () -</pre> - </td> - - <td> - <p>Notifies a search encountered a collision.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<b>inline</b> <b>void</b> - notify_find_search_end - () -</pre> - </td> - - <td> - <p>Notifies a search ended.</p> - </td> - </tr> - </table> - - <h3><a name="link13" id="link13">Erase Search - Notifications.</a></h3> - - <p>Notifications called during an insert operation.</p> - - <table class="c1" width="100%" border="1" summary="Methods"> - <tr> - <td width="45%" align="left"><b>Method</b></td> - - <td width="55%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -<b>inline</b> <b>void</b> - notify_erase_search_start - () -</pre> - </td> - - <td> - <p>Notifies a search started.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<b>inline</b> <b>void</b> - notify_erase_search_collision - () -</pre> - </td> - - <td> - <p>Notifies a search encountered a collision.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<b>inline</b> <b>void</b> - notify_erase_search_end - () -</pre> - </td> - - <td> - <p>Notifies a search ended.</p> - </td> - </tr> - </table> - - <h3><a name="link14" id="link14">Content Change - Notifications</a></h3> - - <p>Notifications called when the content of the table changes - in a way that can affect the resize policy.</p> - - <table class="c1" width="100%" border="1" summary="Methods"> - <tr> - <td width="45%" align="left"><b>Method</b></td> - - <td width="55%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -<b>inline</b> <b>void</b> - notify_inserted - (<a href="#size_type55424436"><tt>size_type</tt></a> num_e) -</pre> - </td> - - <td> - <p>Notifies an element was inserted.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<b>inline</b> <b>void</b> - notify_erased - (<a href="#size_type55424436"><tt>size_type</tt></a> num_e) -</pre> - </td> - - <td> - <p>Notifies an element was erased.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<b>void</b> - notify_cleared - () -</pre> - </td> - - <td> - <p>Notifies the table was cleared.</p> - </td> - </tr> - </table> - - <h3><a name="link15" id="link15">Size Change - Notifications</a></h3> - - <p>Notifications called when the table changes size.</p> - - <table class="c1" width="100%" border="1" summary="Methods"> - <tr> - <td width="45%" align="left"><b>Method</b></td> - - <td width="55%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -<b>void</b> - notify_resized - (<a href="#size_type55424436"><tt>size_type</tt></a> new_size) -</pre> - </td> - - <td> - <p>Notifies the table was resized to <span class= - "c1"><tt>new_size</tt></span>.</p> - </td> - </tr> - </table> - - <h3><a name="link16" id="link16">Queries</a></h3> - - <p>Called to query whether/how to resize.</p> - - <table class="c1" width="100%" border="1" summary="Methods"> - <tr> - <td width="45%" align="left"><b>Method</b></td> - - <td width="55%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -<b>inline</b> <b>bool</b> - is_resize_needed - () <b>const</b> -</pre> - </td> - - <td> - <p>Queries whether a resize is needed.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<a href="#size_type55424436"><tt>size_type</tt></a> - get_new_size - (<a href="#size_type55424436"><tt>size_type</tt></a> size, - <a href= -"#size_type55424436"><tt>size_type</tt></a> num_used_e) <b>const</b> -</pre> - </td> - - <td> - <p>Queries what the new <span class= - "c1"><tt>size</tt></span> should be, when the container - is resized naturally. The current size of the container - is <span class="c1"><tt>size</tt></span>, and the number - of used entries within the container is <span class= - "c1"><tt>num_used_e</tt></span>.</p> - </td> - </tr> - </table> - - <h2><a name="link17" id="link17">Private Methods</a></h2> - - <h3><a name="link18" id="link18">Overrides</a></h3> - - <table class="c1" width="100%" border="1" summary="Methods"> - <tr> - <td width="45%" align="left"><b>Method</b></td> - - <td width="55%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -<b>virtual</b> <b>void</b> - do_resize - (<a href="#size_type55424436"><tt>size_type</tt></a> new_size) -</pre> - </td> - - <td> - <p>Resizes to <span class= - "c1"><tt>new_size</tt></span>.</p> - </td> - </tr> - </table> - </div> -</body> -</html> diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/hash_text_find_find_timing_test.html b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/hash_text_find_find_timing_test.html deleted file mode 100644 index 60c30fd34..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/hash_text_find_find_timing_test.html +++ /dev/null @@ -1,164 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" - "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - -<html xmlns="http://www.w3.org/1999/xhtml"> -<head> -<meta name="generator" content="HTML Tidy for Linux/x86 (vers 12 April 2005), see www.w3.org" /> -<title>Hash Text Find Timing Test</title> -<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" /> -</head> -<body> -<div id="page"> -<h1>Hash-Based Text <tt>find</tt> Find Timing Test</h1> -<h2><a name="description" id="description">Description</a></h2> -<p>This test inserts a number of values with keys from an - arbitrary text ([ <a href="references.html#wickland96thirty">wickland96thirty</a> ]) into - a container, then performs a series of finds using - <tt>find</tt> . It measures the average time for <tt>find</tt> - as a function of the number of values inserted.</p> -<p>(The test was executed with <a href="http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/testsuite/performance/ext/pb_ds/text_find_timing.cc"><tt>text_find_timing_test</tt></a> - thirty_years_among_the_dead_preproc.txt 200 200 2100)</p> -<h2><a name="purpose" id="purpose">Purpose</a></h2> -<p>The test checks the effect of different range-hashing - functions, trigger policies, and cache-hashing policies (see - <a href="hash_based_containers.html#hash_policies">Design::Associative - Containers::Associative Containers::Hash-Based Containers::Hash - Policies</a> and <a href="hash_based_containers.html#resize_policies">Design::Associative - Containers::Hash-Based Containers::Resize Policies</a> ).</p> -<h2><a name="results" id="results">Results</a></h2> -<p>Figures <a href="#NCCG">NCCG</a>, <a href="#NCCM">NCCM</a> - and <a href="#NCCL">NCCL</a> show the results for the native - and collision-chaining types in <a href="assoc_performance_tests.html#gcc"><u>g++</u></a>, <a href="assoc_performance_tests.html#msvc"><u>msvc++</u></a>, and - <a href="assoc_performance_tests.html#local"><u>local</u></a>, - respetively.</p> -<div id="NCCG_res_div"> -<div id="NCCG_gcc"> -<div id="NCCG_text_find_timing_test_hash"> -<div id="NCCG_assoc"> -<div id="NCCG_Native_and_collision-chaining_hash_text_find_timing_test_using__tt_find_455tt_"><div style="border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NCCG" id="NCCG"><img src="text_find_timing_test_hash_gcc.png" alt="no image" /></a></h6>NCCG: Native and collision-chaining hash text find timing test using <tt>find</tt> - <a href="assoc_performance_tests.html#gcc">g++</a><p>In the above figure, the names in the legends have the following meaning:</p> -<ol> -<li> -n_hash_map_ncah- -<tt>std::tr1::unordered_map</tt> with <tt>cache_hash_code</tt> = <tt><b>false</b></tt></li> -<li> -cc_hash_mod_prime_nea_lc_1div8_1div1_nsth_map- -<a href="cc_hash_table.html"><tt>cc_hash_table</tt></a> -with <tt>Comb_Hash_Fn</tt> = <a href="direct_mod_range_hashing.html"><tt>direct_mod_range_hashing</tt></a> -, and <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a> - with <tt>Size_Policy</tt> = <a href="hash_prime_size_policy.html"><tt>hash_prime_size_policy</tt></a> -, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a> - with <i>α<sub>min</sub></i> = <i>1/8</i> and <i>α<sub>max</sub></i> = <i>1/1</i></li> -<li> -cc_hash_mask_exp_nea_lc_1div8_1div2_sth_map- -<a href="cc_hash_table.html"><tt>cc_hash_table</tt></a> -with <tt>Comb_Hash_Fn</tt> = <a href="direct_mask_range_hashing.html"><tt>direct_mask_range_hashing</tt></a> -, and <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a> - with <tt>Size_Policy</tt> = <a href="hash_exponential_size_policy.html"><tt>hash_exponential_size_policy</tt></a> -, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a> - with <i>α<sub>min</sub></i> = <i>1/8</i> and <i>α<sub>max</sub></i> = <i>1/2</i></li> -<li> -cc_hash_mask_exp_nea_lc_1div8_1div1_nsth_map- -<a href="cc_hash_table.html"><tt>cc_hash_table</tt></a> -with <tt>Comb_Hash_Fn</tt> = <a href="direct_mask_range_hashing.html"><tt>direct_mask_range_hashing</tt></a> -, and <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a> - with <tt>Size_Policy</tt> = <a href="hash_exponential_size_policy.html"><tt>hash_exponential_size_policy</tt></a> -, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a> - with <i>α<sub>min</sub></i> = <i>1/8</i> and <i>α<sub>max</sub></i> = <i>1/1</i></li> -<li> -cc_hash_mask_exp_nea_lc_1div8_1div2_nsth_map- -<a href="cc_hash_table.html"><tt>cc_hash_table</tt></a> -with <tt>Comb_Hash_Fn</tt> = <a href="direct_mask_range_hashing.html"><tt>direct_mask_range_hashing</tt></a> -, and <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a> - with <tt>Size_Policy</tt> = <a href="hash_exponential_size_policy.html"><tt>hash_exponential_size_policy</tt></a> -, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a> - with <i>α<sub>min</sub></i> = <i>1/8</i> and <i>α<sub>max</sub></i> = <i>1/2</i></li> -</ol> -</div><div style="width: 100%; height: 20px"></div></div> -</div> -</div> -</div> -</div> -<div id="NCCM_res_div"> -<div id="NCCM_msvc"> -<div id="NCCM_text_find_timing_test_hash"> -<div id="NCCM_assoc"> -<div id="NCCM_Native_and_collision-chaining_hash_text_find_timing_test_using__tt_find_455tt_"><div style="border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NCCM" id="NCCM"><img src="text_find_timing_test_hash_msvc.png" alt="no image" /></a></h6>NCCM: Native and collision-chaining hash text find timing test using <tt>find</tt> - <a href="assoc_performance_tests.html#msvc">msvc++</a><p>In the above figure, the names in the legends have the following meaning:</p> -<ol> -<li> -n_hash_map_ncah- -<tt>stdext::hash_map</tt></li> -<li> -cc_hash_mod_prime_nea_lc_1div8_1div1_nsth_map- -<a href="cc_hash_table.html"><tt>cc_hash_table</tt></a> -with <tt>Comb_Hash_Fn</tt> = <a href="direct_mod_range_hashing.html"><tt>direct_mod_range_hashing</tt></a> -, and <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a> - with <tt>Size_Policy</tt> = <a href="hash_prime_size_policy.html"><tt>hash_prime_size_policy</tt></a> -, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a> - with <i>α<sub>min</sub></i> = <i>1/8</i> and <i>α<sub>max</sub></i> = <i>1/1</i></li> -<li> -cc_hash_mask_exp_nea_lc_1div8_1div1_nsth_map- -<a href="cc_hash_table.html"><tt>cc_hash_table</tt></a> -with <tt>Comb_Hash_Fn</tt> = <a href="direct_mask_range_hashing.html"><tt>direct_mask_range_hashing</tt></a> -, and <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a> - with <tt>Size_Policy</tt> = <a href="hash_exponential_size_policy.html"><tt>hash_exponential_size_policy</tt></a> -, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a> - with <i>α<sub>min</sub></i> = <i>1/8</i> and <i>α<sub>max</sub></i> = <i>1/1</i></li> -<li> -cc_hash_mask_exp_nea_lc_1div8_1div2_nsth_map- -<a href="cc_hash_table.html"><tt>cc_hash_table</tt></a> -with <tt>Comb_Hash_Fn</tt> = <a href="direct_mask_range_hashing.html"><tt>direct_mask_range_hashing</tt></a> -, and <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a> - with <tt>Size_Policy</tt> = <a href="hash_exponential_size_policy.html"><tt>hash_exponential_size_policy</tt></a> -, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a> - with <i>α<sub>min</sub></i> = <i>1/8</i> and <i>α<sub>max</sub></i> = <i>1/2</i></li> -<li> -cc_hash_mask_exp_nea_lc_1div8_1div2_sth_map- -<a href="cc_hash_table.html"><tt>cc_hash_table</tt></a> -with <tt>Comb_Hash_Fn</tt> = <a href="direct_mask_range_hashing.html"><tt>direct_mask_range_hashing</tt></a> -, and <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a> - with <tt>Size_Policy</tt> = <a href="hash_exponential_size_policy.html"><tt>hash_exponential_size_policy</tt></a> -, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a> - with <i>α<sub>min</sub></i> = <i>1/8</i> and <i>α<sub>max</sub></i> = <i>1/2</i></li> -</ol> -</div><div style="width: 100%; height: 20px"></div></div> -</div> -</div> -</div> -</div> -<div id="NCCL_res_div"> -<div id="NCCL_local"> -<div id="NCCL_text_find_timing_test_hash"> -<div id="NCCL_assoc"> -<div id="NCCL_Native_and_collision-chaining_hash_text_find_timing_test_using__tt_find_455tt_"><div style = "border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NCCL" id= "NCCL"><img src="text_find_timing_test_hash_local.png" alt="no image" /></a></h6>NCCL: Native and collision-chaining hash text find timing test using <tt>find</tt> - <a href = "assoc_performance_tests.html#local">local</a></div><div style = "width: 100%; height: 20px"></div></div> -</div> -</div> -</div> -</div> -<h2><a name="observations" id="observations">Observations</a></h2> -<p>In this setting, the range-hashing scheme (See <a href="hash_based_containers.html#hash_policies">Design::Associative - Containers::Hash-Based Containers::Hash Policies</a> ) affects - performance more than other policies. As Figure <a href="#NCCG">NCCG</a> shows, containers using mod-based - range-hashing (including the native hash-based container, which - is currently hard-wired to this scheme) have lower performance - than those using mask-based range-hashing. A modulo-based - range-hashing scheme's main benefit is that it takes into - account all hash-value bits. Standard string hash-functions are - designed to create hash values that are nearly-uniform as is [ - <a href="references.html#knuth98sorting">knuth98sorting</a> - ].</p> -<p>Trigger policies (see <a href="hash_based_containers.html#resize_policies">Design::Associative - Containers::Hash-Based Containers::Resize Policies</a> ), - <i>i.e.</i> the load-checks constants, affect performance to a - lesser extent.</p> -<p>Perhaps surprisingly, storing the hash value alongside each - entry affects performance only marginally, at least in - <tt>pb_ds</tt> 's implementation. (Unfortunately, it was not - possible to run the tests with <tt>std::tr1::unordered_map</tt> - 's <tt>cache_hash_code = <b>true</b></tt> , as it appeared to - malfuntion.)</p> -<p><a href="assoc_performance_tests.html#hash_based_policies">Observations::Hash-Based - Containers' Policies</a> summarizes some observations on - hash-based containers' policies.</p> -</div> -</body> -</html> diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/hash_zlob_random_int_find_find_timing_test.html b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/hash_zlob_random_int_find_find_timing_test.html deleted file mode 100644 index bfbb3b086..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/hash_zlob_random_int_find_find_timing_test.html +++ /dev/null @@ -1,163 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" - "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> -<head> -<meta name="generator" content="HTML Tidy for Linux/x86 (vers 12 April 2005), see www.w3.org" /> -<title>Hash Skewed Distribution Memory Use Test</title> -<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" /> -</head> -<body> -<div id="page"> -<h1>Hash-Based Skewed-Distribution Random-Integer <tt>find</tt> - Find Timing Test</h1> -<h2><a name="description" id="description">Description</a></h2> -<p>This test inserts a number of values with a markedly - non-uniform i.i.d. integer keys into a container, then performs - a series of finds using <tt>find</tt> . It measures the average - time for <tt>find</tt> as a function of the number of values in - the containers. The keys are generated as follows. First, a - uniform integer is created; it is then shifted left 8 bits.</p> -<p>(The test was executed with <a href="http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/testsuite/performance/ext/pb_ds/hash_zlob_random_int_find_timing.cc"><tt>hash_zlob_random_int_find_timing_test</tt></a> - 200 200 2100)</p> -<h2><a name="purpose" id="purpose">Purpose</a></h2> -<p>The test checks the effect of different range-hashing - functions and trigger policies (see <a href="hash_based_containers.html#hash_policies">Design::Associative - Containers::Hash-Based Containers::Hash Policies</a> and - <a href="hash_based_containers.html#resize_policies">Design::Associative - Containers::Hash-Based Containers::Resize Policies</a>).</p> -<h2><a name="results" id="results">Results</a></h2> -<p>Figures <a href="#NHG">NHG</a>, <a href="#NHM">NHM</a>, and - <a href="#NHL">NHL</a> show the results for various hash-based - associative-containers in <a href="assoc_performance_tests.html#gcc"><u>g++</u></a>, <a href="assoc_performance_tests.html#msvc"><u>MSVC++</u></a>, and - <a href="assoc_performance_tests.html#local"><u>local</u></a>, - respectively.</p> -<div id="NHG_res_div"> -<div id="NHG_gcc"> -<div id="NHG_hash_zlob_random_int_find_timing_test"> -<div id="NHG_assoc"> -<div id="NHG_Skewed-distribution_random_int_find_timing_test_using__tt_find_455tt_"><div style="border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NHG" id="NHG"><img src="hash_zlob_random_int_find_timing_test_gcc.png" alt="no image" /></a></h6>NHG: Skewed-distribution random int find timing test using <tt>find</tt> - <a href="assoc_performance_tests.html#gcc">g++</a><p>In the above figure, the names in the legends have the following meaning:</p> -<ol> -<li> -cc_hash_mask_exp_nea_lc_1div8_1div1_nsth_map- -<a href="cc_hash_table.html"><tt>cc_hash_table</tt></a> -with <tt>Comb_Hash_Fn</tt> = <a href="direct_mask_range_hashing.html"><tt>direct_mask_range_hashing</tt></a> -, and <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a> - with <tt>Size_Policy</tt> = <a href="hash_exponential_size_policy.html"><tt>hash_exponential_size_policy</tt></a> -, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a> - with <i>α<sub>min</sub></i> = <i>1/8</i> and <i>α<sub>max</sub></i> = <i>1/1</i></li> -<li> -gp_hash_mod_quadp_prime_nea_lc_1div8_1div2_nsth_map- -<a href="gp_hash_table.html"><tt>gp_hash_table</tt></a> - with <tt>Comb_Hash_Fn</tt> = <a href="direct_mod_range_hashing.html"><tt>direct_mod_range_hashing</tt></a> -, <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a> - with <tt>Size_Policy</tt> = <a href="hash_prime_size_policy.html"><tt>hash_prime_size_policy</tt></a> -, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a> - with <i>α<sub>min</sub></i> = <i>1/8</i> and <i>α<sub>max</sub></i> = <i>1/2</i>, and <tt>Probe_Fn</tt> = <a href="quadratic_probe_fn.html"><tt>quadratic_probe_fn</tt></a> -</li> -<li> -n_hash_map_ncah- -<tt>std::tr1::unordered_map</tt> with <tt>cache_hash_code</tt> = <tt><b>false</b></tt></li> -<li> -cc_hash_mod_prime_nea_lc_1div8_1div1_nsth_map- -<a href="cc_hash_table.html"><tt>cc_hash_table</tt></a> -with <tt>Comb_Hash_Fn</tt> = <a href="direct_mod_range_hashing.html"><tt>direct_mod_range_hashing</tt></a> -, and <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a> - with <tt>Size_Policy</tt> = <a href="hash_prime_size_policy.html"><tt>hash_prime_size_policy</tt></a> -, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a> - with <i>α<sub>min</sub></i> = <i>1/8</i> and <i>α<sub>max</sub></i> = <i>1/1</i></li> -</ol> -</div><div style="width: 100%; height: 20px"></div></div> -</div> -</div> -</div> -</div> -<div id="NHM_res_div"> -<div id="NHM_msvc"> -<div id="NHM_hash_zlob_random_int_find_timing_test"> -<div id="NHM_assoc"> -<div id="NHM_Skewed-distribution_random_int_find_timing_test_using__tt_find_455tt_"><div style="border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NHM" id="NHM"><img src="hash_zlob_random_int_find_timing_test_msvc.png" alt="no image" /></a></h6>NHM: Skewed-distribution random int find timing test using <tt>find</tt> - <a href="assoc_performance_tests.html#msvc">msvc++</a><p>In the above figure, the names in the legends have the following meaning:</p> -<ol> -<li> -n_hash_map_ncah- -<tt>stdext::hash_map</tt></li> -<li> -cc_hash_mask_exp_nea_lc_1div8_1div1_nsth_map- -<a href="cc_hash_table.html"><tt>cc_hash_table</tt></a> -with <tt>Comb_Hash_Fn</tt> = <a href="direct_mask_range_hashing.html"><tt>direct_mask_range_hashing</tt></a> -, and <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a> - with <tt>Size_Policy</tt> = <a href="hash_exponential_size_policy.html"><tt>hash_exponential_size_policy</tt></a> -, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a> - with <i>α<sub>min</sub></i> = <i>1/8</i> and <i>α<sub>max</sub></i> = <i>1/1</i></li> -<li> -gp_hash_mod_quadp_prime_nea_lc_1div8_1div2_nsth_map- -<a href="gp_hash_table.html"><tt>gp_hash_table</tt></a> - with <tt>Comb_Hash_Fn</tt> = <a href="direct_mod_range_hashing.html"><tt>direct_mod_range_hashing</tt></a> -, <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a> - with <tt>Size_Policy</tt> = <a href="hash_prime_size_policy.html"><tt>hash_prime_size_policy</tt></a> -, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a> - with <i>α<sub>min</sub></i> = <i>1/8</i> and <i>α<sub>max</sub></i> = <i>1/2</i>, and <tt>Probe_Fn</tt> = <a href="quadratic_probe_fn.html"><tt>quadratic_probe_fn</tt></a> -</li> -<li> -cc_hash_mod_prime_nea_lc_1div8_1div1_nsth_map- -<a href="cc_hash_table.html"><tt>cc_hash_table</tt></a> -with <tt>Comb_Hash_Fn</tt> = <a href="direct_mod_range_hashing.html"><tt>direct_mod_range_hashing</tt></a> -, and <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a> - with <tt>Size_Policy</tt> = <a href="hash_prime_size_policy.html"><tt>hash_prime_size_policy</tt></a> -, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a> - with <i>α<sub>min</sub></i> = <i>1/8</i> and <i>α<sub>max</sub></i> = <i>1/1</i></li> -</ol> -</div><div style="width: 100%; height: 20px"></div></div> -</div> -</div> -</div> -</div> -<div id="NHL_res_div"> -<div id="NHL_local"> -<div id="NHL_hash_zlob_random_int_find_timing_test"> -<div id="NHL_assoc"> -<div id="NHL_Skewed-distribution_random_int_find_timing_test_using__tt_find_455tt_"><div style = "border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NHL" id= "NHL"><img src="hash_zlob_random_int_find_timing_test_local.png" alt="no image" /></a></h6>NHL: Skewed-distribution random int find timing test using <tt>find</tt> - <a href = "assoc_performance_tests.html#local">local</a></div><div style = "width: 100%; height: 20px"></div></div> -</div> -</div> -</div> -</div> -<h2><a name="observations" id="observations">Observations</a></h2> -<p>In this setting, the keys' distribution is so skewed that - the unerlying hash-table type affects performance marginally. - (This is in contrast with <a href="hash_text_find_find_timing_test.html">Hash-Based Text - <tt>find</tt> Find Timing Test</a> , <a href="hash_random_int_find_find_timing_test.html">Hash-Based - Random-Integer <tt>find</tt> Find Timing Test</a> , <a href="hash_random_int_subscript_find_timing_test.html">Hash-Based - Random-Integer Subscript Find Timing Test</a> and <a href="hash_random_int_subscript_insert_timing_test.html">Hash-Based - Random-Integer Subscript Insert Timing Test</a> .)</p> -<p>The range-hashing scheme affects performance dramatically. A - mask-based range-hashing scheme effectively maps all values - into the same bucket. Access degenerates into a search within - an unordered linked-list. In Figures <a href="#NHG">NHG</a> and - <a href="#NHM">NHM</a> , it should be noted that - <tt>std::tr1::unordered_map</tt> and <tt>stdext::hash_map</tt> - are hard-wired currently to mod-based and mask-based schemes, - respectively.</p> -<p>When observing the settings of this test, it is apparent - that the keys' distribution is far from natural. One might ask - if the test is not contrived to show that, in some cases, - mod-based range hashing does better than mask-based range - hashing. This is, in fact just the case. We did not encounter a - more natural case in which mod-based range hashing is better. - In our opnion, real-life key distributions are handled better - with an appropriate hash function and a mask-based - range-hashing function. (<a href="http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/testsuite/ext/pb_ds/example/hash_shift_mask.cc"><tt>shift_mask.cc</tt></a> - shows an example of handling this a-priori known skewed - distribution with a mask-based range-hashing function). If hash - performance is bad, a <i>Χ<sup>2</sup></i> test can be used - to check how to transform it into a more uniform - distribution.</p> -<p>For this reason, <tt>pb_ds</tt>'s default range-hashing - function is mask-based.</p> -<p><a href="assoc_performance_tests.html#hash_based_types">Observations::Hash-Based - Container Types</a> summarizes some observations on hash-based - containers; <a href="assoc_performance_tests.html#hash_based_policies">Observations::Hash-Based - Containers' Policies</a> summarizes some observations on - hash-based containers' policies.</p> -</div> -</body> -</html> diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/hash_zlob_random_int_find_timing_test_gcc.png b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/hash_zlob_random_int_find_timing_test_gcc.png Binary files differdeleted file mode 100644 index 8d170db1a..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/hash_zlob_random_int_find_timing_test_gcc.png +++ /dev/null diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/hash_zlob_random_int_find_timing_test_local.png b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/hash_zlob_random_int_find_timing_test_local.png Binary files differdeleted file mode 100644 index 0be2f00fa..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/hash_zlob_random_int_find_timing_test_local.png +++ /dev/null diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/hash_zlob_random_int_find_timing_test_msvc.png b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/hash_zlob_random_int_find_timing_test_msvc.png Binary files differdeleted file mode 100644 index 874e7a780..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/hash_zlob_random_int_find_timing_test_msvc.png +++ /dev/null diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/index.html b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/index.html deleted file mode 100644 index 4c73c2e91..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/index.html +++ /dev/null @@ -1,146 +0,0 @@ -<!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" xml:lang="en" lang="en"> -<head> - <meta name="generator" content= - "HTML Tidy for Linux/x86 (vers 12 April 2005), see www.w3.org" /> - - <title>Policy-Based Data Structures</title> - <meta http-equiv="Content-Type" content= - "text/html; charset=us-ascii" /> - </head> - -<body> - <div id="page"> - <h1>Policy-Based Data Structures</h1> - - <h5>Ami Tavory and Vladimir Dreizin, IBM Haifa Research - Laboratories, and Benjamin Kosnik, Red Hat</h5> - - <h5><a href="mailto:pbassoc@gmail.com">pbassoc@gmail.com</a></h5> - - <p>This is a library of policy-based elementary - data structures: associative containers and priority queues. It - is designed for high-performance, flexibility, semantic safety, - and conformance to the corresponding containers in <tt>std</tt> - and std::tr1 (except for some points where it differs by - design).</p> - - <p>The documentation is organized as follows:</p> - - <ol> - <li> - <a href="introduction.html">Introductory</a> - - <ol> - <li><a href="introduction.html">Introduction</a></li> - - <li><a href="motivation.html">Motivation</a></li> - - <li><a href="prerequisites.html">Usage - Prerequisites</a></li> - </ol> - </li> - - <li> - <a href="interface.html">Interface</a> - - <ol> - <li><a href="tutorial.html">Short Tutorial</a></li> - - <li><a href="concepts.html">Concepts</a></li> - - <li><a href="interface.html">Specifics</a></li> - </ol> - </li> - - <li> - <a href="design.html">Design</a> - - <ol> - <li> - <a href="assoc_design.html">Associative Containers</a> - - <ol> - <li><a href="ds_gen.html">Data-Structure - Genericity and Interface</a> </li> - - <li><a href="tree_based_containers.html">Tree-Based - Containers</a></li> - - <li><a href="trie_based_containers.html">Trie-Based - Containers</a></li> - - <li><a href="hash_based_containers.html">Hash-Based - Containers</a></li> - - <li><a href="lu_based_containers.html">List-Based - Containers</a> </li> - </ol> - </li> - - <li><a href="pq_design.html">Priority Queues</a></li> - </ol> - </li> - - <li> - <a href="examples.html">Examples</a> - - <ol> - <li><a href="assoc_examples.html">Associative - Containers</a></li> - - <li><a href="pq_examples.html">Priority Queues</a></li> - </ol> - </li> - - <li> - <a href="tests.html">Tests</a> - - <ol> - <li> - <a href="assoc_tests.html">Associative Containers</a> - - <ol> - <li><a href="assoc_regression_tests.html">Regression - Tests</a></li> - - <li><a href= - "assoc_performance_tests.html">Performance - Tests</a></li> - </ol> - </li> - - <li> - <a href="pq_tests.html">Priority Queues</a> - - <ol> - <li><a href="pq_regression_tests.html">Regression - Tests</a></li> - - <li><a href="pq_performance_tests.html">Performance - Tests</a></li> - </ol> - </li> - </ol> - </li> - - <li> - <a href="misc.html">Misc.</a> - - <ol> - <li><a href="acks.html">Acknowledgments</a></li> - - <li><a href="contact.html">Contact</a></li> - - <li><a href="disclaimer.html">Disclaimer and - Copyright</a></li> - - <li><a href="references.html">References</a></li> - </ol> - </li> - </ol> - </div> -</body> -</html> diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/insert_error.html b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/insert_error.html deleted file mode 100644 index 37a89aaf9..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/insert_error.html +++ /dev/null @@ -1,53 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" - "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> -<head> -<meta name="generator" content= - "HTML Tidy for Linux/x86 (vers 12 April 2005), see www.w3.org" /> - -<title>insert_error Interface</title> -<meta http-equiv="Content-Type" content= - "text/html; charset=us-ascii" /> -</head> - -<body> -<div id="page"> -<h1><tt>insert_error</tt> Interface</h1> - -<p>An entry cannot be inserted into a container object for logical -reasons (not, e.g., if memory is unavailable, in which case the -allocator's exception will be thrown).</p> - - <p>This exception may be thrown, e.g., when a probe sequence in - a probing hash table does not encounter any free positions, - even though free positions are available.</p> - - <p>Defined in: <a href= - "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/include/ext/pb_ds/exception.hpp"><tt>exception.hpp</tt></a></p> - - <h2><a name="link1" id="link1">Base Classes</a></h2> - - <table class="c1" width="100%" border="1" summary="Bases"> - <tr> - <td width="80%" align="left"><b>Class</b></td> - - <td width="20%" align="left"><b>Derivation Type</b></td> - </tr> - - <tr> - <td> - <pre> -<a href="exceptions.html"><span class= -"c2"><tt>insert_error</tt></span></a> -</pre> - </td> - - <td> - <p>public</p> - </td> - </tr> - </table> - </div> -</body> -</html> diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/insert_resize_sequence_diagram1.png b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/insert_resize_sequence_diagram1.png Binary files differdeleted file mode 100644 index f64764ec9..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/insert_resize_sequence_diagram1.png +++ /dev/null diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/insert_resize_sequence_diagram2.png b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/insert_resize_sequence_diagram2.png Binary files differdeleted file mode 100644 index e4645973e..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/insert_resize_sequence_diagram2.png +++ /dev/null diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/insert_resize_sequence_diagram3.png b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/insert_resize_sequence_diagram3.png Binary files differdeleted file mode 100644 index 5535c5fe6..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/insert_resize_sequence_diagram3.png +++ /dev/null diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/interface.html b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/interface.html deleted file mode 100644 index a48a8bbad..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/interface.html +++ /dev/null @@ -1,446 +0,0 @@ -<!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" xml:lang="en" lang="en"> -<head> -<meta name="generator" content= - "HTML Tidy for Linux/x86 (vers 12 April 2005), see www.w3.org" /> - -<title>Interface</title> -<meta http-equiv="Content-Type" content= - "text/html; charset=us-ascii" /> -</head> - -<body> -<div id="page"> -<h1>Interface Specifics</h1> - -<p>Following are the library's interface specifics. <a href= - "tutorial.html">Short Tutorial</a> is a short tutorial, and - <a href="concepts.html">Concepts</a> describes some - concepts.</p> - <hr /> - - <h2><a name="namespaces" id="namespaces">Namespace</a></h2> - - <p>All code is enclosed in namespace <tt>pb_ds</tt>. Nested within - this is namespace <tt>detail</tt>, which contains the parts of this - library that are considered implementation details.</p> - <hr /> - - <h2><a name="containers" id="containers">Containers</a></h2> - - <h3><a name="containers_assoc" id= - "containers_assoc">Associative Containers</a></h3> - - <ol> - <li><a href= - "container_base.html"><tt>container_base</tt></a> - - abstract base class for associative containers.</li> - - <li>Hash-based: - - <ol> - <li><a href= - "basic_hash_table.html"><tt>basic_hash_table</tt></a> - - abstract base class for hash-based - containers</li> - - <li><a href= - "cc_hash_table.html"><tt>cc_hash_table</tt></a> - - concrete collision-chaining hash-based - containers</li> - - <li><a href= - "gp_hash_table.html"><tt>gp_hash_table</tt></a> - - concrete (general) probing hash-based - containers</li> - </ol> - </li> - - <li>Tree-based: - - <ol> - <li><a href= - "basic_tree.html"><tt>basic_tree</tt></a> - - abstract base class for tree and trie based - containers</li> - - <li><a href= - "tree.html"><tt>tree</tt></a> - - concrete base class for tree-based - containers</li> - - <li><a href= - "trie.html"><tt>trie</tt></a> - - concrete base class for trie-based - containers</li> - </ol> - </li> - - <li>List-based: - - <ol> - <li><a href= - "list_update.html"><tt>list_update</tt></a> - - singly-linked list with update-policy container</li> - </ol> - </li> - </ol> - - <h3><a name="containers_pq" id="containers_pq">Priority - Queues</a></h3> - - <ol> - <li><a href="priority_queue.html"><tt>priority_queue</tt></a> - - priority queue</li> - </ol> - <hr /> - - <h2><a name="tag" id="tag">Container Tags and - Traits</a></h2> - - <h3><a name="ds_ts" id="ds_ts">Container Tags</a></h3> - - <h4><a name="ds_ts_common" id="ds_ts_common">Common</a></h4> - - <ol> - <li><a href="container_tag.html"><tt>container_tag</tt></a> - - base class for data structure tags</li> - </ol> - - <h4><a name="ds_ts_assoc" id= - "ds_ts_assoc">Associative-Containers</a></h4> - - <ol> - <li><a href= - "associative_container_tag.html"><tt>associative_container_tag</tt></a> - - base class for associative-container data structure tags</li> - - <li><a href= - "basic_hash_tag.html"><tt>basic_hash_tag</tt></a> - - base class for hash-based structure tags</li> - - <li><a href="cc_hash_tag.html"><tt>cc_hash_tag</tt></a> - - collision-chaining hash structure tag</li> - - <li><a href="gp_hash_tag.html"><tt>gp_hash_tag</tt></a> - - (general) probing hash structure tag</li> - - <li><a href= - "basic_tree_tag.html"><tt>basic_tree_tag</tt></a> - - base class for tree-like structure tags</li> - - <li><a href= - "tree_tag.html"><tt>tree_tag</tt></a> - - base class for tree structure tags</li> - - <li><a href="rb_tree_tag.html"><tt>rb_tree_tag</tt></a> - - red-black tree structure tag/li></li> - - <li><a href= - "splay_tree_tag.html"><tt>splay_tree_tag</tt></a> - - splay tree structure tag</li> - - <li><a href="ov_tree_tag.html"><tt>ov_tree_tag</tt></a> - - ordered-vector tree structure tag</li> - - <li><a href= - "trie_tag.html"><tt>trie_tag</tt></a> - - trie structure tag</li> - - <li><a href= - "pat_trie_tag.html"><tt>pat_trie_tag</tt></a> - - PATRICIA trie structure tag</li> - - <li><a href="list_update_tag.html"><tt>list_update_tag</tt></a> - list - (with updates) structure tag</li> - </ol> - - <h4><a name="ds_ts_pq" id="ds_ts_pq">Priority-Queues</a></h4> - - <ol> - <li><a href= - "priority_queue_tag.html"><tt>priority_queue_tag</tt></a> - base - class for priority-queue data structure tags</li> - - <li><a href= - "pairing_heap_tag.html"><tt>pairing_heap_tag</tt></a> - - pairing-heap structure tag.</li> - - <li><a href= - "binomial_heap_tag.html"><tt>binomial_heap_tag</tt></a> - - binomial-heap structure tag</li> - - <li><a href= - "rc_binomial_heap_tag.html"><tt>rc_binomial_heap_tag</tt></a> - - redundant-counter binomial-heap (<i>i.e.</i>, a heap where - binomial trees form a sequence that is similar to a - de-amortized bit-addition algorithm) structure tag</li> - - <li><a href= - "binary_heap_tag.html"><tt>binary_heap_tag</tt></a> - - binary heap (based on an array or an array of nodes) - structure tag</li> - - <li><a href= - "thin_heap_tag.html"><tt>thin_heap_tag</tt></a> - thin - heap (an alternative [<a href= - "references.html#kt99fat_heaps">kt99fat_heaps</a>] to - Fibonacci heap) data structure tag.</li> - </ol> - - <h3><a name="ds_inv_tag" id="ds_inv_tag">Invalidation-Guarantee - Tags</a></h3> - - <ol> - <li><a href= - "basic_invalidation_guarantee.html"><tt>basic_invalidation_guarantee</tt></a> - - weakest invalidation guarantee</li> - - <li><a href= - "point_invalidation_guarantee.html"><tt>point_invalidation_guarantee</tt></a> - - stronger invalidation guarantee</li> - - <li><a href= - "range_invalidation_guarantee.html"><tt>range_invalidation_guarantee</tt></a> - - strongest invalidation guarantee</li> - </ol> - - <h3><a name="container_traits" id="container_traits">Container - Traits</a></h3> - - <ol> - <li><a href="pq_container_traits.html"><tt>container_traits</tt></a> - - traits for determining underlying data structure - properties</li> - </ol> - <hr /> - - <h2><a name="ds_policy_classes" id= - "ds_policy_classes">Container Policy Classes</a></h2> - - <h3><a name="hash_related_policies" id= - "hash_related_policies">Hash Policies</a></h3> - - <h4>Hash and Probe Policies</h4> - - <ol> - <li>Hash Functions: - - <ol> - <li><a href="null_hash_fn.html"><tt>null_hash_fn</tt></a> - - type indicating one-step range-hashing</li> - </ol> - </li> - - <li>Range-Hashing Functions: - - <ol> - <li><a href="sample_range_hashing.html">Sample - range-hashing function</a> - interface required of a - range-hashing functor</li> - - <li><a href= - "direct_mask_range_hashing.html"><tt>direct_mask_range_hashing</tt></a> - - (bit) mask-based range hashing functor</li> - - <li><a href= - "direct_mod_range_hashing.html"><tt>direct_mod_range_hashing</tt></a> - - modulo-based range hashing functor</li> - </ol> - </li> - - <li>Probe Functions: - - <ol> - <li><a href="sample_probe_fn.html">Sample probe - function</a> - interface required of a probe functor</li> - - <li><a href= - "null_probe_fn.html"><tt>null_probe_fn</tt></a> - type - indicating one-step ranged-probe</li> - - <li><a href= - "linear_probe_fn.html"><tt>linear_probe_fn</tt></a> - - linear-probe functor</li> - - <li><a href= - "quadratic_probe_fn.html"><tt>quadratic_probe_fn</tt></a>- - quadratic-probe functor</li> - </ol> - </li> - - <li>Ranged-Hash Functions: - - <ol> - <li><a href="sample_ranged_hash_fn.html">Sample - ranged-hash function</a> - interface required of a - ranged-hash functor</li> - </ol> - </li> - - <li>Ranged-Probe Functions: - - <ol> - <li><a href="sample_ranged_probe_fn.html">Sample - ranged-probe function</a> - interface required of a - ranged-probe functor</li> - </ol> - </li> - </ol> - - <h4>Resize Policies</h4> - <ol> - <li>Resize Policies: - - <ol> - <li><a href="sample_resize_policy.html">Sample resize - policy</a> - interface required of a resize policy</li> - - <li><a href= - "hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a> - - standard resize policy</li> - </ol> - </li> - - <li>Size Policies: - - <ol> - <li><a href="sample_size_policy.html">Sample size - policy</a> - interface required of a size policy</li> - - <li><a href= - "hash_exponential_size_policy.html"><tt>hash_exponential_size_policy</tt></a> - - exponential size policy (typically used with (bit) mask - range-hashing)</li> - - <li><a href= - "hash_prime_size_policy.html"><tt>hash_prime_size_policy</tt></a> - - prime size policy (typically used with modulo - range-hashing)</li> - </ol> - </li> - - <li>Trigger Policies: - - <ol> - <li><a href="sample_resize_trigger.html">Sample trigger - policy</a> - interface required of a trigger policy</li> - - <li><a href= - "hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a> - - trigger policy based on load checks</li> - - <li><a href= - "cc_hash_max_collision_check_resize_trigger.html"><tt>cc_hash_max_collision_check_resize_trigger</tt></a> - - trigger policy based on collision checks</li> - </ol> - </li> - </ol> - - <h3><a name="tree_related_policies" id= - "tree_related_policies">Tree Policies</a></h3> - - <h4>Tree Node-Update Policies</h4> - - -<ol> -<li><a href="sample_tree_node_update.html">Sample node -updater policy</a> - interface required of a tree -node-updating functor</li> - -<li><a href= - "null_tree_node_update.html"><tt>null_tree_node_update</tt></a> -- null policy indicating no updates are required</li> - -<li><a href= - "tree_order_statistics_node_update.html"><tt>tree_order_statistics_node_update</tt></a> -- updater enabling order statistics queries</li> -</ol> - -<h3><a name="trie_related_policies" id= - "trie_related_policies">Trie Policies</a></h3> - - -<h4>Trie Element-Access Traits</h4> - - <ol> - <li><a href="sample_trie_e_access_traits.html">Sample - element-access traits</a> - interface required of - element-access traits</li> - - <li><a href= - "string_trie_e_access_traits.html"><tt>string_trie_e_access_traits</tt></a> - - String element-access traits</li> - </ol> - - <h4>Trie Node-Update Policies</h4> - - -<ol> -<li><a href="sample_trie_node_update.html">Sample node -updater policy</a> - interface required of a trie node -updater</li> - -<li><a href= - "null_trie_node_update.html"><tt>null_trie_node_update</tt></a> -- null policy indicating no updates are required</li> - -<li><a href= - "trie_prefix_search_node_update.html"><tt>trie_prefix_search_node_update</tt></a> -- updater enabling prefix searches</li> - -<li><a href= - "trie_order_statistics_node_update.html"><tt>trie_order_statistics_node_update</tt></a> -- updater enabling order statistics queries</li> -</ol> - -<h3><a name="list_related_policies" id= - "list_related_policies">List Policies</a></h3> - -<h4>List Update Policies</h4> - - - <ol> - <li><a href="sample_update_policy.html">Sample list update - policy</a> - interface required of a list update policy</li> - - <li><a href= - "move_to_front_lu_policy.html"><tt>move_to_front_lu_policy</tt></a> - - move-to-front update algorithm</li> - - <li><a href= - "counter_lu_policy.html"><tt>counter_lu_policy</tt></a> - - counter update algorithm</li> - </ol> - - <h3><a name="ds_pol" id="ds_pol">Mapped-Type Policies</a></h3> - - - <ol> - <li><a href= - "null_mapped_type.html"><tt>null_mapped_type</tt></a> - data - policy indicating that a container is a "set"</li> - </ol> - <hr /> - - <h2><a name="exceptions" id="exceptions">Exceptions</a></h2> - - - <ol> - <li><a href="exceptions.html"><tt>container_error</tt></a> - - base class for all policy-based data structure errors</li> - - <li><a href= - "insert_error.html"><tt>insert_error</tt></a></li> - - <li><a href="join_error.html"><tt>join_error</tt></a></li> - - <li><a href= - "resize_error.html"><tt>resize_error</tt></a></li> - </ol> - - </div> -</body> -</html> diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/introduction.html b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/introduction.html deleted file mode 100644 index b3ccbd76a..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/introduction.html +++ /dev/null @@ -1,120 +0,0 @@ -<!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" xml:lang="en" lang="en"> -<head> - <meta name="generator" content= - "HTML Tidy for Linux/x86 (vers 12 April 2005), see www.w3.org" /> - - <title>Introduction</title> - <meta http-equiv="Content-Type" content= - "text/html; charset=us-ascii" /> - </head> - -<body> - <div id="page"> - <h1>Introduction</h1> - - <p>This section describes what problems the library attempts to - solve. <a href="motivation.html">Motivation</a> describes the - reasons we think it solves these problems better than similar - libraries.</p> - - <h2><a name="assoc" id="assoc">Associative Containers</a></h2> - - <ol> - <li>Associative containers depend on their policies to a very - large extent. Implicitly hard-wiring policies can hamper their - performance and limit their functionality. An efficient - hash-based container, for example, requires policies for - testing key equivalence, hashing keys, translating hash - values into positions within the hash table, and determining - when and how to resize the table internally. A tree-based - container can efficiently support order statistics, - <i>i.e.</i>, the ability to query what is the order of each - key within the sequence of keys in the container, but only if - the container is supplied with a policy to internally update - meta-data. There are many other such examples.<p></p></li> - - <li>Ideally, all associative containers would share the same - interface. Unfortunately, underlying data structures and - mapping semantics differentiate between different containers. - For example, suppose one writes a generic function - manipulating an associative container <tt>Cntnr</tt>: - <pre> -template<typename Cntnr> - void - some_op_sequence(Cntnr& r_cnt) - { - ... - } -</pre> - -then what can one assume about <tt>Cntnr</tt>? The answer -varies according to its underlying data structure. If the -underlying data structure of <tt>Cntnr</tt> is based on a tree or -trie, then the order of elements is well defined; otherwise, it is -not, in general. If the underlying data structure of <tt>Cntnr</tt> -is based on a collision-chaining hash table, then modifying -r_<tt>Cntnr</tt> will not invalidate its iterators' order; if the -underlying data structure is a probing hash table, then this is not -the case. If the underlying data structure is based on a tree or -trie, then <tt>r_cnt</tt> can efficiently be split; otherwise, it -cannot, in general. If the underlying data structure is a red-black -tree, then splitting <tt>r_cnt</tt> is exception-free; if it is an -ordered-vector tree, exceptions can be thrown. - <p></p></li> - </ol> - - <h2><a name="pq" id="pq">Priority Queues</a></h2> - - <p>Priority queues are useful when one needs to efficiently - access a minimum (or maximum) value as the set of values - changes.</p> - - <ol> - <li>Most useful data structures for priority queues have a - relatively simple structure, as they are geared toward - relatively simple requirements. Unfortunately, these structures - do not support access to an arbitrary value, which turns out to - be necessary in many algorithms. Say, decreasing an arbitrary - value in a graph algorithm. Therefore, some extra mechanism is - necessary and must be invented for accessing arbitrary - values. There are at least two alternatives: embedding an - associative container in a priority queue, or allowing - cross-referencing through iterators. The first solution adds - significant overhead; the second solution requires a precise - definition of iterator invalidation. Which is the next - point...<p></p></li> - - <li>Priority queues, like hash-based containers, store values in - an order that is meaningless and undefined externally. For - example, a <tt>push</tt> operation can internally reorganize the - values. Because of this characteristic, describing a priority - queues' iterator is difficult: on one hand, the values to which - iterators point can remain valid, but on the other, the logical - order of iterators can change unpredictably.<p></p></li> - - <li>Roughly speaking, any element that is both inserted to a - priority queue (<i>e.g.</i>, through <tt>push</tt>) and removed - from it (<i>e.g.</i>, through <tt>pop</tt>), incurs a - logarithmic overhead (in the amortized sense). Different - underlying data structures place the actual cost differently: - some are optimized for amortized complexity, whereas others - guarantee that specific operations only have a constant - cost. One underlying data structure might be chosen if modifying - a value is frequent (Dijkstra's shortest-path algorithm), - whereas a different one might be chosen - otherwise. Unfortunately, an array-based binary heap - an - underlying data structure that optimizes (in the amortized - sense) <tt>push</tt> and <tt>pop</tt> operations, differs from - the others in terms of its invalidation guarantees. Other design - decisions also impact the cost and placement of the overhead, at - the expense of more difference in the the kinds of operations - that the underlying data structure can support. These - differences pose a challenge when creating a uniform interface - for priority queues.<p></p></li> - </ol> - </div> -</body> -</html> diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/invalidation_guarantee_cd.png b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/invalidation_guarantee_cd.png Binary files differdeleted file mode 100644 index 1f9d1243c..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/invalidation_guarantee_cd.png +++ /dev/null diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/invalidation_guarantee_erase.png b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/invalidation_guarantee_erase.png Binary files differdeleted file mode 100644 index 940a27f71..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/invalidation_guarantee_erase.png +++ /dev/null diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/join_error.html b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/join_error.html deleted file mode 100644 index f3e3eaf97..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/join_error.html +++ /dev/null @@ -1,48 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" - "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> -<head> -<meta name="generator" content= - "HTML Tidy for Linux/x86 (vers 12 April 2005), see www.w3.org" /> - -<title>join_error Interface</title> -<meta http-equiv="Content-Type" content= - "text/html; charset=us-ascii" /> -</head> - -<body> -<div id="page"> -<h1><tt>join_error</tt> Interface</h1> - -<p>A join cannot be performed logical reasons (i.e., the ranges of the - two container objects - being joined - overlaps.</p> - - <p>Defined in: <a href= - "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/include/ext/pb_ds/exception.hpp"><tt>exception.hpp</tt></a></p> - - <h2><a name="link1" id="link1">Base Classes</a></h2> - - <table class="c1" width="100%" border="1" summary="Bases"> - <tr> - <td width="80%" align="left"><b>Class</b></td> - - <td width="20%" align="left"><b>Derivation Type</b></td> - </tr> - - <tr> - <td> -<pre><a href="exceptions.html"><span class="c2"><tt>join_error</tt></span></a> -</pre> - </td> - -<td> -<p>public</p> -</td> -</tr> - </table> - </div> - </body> - </html> diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/linear_probe_fn.html b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/linear_probe_fn.html deleted file mode 100644 index 6387d3a33..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/linear_probe_fn.html +++ /dev/null @@ -1,140 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" - "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> -<head> - <meta name="generator" content= - "HTML Tidy for Linux/x86 (vers 12 April 2005), see www.w3.org" /> - - <title>linear_probe_fn Interface</title> - <meta http-equiv="Content-Type" content= - "text/html; charset=us-ascii" /> - </head> - -<body> - <div id="page"> - <h1><tt>linear_probe_fn</tt> Interface</h1> - - <p>A probe sequence policy using fixed increments.</p> - - <p>Defined in: <a href= - "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/include/ext/pb_ds/hash_policy.hpp"><tt>hash_policy.hpp</tt></a></p> - - <h2><a name="link1" id="link1">Template Parameters</a></h2> - - <table class="c1" width="100%" border="1" summary= - "Template Parameters"> - <tr> - <td width="20%" align="left"><b>Parameter</b></td> - - <td width="50%" align="left"><b>Description</b></td> - - <td width="30%" align="left"><b>Default Value</b></td> - </tr> - - <tr> - <td> - <pre> -<a name="Size_Type42920436" id= -"Size_Type42920436"><b>typename</b> Size_Type </a> -</pre> - </td> - - <td> - <p>Size type.</p> - </td> - - <td>size_t</td> - </tr> - </table> - - <h2><a name="link2" id="link2">Public Types and - Constants</a></h2> - - <h3><a name="link3" id="link3">General Definitions</a></h3> - - <table class="c1" width="100%" border="1" summary="Types"> - <tr> - <td width="30%" align="left"><b>Type</b></td> - - <td width="55%" align="left"><b>Definition</b></td> - - <td width="15%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -<a name="size_type55424436" id="size_type55424436">size_type</a> -</pre> - </td> - - <td> - <pre> -<a href="#Size_Type42920436"><tt>Size_Type</tt></a> -</pre> - </td> - - <td> - <p>Size type.</p> - </td> - </tr> - </table> - - <h2><a name="link4" id="link4">Public Methods</a></h2> - - <h3><a name="link5" id="link5">Constructors, Destructor, and - Related</a></h3> - - <table class="c1" width="100%" border="1" summary="Methods"> - <tr> - <td width="45%" align="left"><b>Method</b></td> - - <td width="55%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -<b>void</b> - swap - (<span class="c2"><tt>linear_probe_fn</tt></span> &other) -</pre> - </td> - - <td> - <p>Swaps content.</p> - </td> - </tr> - </table> - - <h2><a name="link6" id="link6">Protected Methods</a></h2> - - <h3><a name="link7" id="link7">Offset Methods</a></h3> - - <table class="c1" width="100%" border="1" summary="Methods"> - <tr> - <td width="45%" align="left"><b>Method</b></td> - - <td width="55%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -<b>inline</b> <a href="#size_type55424436"><tt>size_type</tt></a> - <b>operator</b>() - (<a href= -"#size_type55424436"><tt>size_type</tt></a> i) <b>const</b> -</pre> - </td> - - <td> - <p>Returns the <span class="c1"><tt>i</tt></span>-th - offset from the hash value.</p> - </td> - </tr> - </table> - </div> -</body> -</html> diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/list_update.html b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/list_update.html deleted file mode 100644 index 434e82f42..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/list_update.html +++ /dev/null @@ -1,316 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" - "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> -<head> - <meta name="generator" content= - "HTML Tidy for Linux/x86 (vers 12 April 2005), see www.w3.org" /> - - <title>list_update Interface</title> - <meta http-equiv="Content-Type" content= - "text/html; charset=us-ascii" /> - </head> - -<body> - <div id="page"> - <h1><tt>list_update</tt> Interface</h1> - - <p>A list-update based associative container.</p> - - <p>Defined in: <a href= - "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/include/ext/pb_ds/assoc_container.hpp"><tt>assoc_container.hpp</tt></a></p> - - <h2><a name="link1" id="link1">Template Parameters</a></h2> - - <table class="c1" width="100%" border="1" summary= - "Template Parameters"> - <tr> - <td width="20%" align="left"><b>Parameter</b></td> - - <td width="50%" align="left"><b>Description</b></td> - - <td width="30%" align="left"><b>Default Value</b></td> - </tr> - - <tr> - <td> - <pre> -<a name="Key2501" id="Key2501"><b>typename</b> Key</a> -</pre> - </td> - - <td> - <p>Key type.</p> - </td> - - <td>-</td> - </tr> - - <tr> - <td> - <pre> -<a name="Mapped318655" id="Mapped318655"><b>typename</b> Mapped</a> -</pre> - </td> - - <td> - <p>Mapped type.</p> - </td> - - <td>-</td> - </tr> - - <tr> - <td> - <pre> -<a name="Eq_Fn60085" id="Eq_Fn60085"><b>class</b> Eq_Fn </a> -</pre> - </td> - - <td> - <p>Equivalence functor.</p> - </td> - - <td> - <pre> -std::equal_to<<a href="#Key2501"><tt>Key</tt></a>> -</pre> - </td> - </tr> - - <tr> - <td> - <pre> -<a name="Update_Policy1671938590" id= -"Update_Policy1671938590"><b>class</b> Update_Policy </a> -</pre> - </td> - - <td> - <p>Update policy (determines when an element will be - moved to the front of the list.</p> - </td> - - <td><a href="move_to_front_lu_policy.html"><span class= - "c2"><tt>move_to_front_lu_policy</tt></span></a></td> - </tr> - - <tr> - <td> - <pre> -<a name="Allocator35940069" id= -"Allocator35940069"><b>class</b> Allocator </a> -</pre> - </td> - - <td> - <p>Allocator type.</p> - </td> - - <td> - <pre> -std::allocator<<b>char</b>> -</pre> - </td> - </tr> - </table> - - <h2><a name="link2" id="link2">Base Classes</a></h2> - - <table class="c1" width="100%" border="1" summary="Bases"> - <tr> - <td width="80%" align="left"><b>Class</b></td> - - <td width="20%" align="left"><b>Derivation Type</b></td> - </tr> - - <tr> - <td> - <pre> -<a href="container_base.html"><span class= -"c2"><tt>container_base</tt></span></a> -</pre> - </td> - - <td> - <p>public</p> - </td> - </tr> - </table> - - <h2><a name="link3" id="link3">Public Types and - Constants</a></h2> - - <h3><a name="link4" id="link4">Policy definitions.</a></h3> - - <table class="c1" width="100%" border="1" summary="Types"> - <tr> - <td width="30%" align="left"><b>Type</b></td> - - <td width="55%" align="left"><b>Definition</b></td> - - <td width="15%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -<a name="eq_fn80245" id="eq_fn80245">eq_fn</a> -</pre> - </td> - - <td> - <pre> -<a href="#Eq_Fn60085"><tt>Eq_Fn</tt></a> -</pre> - </td> - - <td> - <p>Equivalence functor type.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<a name="update_policy894603998" id= -"update_policy894603998">update_policy</a> -</pre> - </td> - - <td> - <pre> -<a href="#Update_Policy1671938590"><tt>Update_Policy</tt></a> -</pre> - </td> - - <td> - <p>List update policy type.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<a name="allocator48440069" id="allocator48440069">allocator</a> -</pre> - </td> - - <td> - <pre> -<a href="#Allocator35940069"><tt>Allocator</tt></a> -</pre> - </td> - - <td> - <p><a href="#Allocator35940069"><tt>Allocator</tt></a> - type.</p> - </td> - </tr> - </table> - - <h2><a name="link5" id="link5">Public Methods</a></h2> - - <h3><a name="link6" id="link6">Constructors, Destructor, and - Related</a></h3> - - <table class="c1" width="100%" border="1" summary="Methods"> - <tr> - <td width="45%" align="left"><b>Method</b></td> - - <td width="55%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> - list_update - () -</pre> - </td> - - <td> - <p>Default constructor.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<b>template</b>< - <b>class</b> It> - list_update - (It first_it, - It last_it) -</pre> - </td> - - <td> - <p>Constructor taking iterators to a range of - value_types. The value_types between <span class= - "c1"><tt>first_it</tt></span> and <span class= - "c1"><tt>last_it</tt></span> will be inserted into the - container object.</p> - </td> - </tr> - - <tr> - <td> - <pre> - list_update - (<b>const</b> <span class= -"c2"><tt>list_update</tt></span> &other) -</pre> - </td> - - <td> - <p>Copy constructor.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<b>virtual</b> - ~list_update - () -</pre> - </td> - - <td> - <p>Destructor.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<span class="c2"><tt>list_update</tt></span> & - <b>operator</b>= - (<b>const</b> <span class= -"c2"><tt>list_update</tt></span> &other) -</pre> - </td> - - <td> - <p>Assignment operator.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<b>void</b> - swap - (<span class="c2"><tt>list_update</tt></span> &other) -</pre> - </td> - - <td> - <p>Swaps content.</p> - </td> - </tr> - </table> - </div> -</body> -</html> diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/list_update_tag.html b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/list_update_tag.html deleted file mode 100644 index f04aaeacb..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/list_update_tag.html +++ /dev/null @@ -1,47 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" - "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> -<head> - <meta name="generator" content= - "HTML Tidy for Linux/x86 (vers 12 April 2005), see www.w3.org" /> - - <title>list_update_tag Interface</title> - <meta http-equiv="Content-Type" content= - "text/html; charset=us-ascii" /> - </head> - -<body> - <div id="page"> - <h1><tt>list_update_tag</tt> Interface</h1> - - <p>List-update data structure tag.</p> - - <p>Defined in: <a href= - "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/include/ext/pb_ds/tag_and_trait.hpp"><tt>tag_and_trait.hpp</tt></a></p> - - <h2><a name="link1" id="link1">Base Classes</a></h2> - - <table class="c1" width="100%" border="1" summary="Bases"> - <tr> - <td width="80%" align="left"><b>Class</b></td> - - <td width="20%" align="left"><b>Derivation Type</b></td> - </tr> - - <tr> - <td> - <pre> -<a href="associative_container_tag.html"><span class= -"c2"><tt>associative_container_tag</tt></span></a> -</pre> - </td> - - <td> - <p>public</p> - </td> - </tr> - </table> - </div> -</body> -</html> diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/lu.png b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/lu.png Binary files differdeleted file mode 100644 index 7c96dcaf6..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/lu.png +++ /dev/null diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/lu_based_containers.html b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/lu_based_containers.html deleted file mode 100644 index c8693437d..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/lu_based_containers.html +++ /dev/null @@ -1,229 +0,0 @@ -<!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" xml:lang="en" lang="en"> -<head> - <meta name="generator" content= - "HTML Tidy for Linux/x86 (vers 12 April 2005), see www.w3.org" /> - - <title>List-Based Containers</title> - <meta http-equiv="Content-Type" content= - "text/html; charset=us-ascii" /> - </head> - -<body> - <div id="page"> - <h1>List-Update Design</h1> - - <h2><a name="overview" id="overview">Overview</a></h2> - - <p>The list-based container has the following declaration:</p> - <pre> -<b>template</b>< - <b>typename</b> Key, - <b>typename</b> Mapped, - <b>typename</b> Eq_Fn = std::equal_to<Key>, - <b>typename</b> Update_Policy = <a href= -"move_to_front_lu_policy.html">move_to_front_lu_policy<></a>, - <b>typename</b> Allocator = std::allocator<<b>char</b>> > -<b>class</b> <a href="list_update.html">list_update</a>; -</pre> - - <p>The parameters have the following meaning:</p> - - <ol> - <li><tt>Key</tt> is the key type.</li> - - <li><tt>Mapped</tt> is the mapped-policy, and is explained in - <a href="tutorial.html#assoc_ms">Tutorial::Associative - Containers::Associative Containers Others than Maps</a>.</li> - - <li><tt>Eq_Fn</tt> is a key equivalence functor.</li> - - <li><tt>Update_Policy</tt> is a policy updating positions in - the list based on access patterns. It is described in the - following subsection.</li> - - <li><tt>Allocator</tt> is an allocator - type.</li> - </ol> - - <p>A list-based associative container is a container that - stores elements in a linked-list. It does not order the - elements by any particular order related to the keys. - List-based containers are primarily useful for creating - "multimaps" (see <a href= - "motivation.html#assoc_mapping_semantics">Motivation::Associative - Containers::Avoiding Multiple Keys</a> and <a href= - "tutorial.html#assoc_ms">Tutorial::Associative - Containers::Associative Containers Others than Maps</a>). In - fact, list-based containers are designed in <tt>pb_ds</tt> - expressly for this purpose. This is explained further in - <a href="#mmaps">Use for "Multimaps"</a>.</p> - - <p>List-based containers might also be useful for some rare - cases, where a key is encapsulated to the extent that only - key-equivalence can be tested. Hash-based containers need to - know how to transform a key into a size type, and tree-based - containers need to know if some key is larger than another. - List-based associative containers, conversely, only need to - know if two keys are equivalent.</p> - - <p>Since a list-based associative container does not order - elements by keys, is it possible to order the list in some - useful manner? Remarkably, many on-line competitive [<a href= - "references.html#motwani95random">motwani95random</a>] - algorithms exist for reordering lists to reflect access - prediction [<a href= - "references.html#andrew04mtf">andrew04mtf</a>].</p> - - <h2><a name="list_updates" id="list_updates">List - Updates</a></h2> - - <h3><a name="general" id="general">General Terms</a></h3> - - <p>Figure <a href="#simple_list">A simple list</a> shows a - simple list of integer keys. If we search for the integer 6, we - are paying an overhead: the link with key 6 is only the fifth - link; if it were the first link, it could be accessed - faster.</p> - - <h6 class="c1"><a name="simple_list" id="simple_list"><img src= - "simple_list.png" alt="no image" /></a></h6> - - <h6 class="c1">A simple list.</h6> - - <p>List-update algorithms reorder lists as elements are - accessed. They try to determine, by the access history, which - keys to move to the front of the list. Some of these algorithms - require adding some metadata alongside each entry.</p> - - <p>For example, Figure <a href="#lu">The counter algorithm</a> - -A shows the counter algorithm. Each node contains both a key - and a count metadata (shown in bold). When an element is - accessed (<i>e.g.</i> 6) its count is incremented, as shown in - Figure <a href="#lu">The counter algorithm</a> -B. If the count - reaches some predetermined value, say 10, as shown in Figure - <a href="#lu">The counter algorithm</a> -C, the count is set to - 0 and the node is moved to the front of the list, as in Figure - <a href="#lu">The counter algorithm</a> -D.</p> - - <h6 class="c1"><a name="lu" id="lu"><img src="lu.png" alt= - "no image" /></a></h6> - - <h6 class="c1">The counter algorithm.</h6> - - <h3><a name="imp_pb_ds" id="imp_pb_ds">Implementation</a></h3> - - <p><tt>pb_ds</tt> allows instantiating lists with policies - implementing any algorithm moving nodes to the front of the - list (policies implementing algorithms interchanging nodes are - unsupported).</p> - - <p>Associative containers based on lists are parametrized by a - <tt>Update_Policy</tt> parameter. This parameter defines the - type of metadata each node contains, how to create the - metadata, and how to decide, using this metadata, whether to - move a node to the front of the list. A list-based associative - container object derives (publicly) from its update policy. - Figure <a href="#update_policy_cd">A list and its update - policy</a> shows the scheme, as well as some predefined - policies (which are explained below).</p> - - <h6 class="c1"><a name="update_policy_cd" id= - "update_policy_cd"><img src="update_policy_cd.png" alt= - "no image" /></a></h6> - - <h6 class="c1">A list and its update policy.</h6> - - <p>An instantiation of <tt>Update_Policy</tt> must define - internally <tt>update_metadata</tt> as the metadata it - requires. Internally, each node of the list contains, besides - the usual key and data, an instance of <tt><b>typename</b> - Update_Policy::update_metadata</tt>.</p> - - <p>An instantiation of <tt>Update_Policy</tt> must define - internally two operators:</p> - <pre> -update_metadata -<b>operator</b>()(); - -<b>bool</b> -<b>operator</b>()(update_metadata &); -</pre> - - <p>The first is called by the container object, when creating a - new node, to create the node's metadata. The second is called - by the container object, when a node is accessed (<i>e.g.</i>, - when a find operation's key is equivalent to the key of the - node), to determine whether to move the node to the front of - the list.</p> - - <p>The library contains two predefined implementations of - list-update policies [<a href= - "references.html#andrew04mtf">andrew04mtf</a>]. The first is - <a href= - "counter_lu_policy.html"><tt>counter_lu_policy</tt></a>, which - implements the counter algorithm described above. The second is - <a href= - "move_to_front_lu_policy.html"><tt>move_to_front_lu_policy</tt></a>, - which unconditionally move an accessed element to the front of - the list. The latter type is very useful in <tt>pb_ds</tt>, - since there is no need to associate metadata with each element - (this is explained further in <a href="#mmaps">Use for - "Multimaps"</a>).</p> - - <h2><a name="mmaps" id="mmaps">Use for "Multimaps"</a></h2> - - <p>In <tt>pb_ds</tt>, there are no equivalents for the STL's - multimaps and multisets; instead one uses an associative - container mapping primary keys to secondary keys (see <a href= - "motivation.html#assoc_mapping_semantics">Motivation::Associative - Containers::Alternative to Multiple Equivalent Keys</a> and - <a href="tutorial.html#assoc_ms">Tutorial::Associative - Containers::Associative Containers Others than Maps</a>).</p> - - <p>List-based containers are especially useful as associative - containers for secondary keys. In fact, they are implemented - here expressly for this purpose.</p> - - <p>To begin with, these containers use very little per-entry - structure memory overhead, since they can be implemented as - singly-linked lists. (Arrays use even lower per-entry memory - overhead, but they are less flexible in moving around entries, - and have weaker invalidation guarantees).</p> - - <p>More importantly, though, list-based containers use very - little per-container memory overhead. The memory overhead of an - empty list-based container is practically that of a pointer. - This is important for when they are used as secondary - associative-containers in situations where the average ratio of - secondary keys to primary keys is low (or even 1).</p> - - <p>In order to reduce the per-container memory overhead as much - as possible, they are implemented as closely as possible to - singly-linked lists.</p> - - <ol> - <li>List-based containers do not store internally the number - of values that they hold. This means that their <tt>size</tt> - method has linear complexity (just like <tt>std::list</tt>). - Note that finding the number of equivalent-key values in an - STL multimap also has linear complexity (because it must be - done, <i>e.g.</i>, via <tt>std::distance</tt> of the - multimap's <tt>equal_range</tt> method), but usually with - higher constants.</li> - - <li>Most associative-container objects each hold a policy - object (<i>e.g.</i>, a hash-based container object holds a - hash functor). List-based containers, conversely, only have - class-wide policy objects.</li> - </ol> - - <p>See also <a href= - "assoc_performance_tests.html#msc">Associative-Container - Performance Tests::Observations::Mapping-Semantics - Considerations</a>.</p> - </div> -</body> -</html> diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/misc.html b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/misc.html deleted file mode 100644 index 01029e134..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/misc.html +++ /dev/null @@ -1,26 +0,0 @@ -<!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" xml:lang="en" lang="en"> -<head> - <meta name="generator" content= - "HTML Tidy for Linux/x86 (vers 12 April 2005), see www.w3.org" /> - - <title>Misc.</title> - <meta http-equiv="Content-Type" content= - "text/html; charset=us-ascii" /> - </head> - -<body> - <div id="page"> - <h1>Misc.</h1> - - <p><a href="acks.html" title="Acknowledgements">Acks</a> - contains acknowledgments; <a href="contact.html">Contact</a> - contains contact information;<a href= - "disclaimer.html">Disclaimer and Copyright</a> is a standard - disclaimer, and <a href="references.html">References</a> - contains references.</p> - </div> -</body> -</html> diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/motivation.html b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/motivation.html deleted file mode 100644 index 627317217..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/motivation.html +++ /dev/null @@ -1,993 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" - "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> -<head> - <meta name="generator" content= - "HTML Tidy for Linux/x86 (vers 12 April 2005), see www.w3.org" /> - - <title>Motivation</title> - <meta http-equiv="Content-Type" content= - "text/html; charset=us-ascii" /> - </head> - -<body> - <div id="page"> - <h1>Motivation</h1> - - <p>Many fine associative-container libraries were already - written, most notably, the STL's associative containers. Why - then write another library? This section shows some possible - advantages of this library, when considering the challenges in - <a href="introduction.html">Introduction</a>. Many of these - points stem from the fact that the STL introduced - associative-containers in a two-step process (first - standardizing tree-based containers, only then adding - hash-based containers, which are fundamentally different), did - not standardize priority queues as containers, and (in our - opinion) overloads the iterator concept.</p> - - <h2><a name="assoc" id="assoc">Associative Containers</a></h2> - - <h3><a name="assoc_policies" id="assoc_policies">More - Configuration Choices</a></h3> - - <p>Associative containers require a relatively large number of - policies to function efficiently in various settings. In some - cases this is needed for making their common operations more - efficient, and in other cases this allows them to support a - larger set of operations</p> - - <ol> - <li>Hash-based containers, for example, support look-up and - insertion methods (<i>e.g.</i>, <tt>find</tt> and - <tt>insert</tt>). In order to locate elements quickly, they - are supplied a hash functor, which instruct how to transform - a key object into some size type; <i>e.g.</i>, a hash functor - might transform <tt>"hello"</tt> into <tt>1123002298</tt>. A - hash table, though, requires transforming each key object - into some size-type type in some specific domain; - <i>e.g.</i>, a hash table with a 128-long table might - transform <tt>"hello"</tt> into position 63. The policy by - which the hash value is transformed into a position within - the table can dramatically affect performance (see <a href= - "hash_based_containers.html#hash_policies">Design::Associative - Containers::Hash-Based Containers::Hash Policies</a>). - Hash-based containers also do not resize naturally (as - opposed to tree-based containers, for example). The - appropriate resize policy is unfortunately intertwined with - the policy that transforms hash value into a position within - the table (see <a href= - "hash_based_containers.html#resize_policies">Design::Associative - Containers::Hash-Based Containers::Resize Policies</a>). - - <p><a href= - "assoc_performance_tests.html#hash_based">Associative-Container - Performance Tests::Hash-Based Containers</a> quantifies - some of these points.</p> - </li> - - <li>Tree-based containers, for example, also support look-up - and insertion methods, and are primarily useful when - maintaining order between elements is important. In some - cases, though, one can utilize their balancing algorithms for - completely different purposes. - - <p>Figure <a href="#node_invariants">Metadata for - order-statistics and interval intersections</a>-A, for - example, shows a tree whose each node contains two entries: - a floating-point key, and some size-type <i>metadata</i> - (in bold beneath it) that is the number of nodes in the - sub-tree. (<i>E.g.</i>, the root has key 0.99, and has 5 - nodes (including itself) in its sub-tree.) A container based - on this data structure can obviously answer efficiently - whether 0.3 is in the container object, but it can also - answer what is the order of 0.3 among all those in the - container object [<a href= - "references.html#clrs2001">clrs2001</a>] (see <a href= - "assoc_examples.html#tree_like_based">Associative Container - Examples::Tree-Like-Based Containers (Trees and - Tries)</a>).</p> - - <p>As another example, Figure <a href= - "#node_invariants">Metadata for order-statistics and - interval intersections</a>-B shows a tree whose each node - contains two entries: a half-open geometric line interval, - and a number <i>metadata</i> (in bold beneath it) that is - the largest endpoint of all intervals in its sub-tree. - (<i>E.g.</i>, the root describes the interval <i>[20, - 36)</i>, and the largest endpoint in its sub-tree is 99.) A - container based on this data structure can obviously answer - efficiently whether <i>[3, 41)</i> is in the container - object, but it can also answer efficiently whether the - container object has intervals that intersect <i>[3, - 41)</i> (see <a href= - "assoc_examples.html#tree_like_based">Associative Container - Examples::Tree-Like-Based Containers (Trees and - Tries)</a>). These types of queries are very useful in - geometric algorithms and lease-management algorithms.</p> - - <p>It is important to note, however, that as the trees are - modified, their internal structure changes. To maintain - these invariants, one must supply some policy that is aware - of these changes (see <a href= - "tree_based_containers.html#invariants">Design::Associative - Containers::Tree-Based Containers::Node Invariants</a>); - without this, it would be better to use a linked list (in - itself very efficient for these purposes).</p> - - <p><a href= - "assoc_performance_tests.html#tree_like_based">Associative-Container - Performance Tests::Tree-Like-Based Containers</a> - quantifies some of these points.</p> - </li> - </ol> - - <h6 class="c1"><a name="node_invariants" id= - "node_invariants"><img src="node_invariants.png" alt= - "no image" /></a></h6> - - <h6 class="c1">Metadata for order-statistics and interval - intersections.</h6> - - <h3><a name="assoc_ds_genericity" id="assoc_ds_genericity">More - Data Structures and Traits</a></h3> - - <p>The STL contains associative containers based on red-black - trees and collision-chaining hash tables. These are obviously - very useful, but they are not ideal for all types of - settings.</p> - - <p>Figure <a href= - "#different_underlying_data_structures">Different underlying - data structures</a> shows different underlying data structures - (the ones currently supported in <tt>pb_ds</tt>). A shows a - collision-chaining hash-table, B shows a probing hash-table, C - shows a red-black tree, D shows a splay tree, E shows a tree - based on an ordered vector(implicit in the order of the - elements), F shows a PATRICIA trie, and G shows a list-based - container with update policies.</p> - - <p>Each of these data structures has some performance benefits, - in terms of speed, size or both (see <a href= - "assoc_performance_tests.html">Associative-Container - Performance Tests</a> and <a href= - "assoc_performance_tests.html#dss_family_choice">Associative-Container - Performance Tests::Observations::Underlying Data-Structure - Families</a>). For now, though, note that <i>e.g.</i>, - vector-based trees and probing hash tables manipulate memory - more efficiently than red-black trees and collision-chaining - hash tables, and that list-based associative containers are - very useful for constructing "multimaps" (see <a href= - "#assoc_mapping_semantics">Alternative to Multiple Equivalent - Keys</a>, <a href= - "assoc_performance_tests.html#multimaps">Associative Container - Performance Tests::Multimaps</a>, and <a href= - "assoc_performance_tests.html#msc">Associative Container - Performance Tests::Observations::Mapping-Semantics - Considerations</a>).</p> - - <h6 class="c1"><a name="different_underlying_data_structures" - id="different_underlying_data_structures"><img src= - "different_underlying_dss.png" alt="no image" /></a></h6> - - <h6 class="c1">Different underlying data structures.</h6> - - <p>Now consider a function manipulating a generic associative - container, <i>e.g.</i>,</p> - <pre> -<b>template</b>< - <b>class</b> Cntnr> -<b>int</b> - some_op_sequence - (Cntnr &r_cnt) -{ - ... -} -</pre> - - <p>Ideally, the underlying data structure of <tt>Cntnr</tt> - would not affect what can be done with <tt>r_cnt</tt>. - Unfortunately, this is not the case.</p> - - <p>For example, if <tt>Cntnr</tt> is <tt>std::map</tt>, then - the function can use <tt>std::for_each(r_cnt.find(foo), - r_cnt.find(bar), foobar)</tt> in order to apply <tt>foobar</tt> - to all elements between <tt>foo</tt> and <tt>bar</tt>. If - <tt>Cntnr</tt> is a hash-based container, then this call's - results are undefined.</p> - - <p>Also, if <tt>Cntnr</tt> is tree-based, the type and object - of the comparison functor can be accessed. If <tt>Cntnr</tt> is - hash based, these queries are nonsensical.</p> - - <p>There are various other differences based on the container's - underlying data structure. For one, they can be constructed by, - and queried for, different policies. Furthermore:</p> - - <ol> - <li>Containers based on C, D, E and F store elements in a - meaningful order; the others store elements in a meaningless - (and probably time-varying) order. By implication, only - containers based on C, D, E and F can support erase - operations taking an iterator and returning an iterator to - the following element without performance loss (see <a href= - "#assoc_ers_methods">Slightly Different Methods::Methods - Related to Erase</a>).</li> - - <li>Containers based on C, D, E, and F can be split and - joined efficiently, while the others cannot. Containers based - on C and D, furthermore, can guarantee that this is - exception-free; containers based on E cannot guarantee - this.</li> - - <li>Containers based on all but E can guarantee that erasing - an element is exception free; containers based on E cannot - guarantee this. Containers based on all but B and E can - guarantee that modifying an object of their type does not - invalidate iterators or references to their elements, while - containers based on B and E cannot. Containers based on C, D, - and E can furthermore make a stronger guarantee, namely that - modifying an object of their type does not affect the order - of iterators.</li> - </ol> - - <p>A unified tag and traits system (as used for the STL's - iterators, for example) can ease generic manipulation of - associative containers based on different underlying - data structures (see <a href= - "tutorial.html#assoc_ds_gen">Tutorial::Associative - Containers::Determining Containers' Attributes</a> and <a href= - "ds_gen.html#container_traits">Design::Associative - Containers::Data-Structure Genericity::Data-Structure Tags and - Traits</a>).</p> - - <h3><a name="assoc_diff_it" id="assoc_diff_it">Differentiating - between Iterator Types</a></h3> - - <p>Iterators are centric to the STL's design, because of the - container/algorithm/iterator decomposition that allows an - algorithm to operate on a range through iterators of some - sequence (<i>e.g.</i>, one originating from a container). - Iterators, then, are useful because they allow going over a - <u>sequence</u>. The STL also uses iterators for accessing a - <u>specific</u> element - <i>e.g.</i>, when an associative - container returns one through <tt>find</tt>. The STL, however, - consistently uses the same types of iterators for both - purposes: going over a range, and accessing a specific found - element. Before the introduction of hash-based containers to - the STL, this made sense (with the exception of priority - queues, which are discussed in <a href="#pq">Priority - Queues</a>).</p> - - <p>Using the STL's associative containers together with - non-order-preserving associative containers (and also because - of priority-queues container), there is a possible need for - different types of iterators for self-organizing containers - - the iterator concept seems overloaded to mean two different - things (in some cases). The following subsections explain this; - <a href="tutorial.html#assoc_find_range">Tutorial::Associative - Containers::Point-Type and Range-Type Methods</a> explains an - alternative design which does not complicate the use of - order-preserving containers, but is better for unordered - containers; <a href= - "ds_gen.html#find_range">Design::Associative - Containers::Data-Structure Genericity::Point-Type and - Range-Type Methods</a> explains the design further.</p> - - <h4><a name="assoc_find_it_range_it" id= - "assoc_find_it_range_it">Using Point-Type Iterators for - Range-Type Operations</a></h4> - - <p>Suppose <tt>cntnr</tt> is some associative container, and - say <tt>c</tt> is an object of type <tt>cntnr</tt>. Then what - will be the outcome of</p> - <pre> -std::for_each(c.find(1), c.find(5), foo); -</pre> - - <p>If <tt>cntnr</tt> is a tree-based container object, then an - in-order walk will apply <tt>foo</tt> to the relevant elements, - <i>e.g.</i>, as in Figure <a href="#range_it_in_hts">Range - iteration in different data structures</a> -A. If <tt>c</tt> is - a hash-based container, then the order of elements between any - two elements is undefined (and probably time-varying); there is - no guarantee that the elements traversed will coincide with the - <i>logical</i> elements between 1 and 5, <i>e.g.</i>, as in - Figure <a href="#range_it_in_hts">Range iteration in different - data structures</a>-B.</p> - - <h6 class="c1"><a name="range_it_in_hts" id= - "range_it_in_hts"><img src="point_iterators_range_ops_1.png" - alt="no image" /></a></h6> - - <h6 class="c1">Range iteration in different - data structures.</h6> - - <p>In our opinion, this problem is not caused just because - red-black trees are order preserving while collision-chaining - hash tables are (generally) not - it is more fundamental. Most - of the STL's containers order sequences in a well-defined - manner that is determined by their <u>interface</u>: calling - <tt>insert</tt> on a tree-based container modifies its sequence - in a predictable way, as does calling <tt>push_back</tt> on a - list or a vector. Conversely, collision-chaining hash tables, - probing hash tables, priority queues, and list-based containers - (which are very useful for "multimaps") are self-organizing - data structures; the effect of each operation modifies their - sequences in a manner that is (practically) determined by their - <u>implementation</u>.</p> - - <p>Consequently, applying an algorithm to a sequence obtained - from most containers <u>may or may not</u> make sense, but - applying it to a sub-sequence of a self-organizing container - <u>does not</u>.</p> - - <h4><a name="assoc_range_it_for_find_it" id= - "assoc_range_it_for_find_it">The Cost of Enabling Range - Capabilities to Point-Type Iterators</a></h4> - - <p>Suppose <tt>c</tt> is some collision-chaining hash-based - container object, and one calls <tt>c.find(3)</tt>. Then what - composes the returned iterator?</p> - - <p>Figure <a href="#find_its_in_hash_tables">Point-type - iterators in hash tables</a>-A shows the simplest (and most - efficient) implementation of a collision-chaining hash table. - The little box marked <tt>point_iterator</tt> shows an object - that contains a pointer to the element's node. Note that this - "iterator" has no way to move to the next element (<i>i.e.</i>, - it cannot support <tt><b>operator</b>++</tt>). Conversely, the - little box marked <tt>iterator</tt> stores both a pointer to - the element, as well as some other information (<i>e.g.</i>, - the bucket number of the element). the second iterator, then, - is "heavier" than the first one- it requires more time and - space. If we were to use a different container to - cross-reference into this hash-table using these iterators - it - would take much more space. As noted in <a href= - "#assoc_find_it_range_it">Using Point-Type Iterators for - Range-Type Operations</a>, nothing much can be done by - incrementing these iterators, so why is this extra information - needed?</p> - - <p>Alternatively, one might create a collision-chaining - hash-table where the lists might be linked, forming a - monolithic total-element list, as in Figure <a href= - "#find_its_in_hash_tables">Point-type iterators in hash - tables</a>-B (this seems similar to the Dinkumware design - [<a href="references.html#dinkumware_stl">dinkumware_stl</a>]). - Here the iterators are as light as can be, but the hash-table's - operations are more complicated.</p> - - <h6 class="c1"><a name="find_its_in_hash_tables" id= - "find_its_in_hash_tables"><img src= - "point_iterators_range_ops_2.png" alt="no image" /></a></h6> - - <h6 class="c1">Point-type iterators in hash tables.</h6> - - <p>It should be noted that containers based on - collision-chaining hash-tables are not the only ones with this - type of behavior; many other self-organizing data structures - display it as well.</p> - - <h4><a name="assoc_inv_guar" id="assoc_inv_guar">Invalidation - Guarantees</a></h4> - - <p>Consider the following snippet:</p> - <pre> -it = c.find(3); - -c.erase(5); -</pre> - - <p>Following the call to <tt>erase</tt>, what is the validity - of <tt>it</tt>: can it be de-referenced? can it be - incremented?</p> - - <p>The answer depends on the underlying data structure of the - container. Figure <a href= - "#invalidation_guarantee_erase">Effect of erase in different - underlying data structures</a> shows three cases: A1 and A2 - show a red-black tree; B1 and B2 show a probing hash-table; C1 - and C2 show a collision-chaining hash table.</p> - - <h6 class="c1"><a name="invalidation_guarantee_erase" id= - "invalidation_guarantee_erase"><img src= - "invalidation_guarantee_erase.png" alt="no image" /></a></h6> - - <h6 class="c1">Effect of erase in different underlying - data structures.</h6> - - <ol> - <li>Erasing 5 from A1 yields A2. Clearly, an iterator to 3 - can be de-referenced and incremented. The sequence of - iterators changed, but in a way that is well-defined by the - <u>interface</u>.</li> - - <li>Erasing 5 from B1 yields B2. Clearly, an iterator to 3 is - not valid at all - it cannot be de-referenced or incremented; - the order of iterators changed in a way that is (practically) - determined by the <u>implementation</u> and not by the - <u>interface</u>.</li> - - <li>Erasing 5 from C1 yields C2. Here the situation is more - complicated. On the one hand, there is no problem in - de-referencing <tt>it</tt>. On the other hand, the order of - iterators changed in a way that is (practically) determined - by the <u>implementation</u> and not by the - <u>interface</u>.</li> - </ol> - - <p>So in classic STL, it is not always possible to express - whether <tt>it</tt> is valid or not. This is true also for - <tt>insert</tt>, <i>e.g.</i>. Again, the iterator concept seems - overloaded.</p> - - <h3><a name="assoc_methods" id="assoc_methods">Slightly - Different Methods</a></h3> - - <p>[<a href="references.html#meyers02both">meyers02both</a>] - points out that a class's methods should comprise only - operations which depend on the class's internal structure; - other operations are best designed as external functions. - Possibly, therefore, the STL's associative containers lack some - useful methods, and provide some other methods which would be - better left out (<i>e.g.</i>, [<a href= - "references.html#sgi_stl">sgi_stl</a>] ).</p> - - <h4><a name="assoc_ers_methods" id="assoc_ers_methods">Methods - Related to Erase</a></h4> - - <ol> - <li>Order-preserving STL associative containers provide the - method - <pre> -iterator - erase - (iterator it) -</pre>which takes an iterator, erases the corresponding element, -and returns an iterator to the following element. Also hash-based -STL associative containers provide this method. This <u>seemingly -increases</u> genericity between associative containers, since, <i> - e.g.</i>, it is possible to use - <pre> -<b>typename</b> C::iterator it = c.begin(); -<b>typename</b> C::iterator e_it = c.end(); - -<b>while</b>(it != e_it) - it = pred(*it)? c.erase(it) : ++it; -</pre>in order to erase from a container object <tt> - c</tt> all element which match a predicate <tt>pred</tt>. - However, in a different sense this actually - <u>decreases</u> genericity: an integral implication of - this method is that tree-based associative containers' - memory use is linear in the total number of elements they - store, while hash-based containers' memory use is unbounded - in the total number of elements they store. Assume a - hash-based container is allowed to decrease its size when - an element is erased. Then the elements might be rehashed, - which means that there is no "next" element - it is simply - undefined. Consequently, it is possible to infer from the - fact that STL hash-based containers provide this method - that they cannot downsize when elements are erased - (<a href="assoc_performance_tests.html#hash_based">Performance - Tests::Hash-Based Container Tests</a> quantifies this.) As - a consequence, different code is needed to manipulate - different containers, assuming that memory should be - conserved. <tt>pb_ds</tt>'s non-order preserving - associative containers omit this method. - </li> - - <li>All of <tt>pb_ds</tt>'s associative containers include a - conditional-erase method - <pre> -<b>template</b>< - <b>class</b> Pred> -size_type - erase_if - (Pred pred) -</pre>which erases all elements matching a predicate. This is -probably the only way to ensure linear-time multiple-item erase -which can actually downsize a container. - </li> - - <li>STL associative containers provide methods for - multiple-item erase of the form - <pre> -size_type - erase - (It b, - It e) -</pre>erasing a range of elements given by a pair of iterators. For -tree-based or trie-based containers, this can implemented more -efficiently as a (small) sequence of split and join operations. For -other, unordered, containers, this method isn't much better than an -external loop. Moreover, if <tt>c</tt> is a hash-based container, -then, <i>e.g.</i>, <tt>c.erase(c.find(2), c.find(5))</tt> is almost -certain to do something different than erasing all elements whose -keys are between 2 and 5, and is likely to produce other undefined -behavior. - </li> - </ol> - - <h4><a name="assoc_split_join_methods" id= - "assoc_split_join_methods">Methods Related to Split and - Join</a></h4> - - <p>It is well-known that tree-based and trie-based container - objects can be efficiently split or joined [<a href= - "references.html#clrs2001">clrs2001</a>]. Externally splitting - or joining trees is super-linear, and, furthermore, can throw - exceptions. Split and join methods, consequently, seem good - choices for tree-based container methods, especially, since as - noted just before, they are efficient replacements for erasing - sub-sequences. <a href= - "assoc_performance_tests.html#tree_like_based">Performance - Tests::Tree-Like-Based Container Tests</a> quantifies this.</p> - - <h4><a name="assoc_insert_methods" id= - "assoc_insert_methods">Methods Related to Insert</a></h4> - - <p>STL associative containers provide methods of the form</p> - <pre> -<b>template</b>< - <b>class</b> It> -size_type - insert - (It b, - It e); -</pre>for inserting a range of elements given by a pair of -iterators. At best, this can be implemented as an external loop, -or, even more efficiently, as a join operation (for the case of -tree-based or trie-based containers). Moreover, these methods seem -similar to constructors taking a range given by a pair of -iterators; the constructors, however, are transactional, whereas -the insert methods are not; this is possibly confusing. - - <h4><a name="assoc_equiv_comp_methods" id= - "assoc_equiv_comp_methods">Functions Related to - Comparison</a></h4> - - <p>Associative containers are parametrized by policies - allowing to test key equivalence; <i>e.g.</i> a hash-based - container can do this through its equivalence functor, and a - tree-based container can do this through its comparison - functor. In addition, some STL associative containers have - global function operators, <i>e.g.</i>, - <tt><b>operator</b>==</tt> and <tt><b>operator</b><=</tt>, - that allow comparing entire associative containers.</p> - - <p>In our opinion, these functions are better left out. To - begin with, they do not significantly improve over an external - loop. More importantly, however, they are possibly misleading - - <tt><b>operator</b>==</tt>, for example, usually checks for - equivalence, or interchangeability, but the associative - container cannot check for values' equivalence, only keys' - equivalence; also, are two containers considered equivalent if - they store the same values in different order? this is an - arbitrary decision.</p> - - <h3><a name="assoc_mapping_semantics" id= - "assoc_mapping_semantics">Alternative to Multiple Equivalent - Keys</a></h3> - - <p>Maps (or sets) allow mapping (or storing) unique-key values. - The STL, however, also supplies associative containers which - map (or store) multiple values with equivalent keys: - <tt>std::multimap</tt>, <tt>std::multiset</tt>, - <tt>std::tr1::unordered_multimap</tt>, and - <tt>unordered_multiset</tt>. We first discuss how these might - be used, then why we think it is best to avoid them.</p> - - <p>Suppose one builds a simple bank-account application that - records for each client (identified by an <tt>std::string</tt>) - and account-id (marked by an <tt><b>unsigned long</b></tt>) - - the balance in the account (described by a - <tt><b>float</b></tt>). Suppose further that ordering this - information is not useful, so a hash-based container is - preferable to a tree based container. Then one can use</p> - <pre> -std::tr1::unordered_map<std::pair<std::string, <b>unsigned long</b>>, <b>float</b>, ...> -</pre>which <u>hashes every combination of client and -account-id</u>. This might work well, except for the fact that it -is now impossible to efficiently list all of the accounts of a -specific client (this would practically require iterating over all -entries). Instead, one can use - <pre> -std::tr1::unordered_multimap<std::pair<std::string, <tt><b>unsigned long</b></tt>>, <b>float</b>, ...> -</pre>which <u>hashes every client</u>, and <u>decides equivalence -based on client</u> only. This will ensure that all accounts -belonging to a specific user are stored consecutively. - - <p>Also, suppose one wants an integers' priority queue - (<i>i.e.,</i> a container that supports <tt>push</tt>, - <tt>pop</tt>, and <tt>top</tt> operations, the last of which - returns the largest <tt><b>int</b></tt>) that also supports - operations such as <tt>find</tt> and <tt>lower_bound</tt>. A - reasonable solution is to build an adapter over - <tt>std::set<<b>int</b>></tt>. In this adapter, - <i>e.g.</i>, <tt>push</tt> will just call the tree-based - associative container's <tt>insert</tt> method; <tt>pop</tt> - will call its <tt>end</tt> method, and use it to return the - preceding element (which must be the largest). Then this might - work well, except that the container object cannot hold - multiple instances of the same integer (<tt>push(4)</tt>, - <i>e.g.</i>, will be a no-op if <tt>4</tt> is already in the - container object). If multiple keys are necessary, then one - might build the adapter over an - <tt>std::multiset<<b>int</b>></tt>.</p> - - <p class="c1">STL non-unique-mapping containers, then, are - useful when (1) a key can be decomposed in to a primary key and - a secondary key, (2) a key is needed multiple times, or (3) any - combination of (1) and (2).</p> - - <p>Figure <a href="#embedded_lists_1">Non-unique mapping - containers in the STL's design</a> shows how the STL's design - works internally; in this figure nodes shaded equally represent - equivalent-key values. Equivalent keys are stored consecutively - using the properties of the underlying data structure: binary - search trees (Figure <a href="#embedded_lists_1">Non-unique - mapping containers in the STL's design</a>-A) store - equivalent-key values consecutively (in the sense of an - in-order walk) naturally; collision-chaining hash tables - (Figure <a href="#embedded_lists_1">Non-unique mapping - containers in the STL's design</a>-B) store equivalent-key - values in the same bucket, the bucket can be arranged so that - equivalent-key values are consecutive.</p> - - <h6 class="c1"><a name="embedded_lists_1" id= - "embedded_lists_1"><img src="embedded_lists_1.png" alt= - "no image" /></a></h6> - - <h6 class="c1">Non-unique mapping containers in the STL's - design.</h6> - - <p>Put differently, STL non-unique mapping - associative-containers are associative containers that map - primary keys to linked lists that are embedded into the - container. Figure <a href="#embedded_lists_2">Effect of - embedded lists in STL multimaps</a> shows again the two - containers from Figure <a href="#embedded_lists_1">Non-unique - mapping containers in the STL's design</a>, this time with the - embedded linked lists of the grayed nodes marked - explicitly.</p> - - <h6 class="c1"><a name="embedded_lists_2" id= - "embedded_lists_2"><img src="embedded_lists_2.png" alt= - "no image" /></a></h6> - - <h6 class="c1">Effect of embedded lists in STL multimaps.</h6> - - <p>These embedded linked lists have several disadvantages.</p> - - <ol> - <li>The underlying data structure embeds the linked lists - according to its own consideration, which means that the - search path for a value might include several different - equivalent-key values. For example, the search path for the - the black node in either of Figures <a href= - "#embedded_lists_1">Non-unique mapping containers in the - STL's design</a> A or B, includes more than a single gray - node.</li> - - <li>The links of the linked lists are the underlying - data structures' nodes, which typically are quite structured. - <i>E.g.</i>, in the case of tree-based containers (Figure - <a href="#embedded_lists_2">Effect of embedded lists in STL - multimaps</a>-B), each "link" is actually a node with three - pointers (one to a parent and two to children), and a - relatively-complicated iteration algorithm. The linked lists, - therefore, can take up quite a lot of memory, and iterating - over all values equal to a given key (<i>e.g.</i>, through - the return value of the STL's <tt>equal_range</tt>) can be - expensive.</li> - - <li>The primary key is stored multiply; this uses more - memory.</li> - - <li>Finally, the interface of this design excludes several - useful underlying data structures. <i>E.g.</i>, of all the - unordered self-organizing data structures, practically only - collision-chaining hash tables can (efficiently) guarantee - that equivalent-key values are stored consecutively.</li> - </ol> - - <p>The above reasons hold even when the ratio of secondary keys - to primary keys (or average number of identical keys) is small, - but when it is large, there are more severe problems:</p> - - <ol> - <li>The underlying data structures order the links inside - each embedded linked-lists according to their internal - considerations, which effectively means that each of the - links is unordered. Irrespective of the underlying - data structure, searching for a specific value can degrade to - linear complexity.</li> - - <li>Similarly to the above point, it is impossible to apply - to the secondary keys considerations that apply to primary - keys. For example, it is not possible to maintain secondary - keys by sorted order.</li> - - <li>While the interface "understands" that all equivalent-key - values constitute a distinct list (<i>e.g.</i>, through - <tt>equal_range</tt>), the underlying data structure - typically does not. This means, <i>e.g.</i>, that operations - such as erasing from a tree-based container all values whose - keys are equivalent to a a given key can be super-linear in - the size of the tree; this is also true also for several - other operations that target a specific list.</li> - </ol> - - <p>In <tt>pb_ds</tt>, therefore, all associative containers map - (or store) unique-key values. One can (1) map primary keys to - secondary associative-containers (<i>i.e.</i>, containers of - secondary keys) or non-associative containers (2) map identical - keys to a size-type representing the number of times they - occur, or (3) any combination of (1) and (2). Instead of - allowing multiple equivalent-key values, <tt>pb_ds</tt> - supplies associative containers based on underlying - data structures that are suitable as secondary - associative-containers (see <a href= - "assoc_performance_tests.html#msc">Associative-Container - Performance Tests::Observations::Mapping-Semantics - Considerations</a>).</p> - - <p>Figures <a href="#embedded_lists_3">Non-unique mapping - containers in <tt>pb_ds</tt></a> A and B show the equivalent - structures in <tt>pb_ds</tt>'s design, to those in Figures - <a href="#embedded_lists_1">Non-unique mapping containers in - the STL's design</a> A and B, respectively. Each shaded box - represents some size-type or secondary - associative-container.</p> - - <h6 class="c1"><a name="embedded_lists_3" id= - "embedded_lists_3"><img src="embedded_lists_3.png" alt= - "no image" /></a></h6> - - <h6 class="c1">Non-unique mapping containers in the - <tt>pb_ds</tt>.</h6> - - <p>In the first example above, then, one would use an - associative container mapping each user to an associative - container which maps each application id to a start time (see - <a href= - "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/testsuite/ext/pb_ds/example/basic_multimap.cc"><tt>basic_multimap.cc</tt></a>); - in the second example, one would use an associative container - mapping each <tt><b>int</b></tt> to some size-type indicating - the number of times it logically occurs (see <a href= - "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/testsuite/ext/pb_ds/example/basic_multiset.cc"><tt>basic_multiset.cc</tt></a>).</p> - - <p><a href= - "assoc_performance_tests.html#multimaps">Associative-Container - Performance Tests::Multimaps</a> quantifies some of these - points, and <a href= - "assoc_performance_tests.html#msc">Associative-Container - Performance Tests::Observations::Mapping-Semantics - Considerations</a> shows some simple calculations.</p> - - <p><a href="assoc_examples.html#mmaps">Associative-Container - Examples::Multimaps</a> shows some simple examples of using - "multimaps".</p> - - <p><a href="lu_based_containers.html">Design::Associative - Containers::List-Based Containers</a> discusses types of - containers especially suited as secondary - associative-containers.</p> - - <h2><a name="pq" id="pq">Priority Queues</a></h2> - - <h3><a name="pq_more_ops" id="pq_more_ops">Slightly Different - Methods</a></h3> - - <p>Priority queues are containers that allow efficiently - inserting values and accessing the maximal value (in the sense - of the container's comparison functor); <i>i.e.</i>, their - interface supports <tt>push</tt> and <tt>pop</tt>. The STL's - priority queues indeed support these methods, but they support - little else. For algorithmic and software-engineering purposes, - other methods are needed:</p> - - <ol> - <li>Many graph algorithms [<a href= - "references.html#clrs2001">clrs2001</a>] require increasing a - value in a priority queue (again, in the sense of the - container's comparison functor), or joining two - priority-queue objects.</li> - - <li>It is sometimes necessary to erase an arbitrary value in - a priority queue. For example, consider the <tt>select</tt> - function for monitoring file descriptors: - <pre> -<b>int</b> - select - (<b>int</b> nfds, - fd_set *readfds, - fd_set *writefds, - fd_set *errorfds, - <b>struct</b> timeval *timeout); -</pre>then, as the <tt>select</tt> manual page [<a href= -"references.html#select_man">select_man</a>] states: - - <p><q>The nfds argument specifies the range of file - descriptors to be tested. The select() function tests file - descriptors in the range of 0 to nfds-1.</q></p> - - <p>It stands to reason, therefore, that we might wish to - maintain a minimal value for <tt>nfds</tt>, and priority - queues immediately come to mind. Note, though, that when a - socket is closed, the minimal file description might - change; in the absence of an efficient means to erase an - arbitrary value from a priority queue, we might as well - avoid its use altogether.</p> - - <p><a href="pq_examples.html#xref">Priority-Queue - Examples::Cross-Referencing</a> shows examples for these - types of operations.</p> - </li> - - <li>STL containers typically support iterators. It is - somewhat unusual for <tt>std::priority_queue</tt> to omit - them (see, <i>e.g.</i>, [<a href= - "references.html#meyers01stl">meyers01stl</a>]). One might - ask why do priority queues need to support iterators, since - they are self-organizing containers with a different purpose - than abstracting sequences. There are several reasons: - - <ol> - <li>Iterators (even in self-organizing containers) are - useful for many purposes, <i>e.g.</i>, cross-referencing - containers, serialization, and debugging code that uses - these containers.</li> - - <li>The STL's hash-based containers support iterators, - even though they too are self-organizing containers with - a different purpose than abstracting sequences.</li> - - <li>In STL-like containers, it is natural to specify the - interface of operations for modifying a value or erasing - a value (discussed previously) in terms of a iterators. - This is discussed further in <a href= - "pq_design.html#pq_it">Design::Priority - Queues::Iterators</a>. It should be noted that the STL's - containers also use iterators for accessing and - manipulating a specific value. <i>E.g.</i>, in hash-based - containers, one checks the existence of a key by - comparing the iterator returned by <tt>find</tt> to the - iterator returned by <tt>end</tt>, and not by comparing a - pointer returned by <tt>find</tt> to <tt>NULL</tt>.</li> - </ol> - </li> - </ol> - - <p><a href="pq_performance_tests.html">Performance - Tests::Priority Queues</a> quantifies some of these points.</p> - - <h3><a name="pq_ds_genericity" id="pq_ds_genericity">More Data - Structures and Traits</a></h3> - - <p>There are three main implementations of priority queues: the - first employs a binary heap, typically one which uses a - sequence; the second uses a tree (or forest of trees), which is - typically less structured than an associative container's tree; - the third simply uses an associative container. These are - shown, respectively, in Figures <a href= - "#pq_different_underlying_dss">Underlying Priority-Queue - Data-Structures</a> A1 and A2, B, and C.</p> - - <h6 class="c1"><a name="pq_different_underlying_dss" id= - "pq_different_underlying_dss"><img src= - "pq_different_underlying_dss.png" alt="no image" /></a></h6> - - <h6 class="c1">Underlying Priority-Queue Data-Structures.</h6> - - <p>No single implementation can completely replace any of the - others. Some have better <tt>push</tt> and <tt>pop</tt> - amortized performance, some have better bounded (worst case) - response time than others, some optimize a single method at the - expense of others, <i>etc.</i>. In general the "best" - implementation is dictated by the problem (see <a href= - "pq_performance_tests.html#pq_observations">Performance - Tests::Priority Queues::Observations</a>).</p> - - <p>As with associative containers (see <a href= - "#assoc_ds_genericity">Associative Containers::Traits for - Underlying Data-Structures</a>), the more implementations - co-exist, the more necessary a traits mechanism is for handling - generic containers safely and efficiently. This is especially - important for priority queues, since the invalidation - guarantees of one of the most useful data structures - binary - heaps - is markedly different than those of most of the - others.</p> - - <p><a href="pq_design.html#pq_traits">Design::Priority - Queues::Traits</a> discusses this further.</p> - - <h3><a name="pq_binary_heap" id="pq_binary_heap">Binary Heap - Implementation</a></h3> - - <p>Binary heaps are one of the most useful underlying - data structures for priority queues. They are very efficient in - terms of memory (since they don't require per-value structure - metadata), and have the best amortized <tt>push</tt> and - <tt>pop</tt> performance for primitive types (<i>e.g.</i>, - <tt><b>int</b></tt>s).</p> - - <p>The STL's <tt>priority_queue</tt> implements this data - structure as an adapter over a sequence, typically - <tt>std::vector</tt> or <tt>std::deque</tt>, which correspond - to Figures <a href="#pq_different_underlying_dss">Underlying - Priority-Queue Data-Structures</a> A1 and A2, respectively.</p> - - <p>This is indeed an elegant example of the adapter concept and - the algorithm/container/iterator decomposition (see [<a href= - "references.html#nelson96stlpq">nelson96stlpql</a>]). There are - possibly reasons, however, why a binary-heap priority queue - would be better implemented as a container instead of a - sequence adapter:</p> - - <ol> - <li><tt>std::priority_queue</tt> cannot erase values from its - adapted sequence (irrespective of the sequence type). This - means that the memory use of an <tt>std::priority_queue</tt> - object is always proportional to the maximal number of values - it ever contained, and not to the number of values that it - currently contains (see <a href= - "priority_queue_text_pop_mem_usage_test.html">Priority Queue - Text <tt>pop</tt> Memory Use Test</a>); this implementation - of binary heaps acts very differently than other underlying - data structures (<i>e.g.</i>, pairing heaps).</li> - - <li>Some combinations of adapted sequences and value types - are very inefficient or just don't make sense. If one uses - <tt>std::priority_queue<std::vector<std::string> - > ></tt>, for example, then not only will each - operation perform a logarithmic number of - <tt>std::string</tt> assignments, but, furthermore, any - operation (including <tt>pop</tt>) can render the container - useless due to exceptions. Conversely, if one uses - <tt>std::priority_queue<std::deque<<b>int</b>> > - ></tt>, then each operation uses incurs a logarithmic - number of indirect accesses (through pointers) unnecessarily. - It might be better to let the container make a conservative - deduction whether to use the structure in Figures <a href= - "#pq_different_underlying_dss">Underlying Priority-Queue - Data-Structures</a> A1 or A2.</li> - - <li>There does not seem to be a systematic way to determine - what exactly can be done with the priority queue. - - <ol> - <li>If <tt>p</tt> is a priority queue adapting an - <tt>std::vector</tt>, then it is possible to iterate over - all values by using <tt>&p.top()</tt> and - <tt>&p.top() + p.size()</tt>, but this will not work - if <tt>p</tt> is adapting an <tt>std::deque</tt>; in any - case, one cannot use <tt>p.begin()</tt> and - <tt>p.end()</tt>. If a different sequence is adapted, it - is even more difficult to determine what can be - done.</li> - - <li>If <tt>p</tt> is a priority queue adapting an - <tt>std::deque</tt>, then the reference return by - <tt>p.top()</tt> will remain valid until it is popped, - but if <tt>p</tt> adapts an <tt>std::vector</tt>, the - next <tt>push</tt> will invalidate it. If a different - sequence is adapted, it is even more difficult to - determine what can be done.</li> - </ol> - </li> - - <li>Sequence-based binary heaps can still implement - linear-time <tt>erase</tt> and <tt>modify</tt> operations. - This means that if one needs, <i>e.g.</i>, to erase a small - (say logarithmic) number of values, then one might still - choose this underlying data structure. Using - <tt>std::priority_queue</tt>, however, this will generally - change the order of growth of the entire sequence of - operations.</li> - </ol> - </div> -</body> -</html> diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/move_to_front_lu_policy.html b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/move_to_front_lu_policy.html deleted file mode 100644 index 4ed4d40bd..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/move_to_front_lu_policy.html +++ /dev/null @@ -1,194 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" - "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> -<head> - <meta name="generator" content= - "HTML Tidy for Linux/x86 (vers 12 April 2005), see www.w3.org" /> - - <title>move_to_front_lu_policy Interface</title> - <meta http-equiv="Content-Type" content= - "text/html; charset=us-ascii" /> - </head> - -<body> - <div id="page"> - <h1><tt>move_to_front_lu_policy</tt> Interface</h1> - - <p>A list-update policy that unconditionally moves elements to - the front of the list.</p> - - <p>Defined in: <a href= - "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/include/ext/pb_ds/list_update_policy.hpp"><tt>list_update_policy.hpp</tt></a></p> - - <h2><a name="link1" id="link1">Template Parameters</a></h2> - - <table class="c1" width="100%" border="1" summary= - "Template Parameters"> - <tr> - <td width="20%" align="left"><b>Parameter</b></td> - - <td width="50%" align="left"><b>Description</b></td> - - <td width="30%" align="left"><b>Default Value</b></td> - </tr> - - <tr> - <td> - <pre> -<a name="Allocator35940069" id= -"Allocator35940069"><b>class</b> Allocator </a> -</pre> - </td> - - <td> - <p>Allocator type.</p> - - <p>This is used only for definitions, e.g., the size - type.</p> - </td> - - <td> - <pre> -std::allocator<<b>char</b>> -</pre> - </td> - </tr> - </table> - - <h2><a name="link2" id="link2">Public Types and - Constants</a></h2> - - <h3><a name="link3" id="link3">Policy Definitions</a></h3> - - <table class="c1" width="100%" border="1" summary="Types"> - <tr> - <td width="30%" align="left"><b>Type</b></td> - - <td width="55%" align="left"><b>Definition</b></td> - - <td width="15%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -<a name="allocator48440069" id="allocator48440069">allocator</a> -</pre> - </td> - - <td> - <pre> -<a href="#Allocator35940069"><tt>Allocator</tt></a> -</pre> - </td> - - <td> - <p><a href="#Allocator35940069"><tt>Allocator</tt></a> - type.</p> - </td> - </tr> - </table> - - <h3><a name="link4" id="link4">Metadata-Type - Definitions</a></h3> - - <table class="c1" width="100%" border="1" summary="Types"> - <tr> - <td width="30%" align="left"><b>Type</b></td> - - <td width="55%" align="left"><b>Definition</b></td> - - <td width="15%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -<a name="metadata_type2849297114" id= -"metadata_type2849297114">metadata_type</a> -</pre> - </td> - - <td> - <pre> -<a href="null_lu_metadata.html"><span class= -"c2"><tt>null_lu_metadata</tt></span></a> -</pre> - </td> - - <td> - <p>Metadata on which this functor operates.</p> - - <p>In this case, none.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<a name="metadata_reference583863863" id= -"metadata_reference583863863">metadata_reference</a> -</pre> - </td> - - <td> - <pre> -<b>typename</b> <a href= -"#Allocator35940069"><tt>Allocator</tt></a>::<b>template</b> rebind< - <a href= -"#metadata_type2849297114"><tt>metadata_type</tt></a>>::other::reference -</pre> - </td> - - <td> - <p>Reference to metadata on which this functor - operates.</p> - </td> - </tr> - </table> - - <h2><a name="link5" id="link5">Public Methods</a></h2> - - <h3><a name="link6" id="link6">Metadata Methods</a></h3> - - <table class="c1" width="100%" border="1" summary="Methods"> - <tr> - <td width="45%" align="left"><b>Method</b></td> - - <td width="55%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -<a href="#metadata_type2849297114"><tt>metadata_type</tt></a> - <b>operator</b>() - () <b>const</b> -</pre> - </td> - - <td> - <p>Creates a metadata object.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<b>inline</b> <b>bool</b> - <b>operator</b>() - (<a href= -"#metadata_reference583863863"><tt>metadata_reference</tt></a> r_metadata) <b>const</b> -</pre> - </td> - - <td> - <p>Decides whether a metadata object should be moved to - the front of the list.</p> - </td> - </tr> - </table> - </div> -</body> -</html> diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_find_timing_test_large.html b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_find_timing_test_large.html deleted file mode 100644 index 74d33a326..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_find_timing_test_large.html +++ /dev/null @@ -1,215 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" - "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> -<head> -<meta name="generator" content="HTML Tidy for Linux/x86 (vers 12 April 2005), see www.w3.org" /> -<title>"Multimap" Text Find Timing Test with Large Average - Secondary-Key to Primary-Key Ratio</title> -<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" /> -</head> -<body> -<div id="page"> -<h1>"Multimap" Text Find Timing Test with Large Average - Secondary-Key to Primary-Key Ratio</h1> -<h2><a name="description" id="description">Description</a></h2> -<p>This test inserts a number of pairs into a container. The - first item of each pair is a string from an arbitrary text - [<a href="references.html#wickland96thirty">wickland96thirty</a>], and - the second is a uniform i.i.d.integer. The container is a - "multimap" - it considers the first member of each pair as a - primary key, and the second member of each pair as a secondary - key (see <a href="motivation.html#assoc_mapping_semantics">Motivation::Associative - Containers::Alternative to Multiple Equivalent Keys</a>). There - are 100 distinct primary keys, and the ratio of secondary keys - to primary keys ranges to about 20.</p> -<p>The test measures the average find-time as a function of the - number of values inserted. For <tt>pb_ds</tt>'s containers, it - finds the secondary key from a container obtained from finding - a primary key. For the native multimaps, it searches a range - obtained using <tt>std::equal_range</tt> on a primary key.</p> -<p>(The test was executed with <a href="http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/testsuite/performance/ext/pb_ds/multimap_text_find_timing_large.cc"><tt>multimap_text_find_timing_test</tt></a> - thirty_years_among_the_dead_preproc.txt 100 3 4 4)</p> -<h2><a name="purpose" id="purpose">Purpose</a></h2> -<p>The test checks the find-time scalability of different - "multimap" designs (see <a href="motivation.html#assoc_mapping_semantics">Motivation::Associative - Containers::Mapping Semantics</a>).</p> -<h2><a name="results" id="results">Results</a></h2> -<p>Figures <a href="#NTG">NTG</a>, <a href="#NTM">NTM</a>, and - <a href="#NTL">NTL</a> show the results for "multimaps" which - use a tree-based container for primary keys, in <a href="assoc_performance_tests.html#gcc"><u>g++</u></a>, <a href="assoc_performance_tests.html#msvc"><u>msvc++</u></a>, and - <a href="assoc_performance_tests.html#local"><u>local</u></a>, - respectively; Figures <a href="#NHG"></a>NHG, <a href="#NHM">NHM</a>, and <a href="#NHL">NHL</a> show the results for - "multimaps" which use a hash-based container for primary keys, - in <a href="assoc_performance_tests.html#gcc"><u>g++</u></a>, - <a href="assoc_performance_tests.html#msvc"><u>msvc++</u></a>, - and <a href="assoc_performance_tests.html#local"><u>local</u></a>, - respectively.</p> -<div id="NTG_res_div"> -<div id="NTG_gcc"> -<div id="NTG_multimap_text_find_timing_test_large_s2p_tree"> -<div id="NTG_assoc"> -<div id="NTG_Native_and_primary_tree-based_multimap_types_find_timing_test"><div style="border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NTG" id="NTG"><img src="multimap_text_find_timing_test_large_s2p_tree_gcc.png" alt="no image" /></a></h6>NTG: Native and primary tree-based multimap types find timing test - <a href="assoc_performance_tests.html#gcc">g++</a><p>In the above figure, the names in the legends have the following meaning:</p> -<ol> -<li> -n_mmap- -<tt>std::multimap</tt></li> -<li> -rb_tree_mmap_lu_mtf_set- -<a href="tree.html"><tt>tree</tt></a> - with <tt>Tag</tt> = <a href="rb_tree_tag.html"><tt>rb_tree_tag</tt></a> -, and <tt>Node_Update</tt> = <a href="null_tree_node_update.html"><tt>null_tree_node_update</tt></a> -, mapping each key to <a href="list_update.html"><tt>list_update</tt></a> - with <tt>Update_Policy</tt> = <a href="move_to_front_lu_policy.html"><tt>move_to_front_lu_policy</tt></a> -</li> -<li> -rb_tree_mmap_cc_hash_mask_exp_nea_lc_1div8_1div2_nsth_set- -<a href="tree.html"><tt>tree</tt></a> - with <tt>Tag</tt> = <a href="rb_tree_tag.html"><tt>rb_tree_tag</tt></a> -, and <tt>Node_Update</tt> = <a href="null_tree_node_update.html"><tt>null_tree_node_update</tt></a> -, mapping each key to <a href="cc_hash_table.html"><tt>cc_hash_table</tt></a> -with <tt>Comb_Hash_Fn</tt> = <a href="direct_mask_range_hashing.html"><tt>direct_mask_range_hashing</tt></a> -, and <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a> - with <tt>Size_Policy</tt> = <a href="hash_exponential_size_policy.html"><tt>hash_exponential_size_policy</tt></a> -, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a> - with <i>α<sub>min</sub></i> = <i>1/8</i> and <i>α<sub>max</sub></i> = <i>1/2</i></li> -</ol> -</div><div style="width: 100%; height: 20px"></div></div> -</div> -</div> -</div> -</div> -<div id="NTM_res_div"> -<div id="NTM_msvc"> -<div id="NTM_multimap_text_find_timing_test_large_s2p_tree"> -<div id="NTM_assoc"> -<div id="NTM_Native_and_primary_tree-based_multimap_types_find_timing_test"><div style="border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NTM" id="NTM"><img src="multimap_text_find_timing_test_large_s2p_tree_msvc.png" alt="no image" /></a></h6>NTM: Native and primary tree-based multimap types find timing test - <a href="assoc_performance_tests.html#msvc">msvc++</a><p>In the above figure, the names in the legends have the following meaning:</p> -<ol> -<li> -n_mmap- -<tt>std::multimap</tt></li> -<li> -rb_tree_mmap_lu_mtf_set- -<a href="tree.html"><tt>tree</tt></a> - with <tt>Tag</tt> = <a href="rb_tree_tag.html"><tt>rb_tree_tag</tt></a> -, and <tt>Node_Update</tt> = <a href="null_tree_node_update.html"><tt>null_tree_node_update</tt></a> -, mapping each key to <a href="list_update.html"><tt>list_update</tt></a> - with <tt>Update_Policy</tt> = <a href="move_to_front_lu_policy.html"><tt>move_to_front_lu_policy</tt></a> -</li> -<li> -rb_tree_mmap_cc_hash_mask_exp_nea_lc_1div8_1div2_nsth_set- -<a href="tree.html"><tt>tree</tt></a> - with <tt>Tag</tt> = <a href="rb_tree_tag.html"><tt>rb_tree_tag</tt></a> -, and <tt>Node_Update</tt> = <a href="null_tree_node_update.html"><tt>null_tree_node_update</tt></a> -, mapping each key to <a href="cc_hash_table.html"><tt>cc_hash_table</tt></a> -with <tt>Comb_Hash_Fn</tt> = <a href="direct_mask_range_hashing.html"><tt>direct_mask_range_hashing</tt></a> -, and <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a> - with <tt>Size_Policy</tt> = <a href="hash_exponential_size_policy.html"><tt>hash_exponential_size_policy</tt></a> -, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a> - with <i>α<sub>min</sub></i> = <i>1/8</i> and <i>α<sub>max</sub></i> = <i>1/2</i></li> -</ol> -</div><div style="width: 100%; height: 20px"></div></div> -</div> -</div> -</div> -</div> -<div id="NTL_res_div"> -<div id="NTL_local"> -<div id="NTL_multimap_text_find_timing_test_large_s2p_tree"> -<div id="NTL_assoc"> -<div id="NTL_Native_and_primary_tree-based_multimap_types_find_timing_test"><div style = "border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NTL" id= "NTL"><img src="multimap_text_find_timing_test_large_s2p_tree_local.png" alt="no image" /></a></h6>NTL: Native and primary tree-based multimap types find timing test - <a href = "assoc_performance_tests.html#local">local</a></div><div style = "width: 100%; height: 20px"></div></div> -</div> -</div> -</div> -</div> -<div id="NHG_res_div"> -<div id="NHG_gcc"> -<div id="NHG_multimap_text_find_timing_test_large_s2p_hash"> -<div id="NHG_assoc"> -<div id="NHG_Native_and_primary_hash-based_multimap_types_find_timing_test"><div style="border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NHG" id="NHG"><img src="multimap_text_find_timing_test_large_s2p_hash_gcc.png" alt="no image" /></a></h6>NHG: Native and primary hash-based multimap types find timing test - <a href="assoc_performance_tests.html#gcc">g++</a><p>In the above figure, the names in the legends have the following meaning:</p> -<ol> -<li> -n_hash_mmap- -<tt>__gnucxx::hash_multimap</tt></li> -<li> -cc_hash_mask_exp_nea_lc_1div8_1div2_nsth_mmap_lu_mtf_set- -<a href="cc_hash_table.html"><tt>cc_hash_table</tt></a> -with <tt>Comb_Hash_Fn</tt> = <a href="direct_mask_range_hashing.html"><tt>direct_mask_range_hashing</tt></a> -, and <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a> - with <tt>Size_Policy</tt> = <a href="hash_exponential_size_policy.html"><tt>hash_exponential_size_policy</tt></a> -, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a> - with <i>α<sub>min</sub></i> = <i>1/8</i> and <i>α<sub>max</sub></i> = <i>1/2</i>, mapping each key to <a href="list_update.html"><tt>list_update</tt></a> - with <tt>Update_Policy</tt> = <a href="move_to_front_lu_policy.html"><tt>move_to_front_lu_policy</tt></a> -</li> -<li> -cc_hash_mask_exp_nea_lc_1div8_1div2_nsth_mmap_cc_hash_mask_exp_nea_lc_1div8_1div2_nsth_set- -<a href="cc_hash_table.html"><tt>cc_hash_table</tt></a> -with <tt>Comb_Hash_Fn</tt> = <a href="direct_mask_range_hashing.html"><tt>direct_mask_range_hashing</tt></a> -, and <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a> - with <tt>Size_Policy</tt> = <a href="hash_exponential_size_policy.html"><tt>hash_exponential_size_policy</tt></a> -, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a> - with <i>α<sub>min</sub></i> = <i>1/8</i> and <i>α<sub>max</sub></i> = <i>1/2</i>, mapping each key to <a href="cc_hash_table.html"><tt>cc_hash_table</tt></a> -with <tt>Comb_Hash_Fn</tt> = <a href="direct_mask_range_hashing.html"><tt>direct_mask_range_hashing</tt></a> -, and <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a> - with <tt>Size_Policy</tt> = <a href="hash_exponential_size_policy.html"><tt>hash_exponential_size_policy</tt></a> -, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a> - with <i>α<sub>min</sub></i> = <i>1/8</i> and <i>α<sub>max</sub></i> = <i>1/2</i></li> -</ol> -</div><div style="width: 100%; height: 20px"></div></div> -</div> -</div> -</div> -</div> -<div id="NHM_res_div"> -<div id="NHM_msvc"> -<div id="NHM_multimap_text_find_timing_test_large_s2p_hash"> -<div id="NHM_assoc"> -<div id="NHM_Native_and_primary_hash-based_multimap_types_find_timing_test"><div style="border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NHM" id="NHM"><img src="multimap_text_find_timing_test_large_s2p_hash_msvc.png" alt="no image" /></a></h6>NHM: Native and primary hash-based multimap types find timing test - <a href="assoc_performance_tests.html#msvc">msvc++</a><p>In the above figure, the names in the legends have the following meaning:</p> -<ol> -<li> -n_hash_mmap- -<tt>stdext::hash_multimap</tt></li> -<li> -cc_hash_mask_exp_nea_lc_1div8_1div2_nsth_mmap_lu_mtf_set- -<a href="cc_hash_table.html"><tt>cc_hash_table</tt></a> -with <tt>Comb_Hash_Fn</tt> = <a href="direct_mask_range_hashing.html"><tt>direct_mask_range_hashing</tt></a> -, and <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a> - with <tt>Size_Policy</tt> = <a href="hash_exponential_size_policy.html"><tt>hash_exponential_size_policy</tt></a> -, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a> - with <i>α<sub>min</sub></i> = <i>1/8</i> and <i>α<sub>max</sub></i> = <i>1/2</i>, mapping each key to <a href="list_update.html"><tt>list_update</tt></a> - with <tt>Update_Policy</tt> = <a href="move_to_front_lu_policy.html"><tt>move_to_front_lu_policy</tt></a> -</li> -<li> -cc_hash_mask_exp_nea_lc_1div8_1div2_nsth_mmap_cc_hash_mask_exp_nea_lc_1div8_1div2_nsth_set- -<a href="cc_hash_table.html"><tt>cc_hash_table</tt></a> -with <tt>Comb_Hash_Fn</tt> = <a href="direct_mask_range_hashing.html"><tt>direct_mask_range_hashing</tt></a> -, and <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a> - with <tt>Size_Policy</tt> = <a href="hash_exponential_size_policy.html"><tt>hash_exponential_size_policy</tt></a> -, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a> - with <i>α<sub>min</sub></i> = <i>1/8</i> and <i>α<sub>max</sub></i> = <i>1/2</i>, mapping each key to <a href="cc_hash_table.html"><tt>cc_hash_table</tt></a> -with <tt>Comb_Hash_Fn</tt> = <a href="direct_mask_range_hashing.html"><tt>direct_mask_range_hashing</tt></a> -, and <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a> - with <tt>Size_Policy</tt> = <a href="hash_exponential_size_policy.html"><tt>hash_exponential_size_policy</tt></a> -, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a> - with <i>α<sub>min</sub></i> = <i>1/8</i> and <i>α<sub>max</sub></i> = <i>1/2</i></li> -</ol> -</div><div style="width: 100%; height: 20px"></div></div> -</div> -</div> -</div> -</div> -<div id="NHL_res_div"> -<div id="NHL_local"> -<div id="NHL_multimap_text_find_timing_test_large_s2p_hash"> -<div id="NHL_assoc"> -<div id="NHL__Native_and_primary_hash-based_multimap_types_find_timing_test"><div style = "border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NHL" id= "NHL"><img src="multimap_text_find_timing_test_large_s2p_hash_local.png" alt="no image" /></a></h6>NHL: Native and primary hash-based multimap types find timing test - <a href = "assoc_performance_tests.html#local">local</a></div><div style = "width: 100%; height: 20px"></div></div> -</div> -</div> -</div> -</div> -<h2><a name="observations" id="observations">Observations</a></h2> -<p>See <a href="assoc_performance_tests.html#msc">Observations::Mapping-Semantics - Considerations</a>.</p> -</div> -</body> -</html> diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_find_timing_test_large_s2p_hash_gcc.png b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_find_timing_test_large_s2p_hash_gcc.png Binary files differdeleted file mode 100644 index 03a62f52b..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_find_timing_test_large_s2p_hash_gcc.png +++ /dev/null diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_find_timing_test_large_s2p_hash_local.png b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_find_timing_test_large_s2p_hash_local.png Binary files differdeleted file mode 100644 index 32a61cac9..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_find_timing_test_large_s2p_hash_local.png +++ /dev/null diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_find_timing_test_large_s2p_hash_msvc.png b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_find_timing_test_large_s2p_hash_msvc.png Binary files differdeleted file mode 100644 index 4462d289a..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_find_timing_test_large_s2p_hash_msvc.png +++ /dev/null diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_find_timing_test_large_s2p_tree_gcc.png b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_find_timing_test_large_s2p_tree_gcc.png Binary files differdeleted file mode 100644 index 89e464481..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_find_timing_test_large_s2p_tree_gcc.png +++ /dev/null diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_find_timing_test_large_s2p_tree_local.png b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_find_timing_test_large_s2p_tree_local.png Binary files differdeleted file mode 100644 index 10b3980ed..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_find_timing_test_large_s2p_tree_local.png +++ /dev/null diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_find_timing_test_large_s2p_tree_msvc.png b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_find_timing_test_large_s2p_tree_msvc.png Binary files differdeleted file mode 100644 index 20320953e..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_find_timing_test_large_s2p_tree_msvc.png +++ /dev/null diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_find_timing_test_small.html b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_find_timing_test_small.html deleted file mode 100644 index 1b379d821..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_find_timing_test_small.html +++ /dev/null @@ -1,215 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" - "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> -<head> -<meta name="generator" content="HTML Tidy for Linux/x86 (vers 12 April 2005), see www.w3.org" /> -<title>"Multimap" Text Find Timing Test with Small Average - Secondary-Key to Primary-Key Ratio</title> -<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" /> -</head> -<body> -<div id="page"> -<h1>"Multimap" Text Find Timing Test with Small Average - Secondary-Key to Primary-Key Ratio</h1> -<h2><a name="description" id="description">Description</a></h2> -<p>This test inserts a number of pairs into a container. The - first item of each pair is a string from an arbitrary text - [<a href="references.html#wickland96thirty">wickland96thirty</a>], and - the second is a uniform i.i.d.integer. The container is a - "multimap" - it considers the first member of each pair as a - primary key, and the second member of each pair as a secondary - key (see <a href="motivation.html#assoc_mapping_semantics">Motivation::Associative - Containers::Alternative to Multiple Equivalent Keys</a>). There - are 400 distinct primary keys, and the ratio of secondary keys - to primary keys ranges from 1 to 5.</p> -<p>The test measures the average find-time as a function of the - number of values inserted. For <tt>pb_ds</tt>'s containers, it - finds the secondary key from a container obtained from finding - a primary key. For the native multimaps, it searches a range - obtained using <tt>std::equal_range</tt> on a primary key.</p> -<p>(The test was executed with <a href="http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/testsuite/performance/ext/pb_ds/multimap_text_find_timing_small.cc"><tt>multimap_text_find_timing_test</tt></a> - thirty_years_among_the_dead_preproc.txt 400 1 1 6)</p> -<h2><a name="purpose" id="purpose">Purpose</a></h2> -<p>The test checks the find-time scalability of different - "multimap" designs (see <a href="motivation.html#assoc_mapping_semantics">Motivation::Associative - Containers::Mapping Semantics</a>).</p> -<h2><a name="results" id="results">Results</a></h2> -<p>Figures <a href="#NTG">NTG</a>, <a href="#NTM">NTM</a>, and - <a href="#NTL">NTL</a> show the results for "multimaps" which - use a tree-based container for primary keys, in <a href="assoc_performance_tests.html#gcc"><u>g++</u></a>, <a href="assoc_performance_tests.html#msvc"><u>msvc++</u></a>, and - <a href="assoc_performance_tests.html#local"><u>local</u></a>, - respectively; Figures <a href="#NHG"></a>NHG, <a href="#NHM">NHM</a>, and <a href="#NHL">NHL</a> show the results for - "multimaps" which use a hash-based container for primary keys, - in <a href="assoc_performance_tests.html#gcc"><u>g++</u></a>, - <a href="assoc_performance_tests.html#msvc"><u>msvc++</u></a>, - and <a href="assoc_performance_tests.html#local"><u>local</u></a>, - respectively.</p> -<div id="NTG_res_div"> -<div id="NTG_gcc"> -<div id="NTG_multimap_text_find_timing_test_small_s2p_tree"> -<div id="NTG_assoc"> -<div id="NHG_Native_and_primary_tree-based_multimap_types_find_timing_test"><div style="border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NTG" id="NTG"><img src="multimap_text_find_timing_test_small_s2p_tree_gcc.png" alt="no image" /></a></h6>NTG: NHG Native and primary tree-based multimap types find timing test - <a href="assoc_performance_tests.html#gcc">g++</a><p>In the above figure, the names in the legends have the following meaning:</p> -<ol> -<li> -n_mmap- -<tt>std::multimap</tt></li> -<li> -rb_tree_mmap_lu_mtf_set- -<a href="tree.html"><tt>tree</tt></a> - with <tt>Tag</tt> = <a href="rb_tree_tag.html"><tt>rb_tree_tag</tt></a> -, and <tt>Node_Update</tt> = <a href="null_tree_node_update.html"><tt>null_tree_node_update</tt></a> -, mapping each key to <a href="list_update.html"><tt>list_update</tt></a> - with <tt>Update_Policy</tt> = <a href="move_to_front_lu_policy.html"><tt>move_to_front_lu_policy</tt></a> -</li> -<li> -rb_tree_mmap_cc_hash_mask_exp_nea_lc_1div8_1div2_nsth_set- -<a href="tree.html"><tt>tree</tt></a> - with <tt>Tag</tt> = <a href="rb_tree_tag.html"><tt>rb_tree_tag</tt></a> -, and <tt>Node_Update</tt> = <a href="null_tree_node_update.html"><tt>null_tree_node_update</tt></a> -, mapping each key to <a href="cc_hash_table.html"><tt>cc_hash_table</tt></a> -with <tt>Comb_Hash_Fn</tt> = <a href="direct_mask_range_hashing.html"><tt>direct_mask_range_hashing</tt></a> -, and <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a> - with <tt>Size_Policy</tt> = <a href="hash_exponential_size_policy.html"><tt>hash_exponential_size_policy</tt></a> -, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a> - with <i>α<sub>min</sub></i> = <i>1/8</i> and <i>α<sub>max</sub></i> = <i>1/2</i></li> -</ol> -</div><div style="width: 100%; height: 20px"></div></div> -</div> -</div> -</div> -</div> -<div id="NTM_res_div"> -<div id="NTM_msvc"> -<div id="NTM_multimap_text_find_timing_test_small_s2p_tree"> -<div id="NTM_assoc"> -<div id="NHM_Native_and_primary_tree-based_multimap_types_find_timing_test"><div style="border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NTM" id="NTM"><img src="multimap_text_find_timing_test_small_s2p_tree_msvc.png" alt="no image" /></a></h6>NTM: NHM Native and primary tree-based multimap types find timing test - <a href="assoc_performance_tests.html#msvc">msvc++</a><p>In the above figure, the names in the legends have the following meaning:</p> -<ol> -<li> -n_mmap- -<tt>std::multimap</tt></li> -<li> -rb_tree_mmap_lu_mtf_set- -<a href="tree.html"><tt>tree</tt></a> - with <tt>Tag</tt> = <a href="rb_tree_tag.html"><tt>rb_tree_tag</tt></a> -, and <tt>Node_Update</tt> = <a href="null_tree_node_update.html"><tt>null_tree_node_update</tt></a> -, mapping each key to <a href="list_update.html"><tt>list_update</tt></a> - with <tt>Update_Policy</tt> = <a href="move_to_front_lu_policy.html"><tt>move_to_front_lu_policy</tt></a> -</li> -<li> -rb_tree_mmap_cc_hash_mask_exp_nea_lc_1div8_1div2_nsth_set- -<a href="tree.html"><tt>tree</tt></a> - with <tt>Tag</tt> = <a href="rb_tree_tag.html"><tt>rb_tree_tag</tt></a> -, and <tt>Node_Update</tt> = <a href="null_tree_node_update.html"><tt>null_tree_node_update</tt></a> -, mapping each key to <a href="cc_hash_table.html"><tt>cc_hash_table</tt></a> -with <tt>Comb_Hash_Fn</tt> = <a href="direct_mask_range_hashing.html"><tt>direct_mask_range_hashing</tt></a> -, and <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a> - with <tt>Size_Policy</tt> = <a href="hash_exponential_size_policy.html"><tt>hash_exponential_size_policy</tt></a> -, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a> - with <i>α<sub>min</sub></i> = <i>1/8</i> and <i>α<sub>max</sub></i> = <i>1/2</i></li> -</ol> -</div><div style="width: 100%; height: 20px"></div></div> -</div> -</div> -</div> -</div> -<div id="NTL_res_div"> -<div id="NTL_local"> -<div id="NTL_multimap_text_find_timing_test_small_s2p_tree"> -<div id="NTL_assoc"> -<div id="NTL_Native_and_primary_tree-based_multimap_types_find_timing_test"><div style = "border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NTL" id= "NTL"><img src="multimap_text_find_timing_test_small_s2p_tree_local.png" alt="no image" /></a></h6>NTL: Native and primary tree-based multimap types find timing test - <a href = "assoc_performance_tests.html#local">local</a></div><div style = "width: 100%; height: 20px"></div></div> -</div> -</div> -</div> -</div> -<div id="NHG_res_div"> -<div id="NHG_gcc"> -<div id="NHG_multimap_text_find_timing_test_small_s2p_hash"> -<div id="NHG_assoc"> -<div id="NHG_Native_and_primary_hash-based_multimap_types_find_timing_test"><div style="border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NHG" id="NHG"><img src="multimap_text_find_timing_test_small_s2p_hash_gcc.png" alt="no image" /></a></h6>NHG: Native and primary hash-based multimap types find timing test - <a href="assoc_performance_tests.html#gcc">g++</a><p>In the above figure, the names in the legends have the following meaning:</p> -<ol> -<li> -n_hash_mmap- -<tt>__gnucxx::hash_multimap</tt></li> -<li> -cc_hash_mask_exp_nea_lc_1div8_1div2_nsth_mmap_lu_mtf_set- -<a href="cc_hash_table.html"><tt>cc_hash_table</tt></a> -with <tt>Comb_Hash_Fn</tt> = <a href="direct_mask_range_hashing.html"><tt>direct_mask_range_hashing</tt></a> -, and <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a> - with <tt>Size_Policy</tt> = <a href="hash_exponential_size_policy.html"><tt>hash_exponential_size_policy</tt></a> -, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a> - with <i>α<sub>min</sub></i> = <i>1/8</i> and <i>α<sub>max</sub></i> = <i>1/2</i>, mapping each key to <a href="list_update.html"><tt>list_update</tt></a> - with <tt>Update_Policy</tt> = <a href="move_to_front_lu_policy.html"><tt>move_to_front_lu_policy</tt></a> -</li> -<li> -cc_hash_mask_exp_nea_lc_1div8_1div2_nsth_mmap_cc_hash_mask_exp_nea_lc_1div8_1div2_nsth_set- -<a href="cc_hash_table.html"><tt>cc_hash_table</tt></a> -with <tt>Comb_Hash_Fn</tt> = <a href="direct_mask_range_hashing.html"><tt>direct_mask_range_hashing</tt></a> -, and <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a> - with <tt>Size_Policy</tt> = <a href="hash_exponential_size_policy.html"><tt>hash_exponential_size_policy</tt></a> -, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a> - with <i>α<sub>min</sub></i> = <i>1/8</i> and <i>α<sub>max</sub></i> = <i>1/2</i>, mapping each key to <a href="cc_hash_table.html"><tt>cc_hash_table</tt></a> -with <tt>Comb_Hash_Fn</tt> = <a href="direct_mask_range_hashing.html"><tt>direct_mask_range_hashing</tt></a> -, and <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a> - with <tt>Size_Policy</tt> = <a href="hash_exponential_size_policy.html"><tt>hash_exponential_size_policy</tt></a> -, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a> - with <i>α<sub>min</sub></i> = <i>1/8</i> and <i>α<sub>max</sub></i> = <i>1/2</i></li> -</ol> -</div><div style="width: 100%; height: 20px"></div></div> -</div> -</div> -</div> -</div> -<div id="NHM_res_div"> -<div id="NHM_msvc"> -<div id="NHM_multimap_text_find_timing_test_small_s2p_hash"> -<div id="NHM_assoc"> -<div id="NHM_Native_and_primary_hash-based_multimap_types_find_timing_test"><div style="border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NHM" id="NHM"><img src="multimap_text_find_timing_test_small_s2p_hash_msvc.png" alt="no image" /></a></h6>NHM: Native and primary hash-based multimap types find timing test - <a href="assoc_performance_tests.html#msvc">msvc++</a><p>In the above figure, the names in the legends have the following meaning:</p> -<ol> -<li> -n_hash_mmap- -<tt>stdext::hash_multimap</tt></li> -<li> -cc_hash_mask_exp_nea_lc_1div8_1div2_nsth_mmap_lu_mtf_set- -<a href="cc_hash_table.html"><tt>cc_hash_table</tt></a> -with <tt>Comb_Hash_Fn</tt> = <a href="direct_mask_range_hashing.html"><tt>direct_mask_range_hashing</tt></a> -, and <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a> - with <tt>Size_Policy</tt> = <a href="hash_exponential_size_policy.html"><tt>hash_exponential_size_policy</tt></a> -, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a> - with <i>α<sub>min</sub></i> = <i>1/8</i> and <i>α<sub>max</sub></i> = <i>1/2</i>, mapping each key to <a href="list_update.html"><tt>list_update</tt></a> - with <tt>Update_Policy</tt> = <a href="move_to_front_lu_policy.html"><tt>move_to_front_lu_policy</tt></a> -</li> -<li> -cc_hash_mask_exp_nea_lc_1div8_1div2_nsth_mmap_cc_hash_mask_exp_nea_lc_1div8_1div2_nsth_set- -<a href="cc_hash_table.html"><tt>cc_hash_table</tt></a> -with <tt>Comb_Hash_Fn</tt> = <a href="direct_mask_range_hashing.html"><tt>direct_mask_range_hashing</tt></a> -, and <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a> - with <tt>Size_Policy</tt> = <a href="hash_exponential_size_policy.html"><tt>hash_exponential_size_policy</tt></a> -, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a> - with <i>α<sub>min</sub></i> = <i>1/8</i> and <i>α<sub>max</sub></i> = <i>1/2</i>, mapping each key to <a href="cc_hash_table.html"><tt>cc_hash_table</tt></a> -with <tt>Comb_Hash_Fn</tt> = <a href="direct_mask_range_hashing.html"><tt>direct_mask_range_hashing</tt></a> -, and <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a> - with <tt>Size_Policy</tt> = <a href="hash_exponential_size_policy.html"><tt>hash_exponential_size_policy</tt></a> -, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a> - with <i>α<sub>min</sub></i> = <i>1/8</i> and <i>α<sub>max</sub></i> = <i>1/2</i></li> -</ol> -</div><div style="width: 100%; height: 20px"></div></div> -</div> -</div> -</div> -</div> -<div id="NHL_res_div"> -<div id="NHL_local"> -<div id="NHL_multimap_text_find_timing_test_small_s2p_hash"> -<div id="NHL_assoc"> -<div id="NHL__Native_and_primary_hash-based_multimap_types_find_timing_test"><div style = "border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NHL" id= "NHL"><img src="multimap_text_find_timing_test_small_s2p_hash_local.png" alt="no image" /></a></h6>NHL: Native and primary hash-based multimap types find timing test - <a href = "assoc_performance_tests.html#local">local</a></div><div style = "width: 100%; height: 20px"></div></div> -</div> -</div> -</div> -</div> -<h2><a name="observations" id="observations">Observations</a></h2> -<p>See <a href="assoc_performance_tests.html#msc">Observations::Mapping-Semantics - Considerations</a>.</p> -</div> -</body> -</html> diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_find_timing_test_small_s2p_hash_gcc.png b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_find_timing_test_small_s2p_hash_gcc.png Binary files differdeleted file mode 100644 index 60e850937..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_find_timing_test_small_s2p_hash_gcc.png +++ /dev/null diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_find_timing_test_small_s2p_hash_local.png b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_find_timing_test_small_s2p_hash_local.png Binary files differdeleted file mode 100644 index a8fa26117..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_find_timing_test_small_s2p_hash_local.png +++ /dev/null diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_find_timing_test_small_s2p_hash_msvc.png b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_find_timing_test_small_s2p_hash_msvc.png Binary files differdeleted file mode 100644 index 11aa9e07b..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_find_timing_test_small_s2p_hash_msvc.png +++ /dev/null diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_find_timing_test_small_s2p_tree_gcc.png b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_find_timing_test_small_s2p_tree_gcc.png Binary files differdeleted file mode 100644 index f54369b15..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_find_timing_test_small_s2p_tree_gcc.png +++ /dev/null diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_find_timing_test_small_s2p_tree_local.png b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_find_timing_test_small_s2p_tree_local.png Binary files differdeleted file mode 100644 index b3d10612f..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_find_timing_test_small_s2p_tree_local.png +++ /dev/null diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_find_timing_test_small_s2p_tree_msvc.png b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_find_timing_test_small_s2p_tree_msvc.png Binary files differdeleted file mode 100644 index 035fd9389..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_find_timing_test_small_s2p_tree_msvc.png +++ /dev/null diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_insert_mem_usage_test_large.html b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_insert_mem_usage_test_large.html deleted file mode 100644 index 4affbf440..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_insert_mem_usage_test_large.html +++ /dev/null @@ -1,210 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" - "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> -<head> -<meta name="generator" content="HTML Tidy for Linux/x86 (vers 12 April 2005), see www.w3.org" /> -<title>Hash-List "Multimap" Text Memory Use Test with Large - Average Secondary-Key to Primary-Key Ratio</title> -<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" /> -</head> -<body> -<div id="page"> -<h1>"Multimap" Text Memory Use Test with Large Average - Secondary-Key to Primary-Key Ratio</h1> -<h2><a name="description" id="description">Description</a></h2> -<p>This test inserts a number of pairs into a container. The - first item of each pair is a string from an arbitrary text - [<a href="references.html#wickland96thirty">wickland96thirty</a>], and - the second is a uniform i.i.d.integer. The container is a - "multimap" - it considers the first member of each pair as a - primary key, and the second member of each pair as a secondary - key (see <a href="motivation.html#assoc_mapping_semantics">Motivation::Associative - Containers::Alternative to Multiple Equivalent Keys</a>). There - are 100 distinct primary keys. The test measures the memory use - as a function of the number of values inserted.</p> -<p>(The test was executed with <a href="http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/testsuite/performance/ext/pb_ds/multimap_text_insert_mem_usage_large.cc"><tt>multimap_text_insert_mem_usage_test</tt></a> - thirty_years_among_the_dead_preproc.txt 100 200 2100 100)</p> -<h2><a name="purpose" id="purpose">Purpose</a></h2> -<p>The test checks the memory scalability of different - "multimap" designs (see <a href="motivation.html#assoc_mapping_semantics">Motivation::Associative - Containers::Mapping Semantics</a>).</p> -<h2><a name="results" id="results">Results</a></h2> -<p>Figures <a href="#NTG">NTG</a>, <a href="#NTM">NTM</a>, and - <a href="#NTL">NTL</a> show the results for "multimaps" which - use a tree-based container for primary keys, in <a href="assoc_performance_tests.html#gcc"><u>g++</u></a>, <a href="assoc_performance_tests.html#msvc"><u>msvc++</u></a>, and - <a href="assoc_performance_tests.html#local"><u>local</u></a>, - respectively; Figures <a href="#NHG"></a>NHG, <a href="#NHM">NHM</a>, and <a href="#NHL">NHL</a> show the results for - "multimaps" which use a hash-based container for primary keys, - in <a href="assoc_performance_tests.html#gcc"><u>g++</u></a>, - <a href="assoc_performance_tests.html#msvc"><u>msvc++</u></a>, - and <a href="assoc_performance_tests.html#local"><u>local</u></a>, - respectively.</p> -<div id="NTG_res_div"> -<div id="NTG_gcc"> -<div id="NTG_multimap_text_insert_mem_usage_test_large_s2p_tree"> -<div id="NTG_assoc"> -<div id="NHG_Native_and_primary_tree-based_multimap_types_mem_usage_test"><div style="border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NTG" id="NTG"><img src="multimap_text_insert_mem_usage_test_large_s2p_tree_gcc.png" alt="no image" /></a></h6>NTG: NHG Native and primary tree-based multimap types mem usage test - <a href="assoc_performance_tests.html#gcc">g++</a><p>In the above figure, the names in the legends have the following meaning:</p> -<ol> -<li> -rb_tree_mmap_cc_hash_mask_exp_nea_lc_1div8_1div2_nsth_set- -<a href="tree.html"><tt>tree</tt></a> - with <tt>Tag</tt> = <a href="rb_tree_tag.html"><tt>rb_tree_tag</tt></a> -, and <tt>Node_Update</tt> = <a href="null_tree_node_update.html"><tt>null_tree_node_update</tt></a> -, mapping each key to <a href="cc_hash_table.html"><tt>cc_hash_table</tt></a> -with <tt>Comb_Hash_Fn</tt> = <a href="direct_mask_range_hashing.html"><tt>direct_mask_range_hashing</tt></a> -, and <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a> - with <tt>Size_Policy</tt> = <a href="hash_exponential_size_policy.html"><tt>hash_exponential_size_policy</tt></a> -, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a> - with <i>α<sub>min</sub></i> = <i>1/8</i> and <i>α<sub>max</sub></i> = <i>1/2</i></li> -<li> -n_mmap- -<tt>std::multimap</tt></li> -<li> -rb_tree_mmap_lu_mtf_set- -<a href="tree.html"><tt>tree</tt></a> - with <tt>Tag</tt> = <a href="rb_tree_tag.html"><tt>rb_tree_tag</tt></a> -, and <tt>Node_Update</tt> = <a href="null_tree_node_update.html"><tt>null_tree_node_update</tt></a> -, mapping each key to <a href="list_update.html"><tt>list_update</tt></a> - with <tt>Update_Policy</tt> = <a href="move_to_front_lu_policy.html"><tt>move_to_front_lu_policy</tt></a> -</li> -</ol> -</div><div style="width: 100%; height: 20px"></div></div> -</div> -</div> -</div> -</div> -<div id="NTM_res_div"> -<div id="NTM_msvc"> -<div id="NTM_multimap_text_insert_mem_usage_test_large_s2p_tree"> -<div id="NTM_assoc"> -<div id="NHM_Native_and_primary_tree-based_multimap_types_mem_usage_test"><div style="border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NTM" id="NTM"><img src="multimap_text_insert_mem_usage_test_large_s2p_tree_msvc.png" alt="no image" /></a></h6>NTM: NHM Native and primary tree-based multimap types mem usage test - <a href="assoc_performance_tests.html#msvc">msvc++</a><p>In the above figure, the names in the legends have the following meaning:</p> -<ol> -<li> -n_mmap- -<tt>std::multimap</tt></li> -<li> -rb_tree_mmap_cc_hash_mask_exp_nea_lc_1div8_1div2_nsth_set- -<a href="tree.html"><tt>tree</tt></a> - with <tt>Tag</tt> = <a href="rb_tree_tag.html"><tt>rb_tree_tag</tt></a> -, and <tt>Node_Update</tt> = <a href="null_tree_node_update.html"><tt>null_tree_node_update</tt></a> -, mapping each key to <a href="cc_hash_table.html"><tt>cc_hash_table</tt></a> -with <tt>Comb_Hash_Fn</tt> = <a href="direct_mask_range_hashing.html"><tt>direct_mask_range_hashing</tt></a> -, and <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a> - with <tt>Size_Policy</tt> = <a href="hash_exponential_size_policy.html"><tt>hash_exponential_size_policy</tt></a> -, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a> - with <i>α<sub>min</sub></i> = <i>1/8</i> and <i>α<sub>max</sub></i> = <i>1/2</i></li> -<li> -rb_tree_mmap_lu_mtf_set- -<a href="tree.html"><tt>tree</tt></a> - with <tt>Tag</tt> = <a href="rb_tree_tag.html"><tt>rb_tree_tag</tt></a> -, and <tt>Node_Update</tt> = <a href="null_tree_node_update.html"><tt>null_tree_node_update</tt></a> -, mapping each key to <a href="list_update.html"><tt>list_update</tt></a> - with <tt>Update_Policy</tt> = <a href="move_to_front_lu_policy.html"><tt>move_to_front_lu_policy</tt></a> -</li> -</ol> -</div><div style="width: 100%; height: 20px"></div></div> -</div> -</div> -</div> -</div> -<div id="NTL_res_div"> -<div id="NTL_local"> -<div id="NTL_multimap_text_insert_mem_usage_test_large_s2p_tree"> -<div id="NTL_assoc"> -<div id="NTL_Native_and_primary_tree-based_multimap_types_mem_usage_test"><div style = "border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NTL" id= "NTL"><img src="multimap_text_insert_mem_usage_test_large_s2p_tree_local.png" alt="no image" /></a></h6>NTL: Native and primary tree-based multimap types mem usage test - <a href = "assoc_performance_tests.html#local">local</a></div><div style = "width: 100%; height: 20px"></div></div> -</div> -</div> -</div> -</div> -<div id="NHG_res_div"> -<div id="NHG_gcc"> -<div id="NHG_multimap_text_insert_mem_usage_test_large_s2p_hash"> -<div id="NHG_assoc"> -<div id="NHG_Native_and_primary_hash-based_multimap_types_mem_usage_test"><div style="border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NHG" id="NHG"><img src="multimap_text_insert_mem_usage_test_large_s2p_hash_gcc.png" alt="no image" /></a></h6>NHG: Native and primary hash-based multimap types mem usage test - <a href="assoc_performance_tests.html#gcc">g++</a><p>In the above figure, the names in the legends have the following meaning:</p> -<ol> -<li> -cc_hash_mask_exp_nea_lc_1div8_1div2_nsth_mmap_cc_hash_mask_exp_nea_lc_1div8_1div2_nsth_set- -<a href="cc_hash_table.html"><tt>cc_hash_table</tt></a> -with <tt>Comb_Hash_Fn</tt> = <a href="direct_mask_range_hashing.html"><tt>direct_mask_range_hashing</tt></a> -, and <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a> - with <tt>Size_Policy</tt> = <a href="hash_exponential_size_policy.html"><tt>hash_exponential_size_policy</tt></a> -, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a> - with <i>α<sub>min</sub></i> = <i>1/8</i> and <i>α<sub>max</sub></i> = <i>1/2</i>, mapping each key to <a href="cc_hash_table.html"><tt>cc_hash_table</tt></a> -with <tt>Comb_Hash_Fn</tt> = <a href="direct_mask_range_hashing.html"><tt>direct_mask_range_hashing</tt></a> -, and <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a> - with <tt>Size_Policy</tt> = <a href="hash_exponential_size_policy.html"><tt>hash_exponential_size_policy</tt></a> -, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a> - with <i>α<sub>min</sub></i> = <i>1/8</i> and <i>α<sub>max</sub></i> = <i>1/2</i></li> -<li> -n_hash_mmap- -<tt>__gnucxx::hash_multimap</tt></li> -<li> -cc_hash_mask_exp_nea_lc_1div8_1div2_nsth_mmap_lu_mtf_set- -<a href="cc_hash_table.html"><tt>cc_hash_table</tt></a> -with <tt>Comb_Hash_Fn</tt> = <a href="direct_mask_range_hashing.html"><tt>direct_mask_range_hashing</tt></a> -, and <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a> - with <tt>Size_Policy</tt> = <a href="hash_exponential_size_policy.html"><tt>hash_exponential_size_policy</tt></a> -, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a> - with <i>α<sub>min</sub></i> = <i>1/8</i> and <i>α<sub>max</sub></i> = <i>1/2</i>, mapping each key to <a href="list_update.html"><tt>list_update</tt></a> - with <tt>Update_Policy</tt> = <a href="move_to_front_lu_policy.html"><tt>move_to_front_lu_policy</tt></a> -</li> -</ol> -</div><div style="width: 100%; height: 20px"></div></div> -</div> -</div> -</div> -</div> -<div id="NHM_res_div"> -<div id="NHM_msvc"> -<div id="NHM_multimap_text_insert_mem_usage_test_large_s2p_hash"> -<div id="NHM_assoc"> -<div id="NHM_Native_and_primary_hash-based_multimap_types_mem_usage_test"><div style="border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NHM" id="NHM"><img src="multimap_text_insert_mem_usage_test_large_s2p_hash_msvc.png" alt="no image" /></a></h6>NHM: Native and primary hash-based multimap types mem usage test - <a href="assoc_performance_tests.html#msvc">msvc++</a><p>In the above figure, the names in the legends have the following meaning:</p> -<ol> -<li> -n_hash_mmap- -<tt>stdext::hash_multimap</tt></li> -<li> -cc_hash_mask_exp_nea_lc_1div8_1div2_nsth_mmap_cc_hash_mask_exp_nea_lc_1div8_1div2_nsth_set- -<a href="cc_hash_table.html"><tt>cc_hash_table</tt></a> -with <tt>Comb_Hash_Fn</tt> = <a href="direct_mask_range_hashing.html"><tt>direct_mask_range_hashing</tt></a> -, and <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a> - with <tt>Size_Policy</tt> = <a href="hash_exponential_size_policy.html"><tt>hash_exponential_size_policy</tt></a> -, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a> - with <i>α<sub>min</sub></i> = <i>1/8</i> and <i>α<sub>max</sub></i> = <i>1/2</i>, mapping each key to <a href="cc_hash_table.html"><tt>cc_hash_table</tt></a> -with <tt>Comb_Hash_Fn</tt> = <a href="direct_mask_range_hashing.html"><tt>direct_mask_range_hashing</tt></a> -, and <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a> - with <tt>Size_Policy</tt> = <a href="hash_exponential_size_policy.html"><tt>hash_exponential_size_policy</tt></a> -, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a> - with <i>α<sub>min</sub></i> = <i>1/8</i> and <i>α<sub>max</sub></i> = <i>1/2</i></li> -<li> -cc_hash_mask_exp_nea_lc_1div8_1div2_nsth_mmap_lu_mtf_set- -<a href="cc_hash_table.html"><tt>cc_hash_table</tt></a> -with <tt>Comb_Hash_Fn</tt> = <a href="direct_mask_range_hashing.html"><tt>direct_mask_range_hashing</tt></a> -, and <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a> - with <tt>Size_Policy</tt> = <a href="hash_exponential_size_policy.html"><tt>hash_exponential_size_policy</tt></a> -, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a> - with <i>α<sub>min</sub></i> = <i>1/8</i> and <i>α<sub>max</sub></i> = <i>1/2</i>, mapping each key to <a href="list_update.html"><tt>list_update</tt></a> - with <tt>Update_Policy</tt> = <a href="move_to_front_lu_policy.html"><tt>move_to_front_lu_policy</tt></a> -</li> -</ol> -</div><div style="width: 100%; height: 20px"></div></div> -</div> -</div> -</div> -</div> -<div id="NHL_res_div"> -<div id="NHL_local"> -<div id="NHL_multimap_text_insert_mem_usage_test_large_s2p_hash"> -<div id="NHL_assoc"> -<div id="NHL__Native_and_primary_hash-based_multimap_types_mem_usage_test"><div style = "border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NHL" id= "NHL"><img src="multimap_text_insert_mem_usage_test_large_s2p_hash_local.png" alt="no image" /></a></h6>NHL: Native and primary hash-based multimap types mem usage test - <a href = "assoc_performance_tests.html#local">local</a></div><div style = "width: 100%; height: 20px"></div></div> -</div> -</div> -</div> -</div> -<h2><a name="observations" id="observations">Observations</a></h2> -<p>See <a href="assoc_performance_tests.html#msc">Observations::Mapping-Semantics - Considerations</a>.</p> -</div> -</body> -</html> diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_insert_mem_usage_test_large_s2p_hash_gcc.png b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_insert_mem_usage_test_large_s2p_hash_gcc.png Binary files differdeleted file mode 100644 index 51a3f8d61..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_insert_mem_usage_test_large_s2p_hash_gcc.png +++ /dev/null diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_insert_mem_usage_test_large_s2p_hash_local.png b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_insert_mem_usage_test_large_s2p_hash_local.png Binary files differdeleted file mode 100644 index 8af7100c6..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_insert_mem_usage_test_large_s2p_hash_local.png +++ /dev/null diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_insert_mem_usage_test_large_s2p_hash_msvc.png b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_insert_mem_usage_test_large_s2p_hash_msvc.png Binary files differdeleted file mode 100644 index 3a938c0bb..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_insert_mem_usage_test_large_s2p_hash_msvc.png +++ /dev/null diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_insert_mem_usage_test_large_s2p_tree_gcc.png b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_insert_mem_usage_test_large_s2p_tree_gcc.png Binary files differdeleted file mode 100644 index a992d8f7c..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_insert_mem_usage_test_large_s2p_tree_gcc.png +++ /dev/null diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_insert_mem_usage_test_large_s2p_tree_local.png b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_insert_mem_usage_test_large_s2p_tree_local.png Binary files differdeleted file mode 100644 index 63c0c8db7..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_insert_mem_usage_test_large_s2p_tree_local.png +++ /dev/null diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_insert_mem_usage_test_large_s2p_tree_msvc.png b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_insert_mem_usage_test_large_s2p_tree_msvc.png Binary files differdeleted file mode 100644 index 26841bd10..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_insert_mem_usage_test_large_s2p_tree_msvc.png +++ /dev/null diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_insert_mem_usage_test_small.html b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_insert_mem_usage_test_small.html deleted file mode 100644 index 462fce4ca..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_insert_mem_usage_test_small.html +++ /dev/null @@ -1,212 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" - "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> -<head> -<meta name="generator" content="HTML Tidy for Linux/x86 (vers 12 April 2005), see www.w3.org" /> -<title>Hash-List "Multimap" Text Memory Use Test with Small - Average Secondary-Key to Primary-Key Ratio</title> -<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" /> -</head> -<body> -<div id="page"> -<h1>"Multimap" Text Memory Use Test with Small Average - Secondary-Key to Primary-Key Ratio</h1> -<h2><a name="description" id="description">Description</a></h2> -<p>This test inserts a number of pairs into a container. The - first item of each pair is a string from an arbitrary text - [<a href="references.html#wickland96thirty">wickland96thirty</a>], and - the second is a uniform i.i.d.integer. The container is a - "multimap" - it considers the first member of each pair as a - primary key, and the second member of each pair as a secondary - key (see <a href="motivation.html#assoc_mapping_semantics">Motivation::Associative - Containers::Alternative to Multiple Equivalent Keys</a>). There - are 100 distinct primary keys, and the ratio of secondary keys - to primary keys ranges to about 20.</p> -<p>The test measures the memory use as a function of the number - of values inserted.</p> -<p>(The test was executed with <a href="http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/testsuite/performance/ext/pb_ds/multimap_text_insert_mem_usage_small.cc"><tt>multimap_text_insert_mem_usage_test</tt></a> - thirty_years_among_the_dead_preproc.txt 100 3 4 4)</p> -<h2><a name="purpose" id="purpose">Purpose</a></h2> -<p>The test checks the memory scalability of different - "multimap" designs (see <a href="motivation.html#assoc_mapping_semantics">Motivation::Associative - Containers::Mapping Semantics</a>).</p> -<h2><a name="results" id="results">Results</a></h2> -<p>Figures <a href="#NTG">NTG</a>, <a href="#NTM">NTM</a>, and - <a href="#NTL">NTL</a> show the results for "multimaps" which - use a tree-based container for primary keys, in <a href="assoc_performance_tests.html#gcc"><u>g++</u></a>, <a href="assoc_performance_tests.html#msvc"><u>msvc++</u></a>, and - <a href="assoc_performance_tests.html#local"><u>local</u></a>, - respectively; Figures <a href="#NHG"></a>NHG, <a href="#NHM">NHM</a>, and <a href="#NHL">NHL</a> show the results for - "multimaps" which use a hash-based container for primary keys, - in <a href="assoc_performance_tests.html#gcc"><u>g++</u></a>, - <a href="assoc_performance_tests.html#msvc"><u>msvc++</u></a>, - and <a href="assoc_performance_tests.html#local"><u>local</u></a>, - respectively.</p> -<div id="NTG_res_div"> -<div id="NTG_gcc"> -<div id="NTG_multimap_text_insert_mem_usage_test_small_s2p_tree"> -<div id="NTG_assoc"> -<div id="NTG_Native_and_primary_tree-based_multimap_types_mem_usage_test"><div style="border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NTG" id="NTG"><img src="multimap_text_insert_mem_usage_test_small_s2p_tree_gcc.png" alt="no image" /></a></h6>NTG: Native and primary tree-based multimap types mem usage test - <a href="assoc_performance_tests.html#gcc">g++</a><p>In the above figure, the names in the legends have the following meaning:</p> -<ol> -<li> -rb_tree_mmap_cc_hash_mask_exp_nea_lc_1div8_1div2_nsth_set- -<a href="tree.html"><tt>tree</tt></a> - with <tt>Tag</tt> = <a href="rb_tree_tag.html"><tt>rb_tree_tag</tt></a> -, and <tt>Node_Update</tt> = <a href="null_tree_node_update.html"><tt>null_tree_node_update</tt></a> -, mapping each key to <a href="cc_hash_table.html"><tt>cc_hash_table</tt></a> -with <tt>Comb_Hash_Fn</tt> = <a href="direct_mask_range_hashing.html"><tt>direct_mask_range_hashing</tt></a> -, and <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a> - with <tt>Size_Policy</tt> = <a href="hash_exponential_size_policy.html"><tt>hash_exponential_size_policy</tt></a> -, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a> - with <i>α<sub>min</sub></i> = <i>1/8</i> and <i>α<sub>max</sub></i> = <i>1/2</i></li> -<li> -n_mmap- -<tt>std::multimap</tt></li> -<li> -rb_tree_mmap_lu_mtf_set- -<a href="tree.html"><tt>tree</tt></a> - with <tt>Tag</tt> = <a href="rb_tree_tag.html"><tt>rb_tree_tag</tt></a> -, and <tt>Node_Update</tt> = <a href="null_tree_node_update.html"><tt>null_tree_node_update</tt></a> -, mapping each key to <a href="list_update.html"><tt>list_update</tt></a> - with <tt>Update_Policy</tt> = <a href="move_to_front_lu_policy.html"><tt>move_to_front_lu_policy</tt></a> -</li> -</ol> -</div><div style="width: 100%; height: 20px"></div></div> -</div> -</div> -</div> -</div> -<div id="NTM_res_div"> -<div id="NTM_msvc"> -<div id="NTM_multimap_text_insert_mem_usage_test_small_s2p_tree"> -<div id="NTM_assoc"> -<div id="NHM_Native_and_primary_tree-based_multimap_types_mem_usage_test"><div style="border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NTM" id="NTM"><img src="multimap_text_insert_mem_usage_test_small_s2p_tree_msvc.png" alt="no image" /></a></h6>NTM: NHM Native and primary tree-based multimap types mem usage test - <a href="assoc_performance_tests.html#msvc">msvc++</a><p>In the above figure, the names in the legends have the following meaning:</p> -<ol> -<li> -rb_tree_mmap_cc_hash_mask_exp_nea_lc_1div8_1div2_nsth_set- -<a href="tree.html"><tt>tree</tt></a> - with <tt>Tag</tt> = <a href="rb_tree_tag.html"><tt>rb_tree_tag</tt></a> -, and <tt>Node_Update</tt> = <a href="null_tree_node_update.html"><tt>null_tree_node_update</tt></a> -, mapping each key to <a href="cc_hash_table.html"><tt>cc_hash_table</tt></a> -with <tt>Comb_Hash_Fn</tt> = <a href="direct_mask_range_hashing.html"><tt>direct_mask_range_hashing</tt></a> -, and <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a> - with <tt>Size_Policy</tt> = <a href="hash_exponential_size_policy.html"><tt>hash_exponential_size_policy</tt></a> -, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a> - with <i>α<sub>min</sub></i> = <i>1/8</i> and <i>α<sub>max</sub></i> = <i>1/2</i></li> -<li> -n_mmap- -<tt>std::multimap</tt></li> -<li> -rb_tree_mmap_lu_mtf_set- -<a href="tree.html"><tt>tree</tt></a> - with <tt>Tag</tt> = <a href="rb_tree_tag.html"><tt>rb_tree_tag</tt></a> -, and <tt>Node_Update</tt> = <a href="null_tree_node_update.html"><tt>null_tree_node_update</tt></a> -, mapping each key to <a href="list_update.html"><tt>list_update</tt></a> - with <tt>Update_Policy</tt> = <a href="move_to_front_lu_policy.html"><tt>move_to_front_lu_policy</tt></a> -</li> -</ol> -</div><div style="width: 100%; height: 20px"></div></div> -</div> -</div> -</div> -</div> -<div id="NTL_res_div"> -<div id="NTL_local"> -<div id="NTL_multimap_text_insert_mem_usage_test_small_s2p_tree"> -<div id="NTL_assoc"> -<div id="NTL_Native_and_primary_tree-based_multimap_types_mem_usage_test"><div style = "border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NTL" id= "NTL"><img src="multimap_text_insert_mem_usage_test_small_s2p_tree_local.png" alt="no image" /></a></h6>NTL: Native and primary tree-based multimap types mem usage test - <a href = "assoc_performance_tests.html#local">local</a></div><div style = "width: 100%; height: 20px"></div></div> -</div> -</div> -</div> -</div> -<div id="NHG_res_div"> -<div id="NHG_gcc"> -<div id="NHG_multimap_text_insert_mem_usage_test_small_s2p_hash"> -<div id="NHG_assoc"> -<div id="NHG_Native_and_primary_hash-based_multimap_types_mem_usage_test"><div style="border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NHG" id="NHG"><img src="multimap_text_insert_mem_usage_test_small_s2p_hash_gcc.png" alt="no image" /></a></h6>NHG: Native and primary hash-based multimap types mem usage test - <a href="assoc_performance_tests.html#gcc">g++</a><p>In the above figure, the names in the legends have the following meaning:</p> -<ol> -<li> -cc_hash_mask_exp_nea_lc_1div8_1div2_nsth_mmap_cc_hash_mask_exp_nea_lc_1div8_1div2_nsth_set- -<a href="cc_hash_table.html"><tt>cc_hash_table</tt></a> -with <tt>Comb_Hash_Fn</tt> = <a href="direct_mask_range_hashing.html"><tt>direct_mask_range_hashing</tt></a> -, and <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a> - with <tt>Size_Policy</tt> = <a href="hash_exponential_size_policy.html"><tt>hash_exponential_size_policy</tt></a> -, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a> - with <i>α<sub>min</sub></i> = <i>1/8</i> and <i>α<sub>max</sub></i> = <i>1/2</i>, mapping each key to <a href="cc_hash_table.html"><tt>cc_hash_table</tt></a> -with <tt>Comb_Hash_Fn</tt> = <a href="direct_mask_range_hashing.html"><tt>direct_mask_range_hashing</tt></a> -, and <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a> - with <tt>Size_Policy</tt> = <a href="hash_exponential_size_policy.html"><tt>hash_exponential_size_policy</tt></a> -, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a> - with <i>α<sub>min</sub></i> = <i>1/8</i> and <i>α<sub>max</sub></i> = <i>1/2</i></li> -<li> -n_hash_mmap- -<tt>__gnucxx::hash_multimap</tt></li> -<li> -cc_hash_mask_exp_nea_lc_1div8_1div2_nsth_mmap_lu_mtf_set- -<a href="cc_hash_table.html"><tt>cc_hash_table</tt></a> -with <tt>Comb_Hash_Fn</tt> = <a href="direct_mask_range_hashing.html"><tt>direct_mask_range_hashing</tt></a> -, and <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a> - with <tt>Size_Policy</tt> = <a href="hash_exponential_size_policy.html"><tt>hash_exponential_size_policy</tt></a> -, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a> - with <i>α<sub>min</sub></i> = <i>1/8</i> and <i>α<sub>max</sub></i> = <i>1/2</i>, mapping each key to <a href="list_update.html"><tt>list_update</tt></a> - with <tt>Update_Policy</tt> = <a href="move_to_front_lu_policy.html"><tt>move_to_front_lu_policy</tt></a> -</li> -</ol> -</div><div style="width: 100%; height: 20px"></div></div> -</div> -</div> -</div> -</div> -<div id="NHM_res_div"> -<div id="NHM_msvc"> -<div id="NHM_multimap_text_insert_mem_usage_test_small_s2p_hash"> -<div id="NHM_assoc"> -<div id="NHM_Native_and_primary_hash-based_multimap_types_mem_usage_test"><div style="border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NHM" id="NHM"><img src="multimap_text_insert_mem_usage_test_small_s2p_hash_msvc.png" alt="no image" /></a></h6>NHM: Native and primary hash-based multimap types mem usage test - <a href="assoc_performance_tests.html#msvc">msvc++</a><p>In the above figure, the names in the legends have the following meaning:</p> -<ol> -<li> -cc_hash_mask_exp_nea_lc_1div8_1div2_nsth_mmap_cc_hash_mask_exp_nea_lc_1div8_1div2_nsth_set- -<a href="cc_hash_table.html"><tt>cc_hash_table</tt></a> -with <tt>Comb_Hash_Fn</tt> = <a href="direct_mask_range_hashing.html"><tt>direct_mask_range_hashing</tt></a> -, and <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a> - with <tt>Size_Policy</tt> = <a href="hash_exponential_size_policy.html"><tt>hash_exponential_size_policy</tt></a> -, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a> - with <i>α<sub>min</sub></i> = <i>1/8</i> and <i>α<sub>max</sub></i> = <i>1/2</i>, mapping each key to <a href="cc_hash_table.html"><tt>cc_hash_table</tt></a> -with <tt>Comb_Hash_Fn</tt> = <a href="direct_mask_range_hashing.html"><tt>direct_mask_range_hashing</tt></a> -, and <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a> - with <tt>Size_Policy</tt> = <a href="hash_exponential_size_policy.html"><tt>hash_exponential_size_policy</tt></a> -, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a> - with <i>α<sub>min</sub></i> = <i>1/8</i> and <i>α<sub>max</sub></i> = <i>1/2</i></li> -<li> -n_hash_mmap- -<tt>stdext::hash_multimap</tt></li> -<li> -cc_hash_mask_exp_nea_lc_1div8_1div2_nsth_mmap_lu_mtf_set- -<a href="cc_hash_table.html"><tt>cc_hash_table</tt></a> -with <tt>Comb_Hash_Fn</tt> = <a href="direct_mask_range_hashing.html"><tt>direct_mask_range_hashing</tt></a> -, and <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a> - with <tt>Size_Policy</tt> = <a href="hash_exponential_size_policy.html"><tt>hash_exponential_size_policy</tt></a> -, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a> - with <i>α<sub>min</sub></i> = <i>1/8</i> and <i>α<sub>max</sub></i> = <i>1/2</i>, mapping each key to <a href="list_update.html"><tt>list_update</tt></a> - with <tt>Update_Policy</tt> = <a href="move_to_front_lu_policy.html"><tt>move_to_front_lu_policy</tt></a> -</li> -</ol> -</div><div style="width: 100%; height: 20px"></div></div> -</div> -</div> -</div> -</div> -<div id="NHL_res_div"> -<div id="NHL_local"> -<div id="NHL_multimap_text_insert_mem_usage_test_small_s2p_hash"> -<div id="NHL_assoc"> -<div id="NHL__Native_and_primary_hash-based_multimap_types_mem_usage_test"><div style = "border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NHL" id= "NHL"><img src="multimap_text_insert_mem_usage_test_small_s2p_hash_local.png" alt="no image" /></a></h6>NHL: Native and primary hash-based multimap types mem usage test - <a href = "assoc_performance_tests.html#local">local</a></div><div style = "width: 100%; height: 20px"></div></div> -</div> -</div> -</div> -</div> -<h2><a name="observations" id="observations">Observations</a></h2> -<p>See <a href="assoc_performance_tests.html#msc">Observations::Mapping-Semantics - Considerations</a>.</p> -</div> -</body> -</html> diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_insert_mem_usage_test_small_s2p_hash_gcc.png b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_insert_mem_usage_test_small_s2p_hash_gcc.png Binary files differdeleted file mode 100644 index d3eba9da4..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_insert_mem_usage_test_small_s2p_hash_gcc.png +++ /dev/null diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_insert_mem_usage_test_small_s2p_hash_local.png b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_insert_mem_usage_test_small_s2p_hash_local.png Binary files differdeleted file mode 100644 index 589dccdef..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_insert_mem_usage_test_small_s2p_hash_local.png +++ /dev/null diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_insert_mem_usage_test_small_s2p_hash_msvc.png b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_insert_mem_usage_test_small_s2p_hash_msvc.png Binary files differdeleted file mode 100644 index 1828896ee..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_insert_mem_usage_test_small_s2p_hash_msvc.png +++ /dev/null diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_insert_mem_usage_test_small_s2p_tree_gcc.png b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_insert_mem_usage_test_small_s2p_tree_gcc.png Binary files differdeleted file mode 100644 index 9334bc35b..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_insert_mem_usage_test_small_s2p_tree_gcc.png +++ /dev/null diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_insert_mem_usage_test_small_s2p_tree_local.png b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_insert_mem_usage_test_small_s2p_tree_local.png Binary files differdeleted file mode 100644 index d7322f287..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_insert_mem_usage_test_small_s2p_tree_local.png +++ /dev/null diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_insert_mem_usage_test_small_s2p_tree_msvc.png b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_insert_mem_usage_test_small_s2p_tree_msvc.png Binary files differdeleted file mode 100644 index 2f20e57e5..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_insert_mem_usage_test_small_s2p_tree_msvc.png +++ /dev/null diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_insert_timing_test_large.html b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_insert_timing_test_large.html deleted file mode 100644 index b9a2d9952..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_insert_timing_test_large.html +++ /dev/null @@ -1,212 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" - "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> -<head> -<meta name="generator" content="HTML Tidy for Linux/x86 (vers 12 April 2005), see www.w3.org" /> -<title>"Multimap" Text Insert Timing Test with Large Average - Secondary-Key to Primary-Key Ratio</title> -<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" /> -</head> -<body> -<div id="page"> -<h1>"Multimap" Text Insert Timing Test with Large Average - Secondary-Key to Primary-Key Ratio</h1> -<h2><a name="description" id="description">Description</a></h2> -<p>This test inserts a number of pairs into a container. The - first item of each pair is a string from an arbitrary text - [<a href="references.html#wickland96thirty">wickland96thirty</a>], and - the second is a uniform i.i.d.integer. The container is a - "multimap" - it considers the first member of each pair as a - primary key, and the second member of each pair as a secondary - key (see <a href="motivation.html#assoc_mapping_semantics">Motivation::Associative - Containers::Alternative to Multiple Equivalent Keys</a>). There - are 100 distinct primary keys, and the ratio of secondary keys - to primary keys ranges to about 20.</p> -<p>The test measures the memory use as a function of the number - of values inserted.</p> -<p>(The test was executed with <a href="http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/testsuite/performance/ext/pb_ds/multimap_text_insert_mem_usage_large.cc"><tt>multimap_text_insert_mem_usage_test</tt></a> - thirty_years_among_the_dead_preproc.txt 400 1 6 6)</p> -<h2><a name="purpose" id="purpose">Purpose</a></h2> -<p>The test checks the insert-time scalability of different - "multimap" designs (see <a href="motivation.html#assoc_mapping_semantics">Motivation::Associative - Containers::Mapping Semantics</a>).</p> -<h2><a name="results" id="results">Results</a></h2> -<p>Figures <a href="#NTG">NTG</a>, <a href="#NTM">NTM</a>, and - <a href="#NTL">NTL</a> show the results for "multimaps" which - use a tree-based container for primary keys, in <a href="assoc_performance_tests.html#gcc"><u>g++</u></a>, <a href="assoc_performance_tests.html#msvc"><u>msvc++</u></a>, and - <a href="assoc_performance_tests.html#local"><u>local</u></a>, - respectively; Figures <a href="#NHG"></a>NHG, <a href="#NHM">NHM</a>, and <a href="#NHL">NHL</a> show the results for - "multimaps" which use a hash-based container for primary keys, - in <a href="assoc_performance_tests.html#gcc"><u>g++</u></a>, - <a href="assoc_performance_tests.html#msvc"><u>msvc++</u></a>, - and <a href="assoc_performance_tests.html#local"><u>local</u></a>, - respectively.</p> -<div id="NTG_res_div"> -<div id="NTG_gcc"> -<div id="NTG_multimap_text_insert_timing_test_large_s2p_tree"> -<div id="NTG_assoc"> -<div id="NTG_Native_and_primary_tree-based_multimap_types_insert_timing_test"><div style="border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NTG" id="NTG"><img src="multimap_text_insert_timing_test_large_s2p_tree_gcc.png" alt="no image" /></a></h6>NTG: Native and primary tree-based multimap types insert timing test - <a href="assoc_performance_tests.html#gcc">g++</a><p>In the above figure, the names in the legends have the following meaning:</p> -<ol> -<li> -n_mmap- -<tt>std::multimap</tt></li> -<li> -rb_tree_mmap_cc_hash_mask_exp_nea_lc_1div8_1div2_nsth_set- -<a href="tree.html"><tt>tree</tt></a> - with <tt>Tag</tt> = <a href="rb_tree_tag.html"><tt>rb_tree_tag</tt></a> -, and <tt>Node_Update</tt> = <a href="null_tree_node_update.html"><tt>null_tree_node_update</tt></a> -, mapping each key to <a href="cc_hash_table.html"><tt>cc_hash_table</tt></a> -with <tt>Comb_Hash_Fn</tt> = <a href="direct_mask_range_hashing.html"><tt>direct_mask_range_hashing</tt></a> -, and <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a> - with <tt>Size_Policy</tt> = <a href="hash_exponential_size_policy.html"><tt>hash_exponential_size_policy</tt></a> -, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a> - with <i>α<sub>min</sub></i> = <i>1/8</i> and <i>α<sub>max</sub></i> = <i>1/2</i></li> -<li> -rb_tree_mmap_lu_mtf_set- -<a href="tree.html"><tt>tree</tt></a> - with <tt>Tag</tt> = <a href="rb_tree_tag.html"><tt>rb_tree_tag</tt></a> -, and <tt>Node_Update</tt> = <a href="null_tree_node_update.html"><tt>null_tree_node_update</tt></a> -, mapping each key to <a href="list_update.html"><tt>list_update</tt></a> - with <tt>Update_Policy</tt> = <a href="move_to_front_lu_policy.html"><tt>move_to_front_lu_policy</tt></a> -</li> -</ol> -</div><div style="width: 100%; height: 20px"></div></div> -</div> -</div> -</div> -</div> -<div id="NTM_res_div"> -<div id="NTM_msvc"> -<div id="NTM_multimap_text_insert_timing_test_large_s2p_tree"> -<div id="NTM_assoc"> -<div id="NHM_Native_and_primary_tree-based_multimap_types_insert_timing_test"><div style="border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NTM" id="NTM"><img src="multimap_text_insert_timing_test_large_s2p_tree_msvc.png" alt="no image" /></a></h6>NTM: NHM Native and primary tree-based multimap types insert timing test - <a href="assoc_performance_tests.html#msvc">msvc++</a><p>In the above figure, the names in the legends have the following meaning:</p> -<ol> -<li> -rb_tree_mmap_cc_hash_mask_exp_nea_lc_1div8_1div2_nsth_set- -<a href="tree.html"><tt>tree</tt></a> - with <tt>Tag</tt> = <a href="rb_tree_tag.html"><tt>rb_tree_tag</tt></a> -, and <tt>Node_Update</tt> = <a href="null_tree_node_update.html"><tt>null_tree_node_update</tt></a> -, mapping each key to <a href="cc_hash_table.html"><tt>cc_hash_table</tt></a> -with <tt>Comb_Hash_Fn</tt> = <a href="direct_mask_range_hashing.html"><tt>direct_mask_range_hashing</tt></a> -, and <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a> - with <tt>Size_Policy</tt> = <a href="hash_exponential_size_policy.html"><tt>hash_exponential_size_policy</tt></a> -, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a> - with <i>α<sub>min</sub></i> = <i>1/8</i> and <i>α<sub>max</sub></i> = <i>1/2</i></li> -<li> -n_mmap- -<tt>std::multimap</tt></li> -<li> -rb_tree_mmap_lu_mtf_set- -<a href="tree.html"><tt>tree</tt></a> - with <tt>Tag</tt> = <a href="rb_tree_tag.html"><tt>rb_tree_tag</tt></a> -, and <tt>Node_Update</tt> = <a href="null_tree_node_update.html"><tt>null_tree_node_update</tt></a> -, mapping each key to <a href="list_update.html"><tt>list_update</tt></a> - with <tt>Update_Policy</tt> = <a href="move_to_front_lu_policy.html"><tt>move_to_front_lu_policy</tt></a> -</li> -</ol> -</div><div style="width: 100%; height: 20px"></div></div> -</div> -</div> -</div> -</div> -<div id="NTL_res_div"> -<div id="NTL_local"> -<div id="NTL_multimap_text_insert_timing_test_large_s2p_tree"> -<div id="NTL_assoc"> -<div id="NTL_Native_and_primary_tree-based_multimap_types_insert_timing_test"><div style = "border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NTL" id= "NTL"><img src="multimap_text_insert_timing_test_large_s2p_tree_local.png" alt="no image" /></a></h6>NTL: Native and primary tree-based multimap types insert timing test - <a href = "assoc_performance_tests.html#local">local</a></div><div style = "width: 100%; height: 20px"></div></div> -</div> -</div> -</div> -</div> -<div id="NHG_res_div"> -<div id="NHG_gcc"> -<div id="NHG_multimap_text_insert_timing_test_large_s2p_hash"> -<div id="NHG_assoc"> -<div id="NHG_Native_and_primary_hash-based_multimap_types_insert_timing_test"><div style="border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NHG" id="NHG"><img src="multimap_text_insert_timing_test_large_s2p_hash_gcc.png" alt="no image" /></a></h6>NHG: Native and primary hash-based multimap types insert timing test - <a href="assoc_performance_tests.html#gcc">g++</a><p>In the above figure, the names in the legends have the following meaning:</p> -<ol> -<li> -n_hash_mmap- -<tt>__gnucxx::hash_multimap</tt></li> -<li> -cc_hash_mask_exp_nea_lc_1div8_1div2_nsth_mmap_cc_hash_mask_exp_nea_lc_1div8_1div2_nsth_set- -<a href="cc_hash_table.html"><tt>cc_hash_table</tt></a> -with <tt>Comb_Hash_Fn</tt> = <a href="direct_mask_range_hashing.html"><tt>direct_mask_range_hashing</tt></a> -, and <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a> - with <tt>Size_Policy</tt> = <a href="hash_exponential_size_policy.html"><tt>hash_exponential_size_policy</tt></a> -, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a> - with <i>α<sub>min</sub></i> = <i>1/8</i> and <i>α<sub>max</sub></i> = <i>1/2</i>, mapping each key to <a href="cc_hash_table.html"><tt>cc_hash_table</tt></a> -with <tt>Comb_Hash_Fn</tt> = <a href="direct_mask_range_hashing.html"><tt>direct_mask_range_hashing</tt></a> -, and <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a> - with <tt>Size_Policy</tt> = <a href="hash_exponential_size_policy.html"><tt>hash_exponential_size_policy</tt></a> -, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a> - with <i>α<sub>min</sub></i> = <i>1/8</i> and <i>α<sub>max</sub></i> = <i>1/2</i></li> -<li> -cc_hash_mask_exp_nea_lc_1div8_1div2_nsth_mmap_lu_mtf_set- -<a href="cc_hash_table.html"><tt>cc_hash_table</tt></a> -with <tt>Comb_Hash_Fn</tt> = <a href="direct_mask_range_hashing.html"><tt>direct_mask_range_hashing</tt></a> -, and <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a> - with <tt>Size_Policy</tt> = <a href="hash_exponential_size_policy.html"><tt>hash_exponential_size_policy</tt></a> -, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a> - with <i>α<sub>min</sub></i> = <i>1/8</i> and <i>α<sub>max</sub></i> = <i>1/2</i>, mapping each key to <a href="list_update.html"><tt>list_update</tt></a> - with <tt>Update_Policy</tt> = <a href="move_to_front_lu_policy.html"><tt>move_to_front_lu_policy</tt></a> -</li> -</ol> -</div><div style="width: 100%; height: 20px"></div></div> -</div> -</div> -</div> -</div> -<div id="NHM_res_div"> -<div id="NHM_msvc"> -<div id="NHM_multimap_text_insert_timing_test_large_s2p_hash"> -<div id="NHM_assoc"> -<div id="NHM_Native_and_primary_hash-based_multimap_types_insert_timing_test"><div style="border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NHM" id="NHM"><img src="multimap_text_insert_timing_test_large_s2p_hash_msvc.png" alt="no image" /></a></h6>NHM: Native and primary hash-based multimap types insert timing test - <a href="assoc_performance_tests.html#msvc">msvc++</a><p>In the above figure, the names in the legends have the following meaning:</p> -<ol> -<li> -n_hash_mmap- -<tt>stdext::hash_multimap</tt></li> -<li> -cc_hash_mask_exp_nea_lc_1div8_1div2_nsth_mmap_cc_hash_mask_exp_nea_lc_1div8_1div2_nsth_set- -<a href="cc_hash_table.html"><tt>cc_hash_table</tt></a> -with <tt>Comb_Hash_Fn</tt> = <a href="direct_mask_range_hashing.html"><tt>direct_mask_range_hashing</tt></a> -, and <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a> - with <tt>Size_Policy</tt> = <a href="hash_exponential_size_policy.html"><tt>hash_exponential_size_policy</tt></a> -, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a> - with <i>α<sub>min</sub></i> = <i>1/8</i> and <i>α<sub>max</sub></i> = <i>1/2</i>, mapping each key to <a href="cc_hash_table.html"><tt>cc_hash_table</tt></a> -with <tt>Comb_Hash_Fn</tt> = <a href="direct_mask_range_hashing.html"><tt>direct_mask_range_hashing</tt></a> -, and <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a> - with <tt>Size_Policy</tt> = <a href="hash_exponential_size_policy.html"><tt>hash_exponential_size_policy</tt></a> -, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a> - with <i>α<sub>min</sub></i> = <i>1/8</i> and <i>α<sub>max</sub></i> = <i>1/2</i></li> -<li> -cc_hash_mask_exp_nea_lc_1div8_1div2_nsth_mmap_lu_mtf_set- -<a href="cc_hash_table.html"><tt>cc_hash_table</tt></a> -with <tt>Comb_Hash_Fn</tt> = <a href="direct_mask_range_hashing.html"><tt>direct_mask_range_hashing</tt></a> -, and <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a> - with <tt>Size_Policy</tt> = <a href="hash_exponential_size_policy.html"><tt>hash_exponential_size_policy</tt></a> -, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a> - with <i>α<sub>min</sub></i> = <i>1/8</i> and <i>α<sub>max</sub></i> = <i>1/2</i>, mapping each key to <a href="list_update.html"><tt>list_update</tt></a> - with <tt>Update_Policy</tt> = <a href="move_to_front_lu_policy.html"><tt>move_to_front_lu_policy</tt></a> -</li> -</ol> -</div><div style="width: 100%; height: 20px"></div></div> -</div> -</div> -</div> -</div> -<div id="NHL_res_div"> -<div id="NHL_local"> -<div id="NHL_multimap_text_insert_timing_test_large_s2p_hash"> -<div id="NHL_assoc"> -<div id="NHL__Native_and_primary_hash-based_multimap_types_insert_timing_test"><div style = "border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NHL" id= "NHL"><img src="multimap_text_insert_timing_test_large_s2p_hash_local.png" alt="no image" /></a></h6>NHL: Native and primary hash-based multimap types insert timing test - <a href = "assoc_performance_tests.html#local">local</a></div><div style = "width: 100%; height: 20px"></div></div> -</div> -</div> -</div> -</div> -<h2><a name="observations" id="observations">Observations</a></h2> -<p>See <a href="assoc_performance_tests.html#msc">Observations::Mapping-Semantics - Considerations</a>.</p> -</div> -</body> -</html> diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_insert_timing_test_large_s2p_hash_gcc.png b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_insert_timing_test_large_s2p_hash_gcc.png Binary files differdeleted file mode 100644 index 55b0bf467..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_insert_timing_test_large_s2p_hash_gcc.png +++ /dev/null diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_insert_timing_test_large_s2p_hash_local.png b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_insert_timing_test_large_s2p_hash_local.png Binary files differdeleted file mode 100644 index 5f8946008..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_insert_timing_test_large_s2p_hash_local.png +++ /dev/null diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_insert_timing_test_large_s2p_hash_msvc.png b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_insert_timing_test_large_s2p_hash_msvc.png Binary files differdeleted file mode 100644 index 02f5d0b20..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_insert_timing_test_large_s2p_hash_msvc.png +++ /dev/null diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_insert_timing_test_large_s2p_tree_gcc.png b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_insert_timing_test_large_s2p_tree_gcc.png Binary files differdeleted file mode 100644 index 83366eb37..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_insert_timing_test_large_s2p_tree_gcc.png +++ /dev/null diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_insert_timing_test_large_s2p_tree_local.png b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_insert_timing_test_large_s2p_tree_local.png Binary files differdeleted file mode 100644 index 2b496b48d..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_insert_timing_test_large_s2p_tree_local.png +++ /dev/null diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_insert_timing_test_large_s2p_tree_msvc.png b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_insert_timing_test_large_s2p_tree_msvc.png Binary files differdeleted file mode 100644 index 47196bff7..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_insert_timing_test_large_s2p_tree_msvc.png +++ /dev/null diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_insert_timing_test_small.html b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_insert_timing_test_small.html deleted file mode 100644 index cda3629b7..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_insert_timing_test_small.html +++ /dev/null @@ -1,217 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" - "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> -<head> -<meta name="generator" content="HTML Tidy for Linux/x86 (vers 12 April 2005), see www.w3.org" /> -<title>"Multimap" Text Insert Timing Test with Small Average - Secondary-Key to Primary-Key Ratio</title> -<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" /> -</head> -<body> -<div id="page"> -<h1>"Multimap" Text Insert Timing Test with Small Average - Secondary-Key to Primary-Key Ratio</h1> -<h2><a name="description" id="description">Description</a></h2> -<p>This test inserts a number of pairs into a container. The - first item of each pair is a string from an arbitrary text - [<a href="references.html#wickland96thirty">wickland96thirty</a>], and - the second is a uniform i.i.d.integer. The container is a - "multimap" - it considers the first member of each pair as a - primary key, and the second member of each pair as a secondary - key (see <a href="motivation.html#assoc_mapping_semantics">Motivation::Associative - Containers::Alternative to Multiple Equivalent Keys</a>). There - are 400 distinct primary keys, and the ratio of secondary keys - to primary keys ranges from 1 to 5.</p> -<p>The test measures the average insert-time as a function of - the number of values inserted. For <tt>pb_ds</tt>'s containers, - it inserts a primary key into the primary associative - container, then a secondary key into the secondary associative - container. For the native multimaps, it obtains a range using - <tt>std::equal_range</tt>, and inserts a value only if it was - not contained already.</p> -<p>(The test was executed with <a href="http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/testsuite/performance/ext/pb_ds/multimap_text_insert_timing_small.cc"><tt>multimap_text_insert_timing_test</tt></a> - thirty_years_among_the_dead_preproc.txt 400 1 1 6)</p> -<h2><a name="purpose" id="purpose">Purpose</a></h2> -<p>The test checks the insert-time scalability of different - "multimap" designs (see <a href="motivation.html#assoc_mapping_semantics">Motivation::Associative - Containers::Alternative to Multiple Equivalent Keys</a>).</p> -<h2><a name="results" id="results">Results</a></h2> -<p>Figures <a href="#NTG">NTG</a>, <a href="#NTM">NTM</a>, and - <a href="#NTL">NTL</a> show the results for "multimaps" which - use a tree-based container for primary keys, in <a href="assoc_performance_tests.html#gcc"><u>g++</u></a>, <a href="assoc_performance_tests.html#msvc"><u>msvc++</u></a>, and - <a href="assoc_performance_tests.html#local"><u>local</u></a>, - respectively; Figures <a href="#NHG"></a>NHG, <a href="#NHM">NHM</a>, and <a href="#NHL">NHL</a> show the results for - "multimaps" which use a hash-based container for primary keys, - in <a href="assoc_performance_tests.html#gcc"><u>g++</u></a>, - <a href="assoc_performance_tests.html#msvc"><u>msvc++</u></a>, - and <a href="assoc_performance_tests.html#local"><u>local</u></a>, - respectively.</p> -<div id="NTG_res_div"> -<div id="NTG_gcc"> -<div id="NTG_multimap_text_insert_timing_test_small_s2p_tree"> -<div id="NTG_assoc"> -<div id="NTG_Native_and_primary_tree-based_multimap_types_insert_timing_test"><div style="border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NTG" id="NTG"><img src="multimap_text_insert_timing_test_small_s2p_tree_gcc.png" alt="no image" /></a></h6>NTG: Native and primary tree-based multimap types insert timing test - <a href="assoc_performance_tests.html#gcc">g++</a><p>In the above figure, the names in the legends have the following meaning:</p> -<ol> -<li> -n_mmap- -<tt>std::multimap</tt></li> -<li> -rb_tree_mmap_cc_hash_mask_exp_nea_lc_1div8_1div2_nsth_set- -<a href="tree.html"><tt>tree</tt></a> - with <tt>Tag</tt> = <a href="rb_tree_tag.html"><tt>rb_tree_tag</tt></a> -, and <tt>Node_Update</tt> = <a href="null_tree_node_update.html"><tt>null_tree_node_update</tt></a> -, mapping each key to <a href="cc_hash_table.html"><tt>cc_hash_table</tt></a> -with <tt>Comb_Hash_Fn</tt> = <a href="direct_mask_range_hashing.html"><tt>direct_mask_range_hashing</tt></a> -, and <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a> - with <tt>Size_Policy</tt> = <a href="hash_exponential_size_policy.html"><tt>hash_exponential_size_policy</tt></a> -, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a> - with <i>α<sub>min</sub></i> = <i>1/8</i> and <i>α<sub>max</sub></i> = <i>1/2</i></li> -<li> -rb_tree_mmap_lu_mtf_set- -<a href="tree.html"><tt>tree</tt></a> - with <tt>Tag</tt> = <a href="rb_tree_tag.html"><tt>rb_tree_tag</tt></a> -, and <tt>Node_Update</tt> = <a href="null_tree_node_update.html"><tt>null_tree_node_update</tt></a> -, mapping each key to <a href="list_update.html"><tt>list_update</tt></a> - with <tt>Update_Policy</tt> = <a href="move_to_front_lu_policy.html"><tt>move_to_front_lu_policy</tt></a> -</li> -</ol> -</div><div style="width: 100%; height: 20px"></div></div> -</div> -</div> -</div> -</div> -<div id="NTM_res_div"> -<div id="NTM_msvc"> -<div id="NTM_multimap_text_insert_timing_test_small_s2p_tree"> -<div id="NTM_assoc"> -<div id="NHM_Native_and_primary_tree-based_multimap_types_insert_timing_test"><div style="border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NTM" id="NTM"><img src="multimap_text_insert_timing_test_small_s2p_tree_msvc.png" alt="no image" /></a></h6>NTM: NHM Native and primary tree-based multimap types insert timing test - <a href="assoc_performance_tests.html#msvc">msvc++</a><p>In the above figure, the names in the legends have the following meaning:</p> -<ol> -<li> -rb_tree_mmap_cc_hash_mask_exp_nea_lc_1div8_1div2_nsth_set- -<a href="tree.html"><tt>tree</tt></a> - with <tt>Tag</tt> = <a href="rb_tree_tag.html"><tt>rb_tree_tag</tt></a> -, and <tt>Node_Update</tt> = <a href="null_tree_node_update.html"><tt>null_tree_node_update</tt></a> -, mapping each key to <a href="cc_hash_table.html"><tt>cc_hash_table</tt></a> -with <tt>Comb_Hash_Fn</tt> = <a href="direct_mask_range_hashing.html"><tt>direct_mask_range_hashing</tt></a> -, and <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a> - with <tt>Size_Policy</tt> = <a href="hash_exponential_size_policy.html"><tt>hash_exponential_size_policy</tt></a> -, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a> - with <i>α<sub>min</sub></i> = <i>1/8</i> and <i>α<sub>max</sub></i> = <i>1/2</i></li> -<li> -n_mmap- -<tt>std::multimap</tt></li> -<li> -rb_tree_mmap_lu_mtf_set- -<a href="tree.html"><tt>tree</tt></a> - with <tt>Tag</tt> = <a href="rb_tree_tag.html"><tt>rb_tree_tag</tt></a> -, and <tt>Node_Update</tt> = <a href="null_tree_node_update.html"><tt>null_tree_node_update</tt></a> -, mapping each key to <a href="list_update.html"><tt>list_update</tt></a> - with <tt>Update_Policy</tt> = <a href="move_to_front_lu_policy.html"><tt>move_to_front_lu_policy</tt></a> -</li> -</ol> -</div><div style="width: 100%; height: 20px"></div></div> -</div> -</div> -</div> -</div> -<div id="NTL_res_div"> -<div id="NTL_local"> -<div id="NTL_multimap_text_insert_timing_test_small_s2p_tree"> -<div id="NTL_assoc"> -<div id="NTL_Native_and_primary_tree-based_multimap_types_insert_timing_test"><div style = "border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NTL" id= "NTL"><img src="multimap_text_insert_timing_test_small_s2p_tree_local.png" alt="no image" /></a></h6>NTL: Native and primary tree-based multimap types insert timing test - <a href = "assoc_performance_tests.html#local">local</a></div><div style = "width: 100%; height: 20px"></div></div> -</div> -</div> -</div> -</div> -<div id="NHG_res_div"> -<div id="NHG_gcc"> -<div id="NHG_multimap_text_insert_timing_test_small_s2p_hash"> -<div id="NHG_assoc"> -<div id="NHG_Native_and_primary_hash-based_multimap_types_insert_timing_test"><div style="border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NHG" id="NHG"><img src="multimap_text_insert_timing_test_small_s2p_hash_gcc.png" alt="no image" /></a></h6>NHG: Native and primary hash-based multimap types insert timing test - <a href="assoc_performance_tests.html#gcc">g++</a><p>In the above figure, the names in the legends have the following meaning:</p> -<ol> -<li> -n_hash_mmap- -<tt>__gnucxx::hash_multimap</tt></li> -<li> -cc_hash_mask_exp_nea_lc_1div8_1div2_nsth_mmap_cc_hash_mask_exp_nea_lc_1div8_1div2_nsth_set- -<a href="cc_hash_table.html"><tt>cc_hash_table</tt></a> -with <tt>Comb_Hash_Fn</tt> = <a href="direct_mask_range_hashing.html"><tt>direct_mask_range_hashing</tt></a> -, and <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a> - with <tt>Size_Policy</tt> = <a href="hash_exponential_size_policy.html"><tt>hash_exponential_size_policy</tt></a> -, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a> - with <i>α<sub>min</sub></i> = <i>1/8</i> and <i>α<sub>max</sub></i> = <i>1/2</i>, mapping each key to <a href="cc_hash_table.html"><tt>cc_hash_table</tt></a> -with <tt>Comb_Hash_Fn</tt> = <a href="direct_mask_range_hashing.html"><tt>direct_mask_range_hashing</tt></a> -, and <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a> - with <tt>Size_Policy</tt> = <a href="hash_exponential_size_policy.html"><tt>hash_exponential_size_policy</tt></a> -, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a> - with <i>α<sub>min</sub></i> = <i>1/8</i> and <i>α<sub>max</sub></i> = <i>1/2</i></li> -<li> -cc_hash_mask_exp_nea_lc_1div8_1div2_nsth_mmap_lu_mtf_set- -<a href="cc_hash_table.html"><tt>cc_hash_table</tt></a> -with <tt>Comb_Hash_Fn</tt> = <a href="direct_mask_range_hashing.html"><tt>direct_mask_range_hashing</tt></a> -, and <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a> - with <tt>Size_Policy</tt> = <a href="hash_exponential_size_policy.html"><tt>hash_exponential_size_policy</tt></a> -, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a> - with <i>α<sub>min</sub></i> = <i>1/8</i> and <i>α<sub>max</sub></i> = <i>1/2</i>, mapping each key to <a href="list_update.html"><tt>list_update</tt></a> - with <tt>Update_Policy</tt> = <a href="move_to_front_lu_policy.html"><tt>move_to_front_lu_policy</tt></a> -</li> -</ol> -</div><div style="width: 100%; height: 20px"></div></div> -</div> -</div> -</div> -</div> -<div id="NHM_res_div"> -<div id="NHM_msvc"> -<div id="NHM_multimap_text_insert_timing_test_small_s2p_hash"> -<div id="NHM_assoc"> -<div id="NHM_Native_and_primary_hash-based_multimap_types_insert_timing_test"><div style="border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NHM" id="NHM"><img src="multimap_text_insert_timing_test_small_s2p_hash_msvc.png" alt="no image" /></a></h6>NHM: Native and primary hash-based multimap types insert timing test - <a href="assoc_performance_tests.html#msvc">msvc++</a><p>In the above figure, the names in the legends have the following meaning:</p> -<ol> -<li> -cc_hash_mask_exp_nea_lc_1div8_1div2_nsth_mmap_cc_hash_mask_exp_nea_lc_1div8_1div2_nsth_set- -<a href="cc_hash_table.html"><tt>cc_hash_table</tt></a> -with <tt>Comb_Hash_Fn</tt> = <a href="direct_mask_range_hashing.html"><tt>direct_mask_range_hashing</tt></a> -, and <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a> - with <tt>Size_Policy</tt> = <a href="hash_exponential_size_policy.html"><tt>hash_exponential_size_policy</tt></a> -, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a> - with <i>α<sub>min</sub></i> = <i>1/8</i> and <i>α<sub>max</sub></i> = <i>1/2</i>, mapping each key to <a href="cc_hash_table.html"><tt>cc_hash_table</tt></a> -with <tt>Comb_Hash_Fn</tt> = <a href="direct_mask_range_hashing.html"><tt>direct_mask_range_hashing</tt></a> -, and <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a> - with <tt>Size_Policy</tt> = <a href="hash_exponential_size_policy.html"><tt>hash_exponential_size_policy</tt></a> -, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a> - with <i>α<sub>min</sub></i> = <i>1/8</i> and <i>α<sub>max</sub></i> = <i>1/2</i></li> -<li> -n_hash_mmap- -<tt>stdext::hash_multimap</tt></li> -<li> -cc_hash_mask_exp_nea_lc_1div8_1div2_nsth_mmap_lu_mtf_set- -<a href="cc_hash_table.html"><tt>cc_hash_table</tt></a> -with <tt>Comb_Hash_Fn</tt> = <a href="direct_mask_range_hashing.html"><tt>direct_mask_range_hashing</tt></a> -, and <tt>Resize_Policy</tt> = <a href="hash_standard_resize_policy.html"><tt>hash_standard_resize_policy</tt></a> - with <tt>Size_Policy</tt> = <a href="hash_exponential_size_policy.html"><tt>hash_exponential_size_policy</tt></a> -, and <tt>Trigger_Policy</tt> = <a href="hash_load_check_resize_trigger.html"><tt>hash_load_check_resize_trigger</tt></a> - with <i>α<sub>min</sub></i> = <i>1/8</i> and <i>α<sub>max</sub></i> = <i>1/2</i>, mapping each key to <a href="list_update.html"><tt>list_update</tt></a> - with <tt>Update_Policy</tt> = <a href="move_to_front_lu_policy.html"><tt>move_to_front_lu_policy</tt></a> -</li> -</ol> -</div><div style="width: 100%; height: 20px"></div></div> -</div> -</div> -</div> -</div> -<div id="NHL_res_div"> -<div id="NHL_local"> -<div id="NHL_multimap_text_insert_timing_test_small_s2p_hash"> -<div id="NHL_assoc"> -<div id="NHL_Native_and_primary_hash-based_multimap_types_insert_timing_test"><div style = "border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NHL" id= "NHL"><img src="multimap_text_insert_timing_test_small_s2p_hash_local.png" alt="no image" /></a></h6>NHL: Native and primary hash-based multimap types insert timing test - <a href = "assoc_performance_tests.html#local">local</a></div><div style = "width: 100%; height: 20px"></div></div> -</div> -</div> -</div> -</div> -<h2><a name="observations" id="observations">Observations</a></h2> -<p>See <a href="assoc_performance_tests.html#msc">Observations::Mapping-Semantics - Considerations</a>.</p> -</div> -</body> -</html> diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_insert_timing_test_small_s2p_hash_gcc.png b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_insert_timing_test_small_s2p_hash_gcc.png Binary files differdeleted file mode 100644 index 3c2d87ecf..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_insert_timing_test_small_s2p_hash_gcc.png +++ /dev/null diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_insert_timing_test_small_s2p_hash_local.png b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_insert_timing_test_small_s2p_hash_local.png Binary files differdeleted file mode 100644 index 4af78faa5..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_insert_timing_test_small_s2p_hash_local.png +++ /dev/null diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_insert_timing_test_small_s2p_hash_msvc.png b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_insert_timing_test_small_s2p_hash_msvc.png Binary files differdeleted file mode 100644 index 81d583904..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_insert_timing_test_small_s2p_hash_msvc.png +++ /dev/null diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_insert_timing_test_small_s2p_tree_gcc.png b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_insert_timing_test_small_s2p_tree_gcc.png Binary files differdeleted file mode 100644 index 368f07350..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_insert_timing_test_small_s2p_tree_gcc.png +++ /dev/null diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_insert_timing_test_small_s2p_tree_local.png b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_insert_timing_test_small_s2p_tree_local.png Binary files differdeleted file mode 100644 index 40b5b2c43..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_insert_timing_test_small_s2p_tree_local.png +++ /dev/null diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_insert_timing_test_small_s2p_tree_msvc.png b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_insert_timing_test_small_s2p_tree_msvc.png Binary files differdeleted file mode 100644 index 99f2d690f..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/multimap_text_insert_timing_test_small_s2p_tree_msvc.png +++ /dev/null diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/node_invariant_invalidations.png b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/node_invariant_invalidations.png Binary files differdeleted file mode 100644 index bbd91842b..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/node_invariant_invalidations.png +++ /dev/null diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/node_invariants.png b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/node_invariants.png Binary files differdeleted file mode 100644 index b375f5168..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/node_invariants.png +++ /dev/null diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/null_hash_fn.html b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/null_hash_fn.html deleted file mode 100644 index 34f1ee06a..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/null_hash_fn.html +++ /dev/null @@ -1,32 +0,0 @@ -<!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" xml:lang="en" lang="en"> -<head> - <meta name="generator" content= - "HTML Tidy for Linux/x86 (vers 12 April 2005), see www.w3.org" /> - - <title>null_hash_fn Interface</title> - <meta http-equiv="Content-Type" content= - "text/html; charset=us-ascii" /> - </head> - -<body> - <div id="page"> - <h1><tt>null_hash_fn</tt> Interface</h1> - - <p>A "null" hash function, indicating that the combining hash - function is actually a ranged hash function.</p> - - <p><a href= - "concepts.html#concepts_null_policies">Interface::Concepts::Null - Policy Classes</a> explains the concept of a null policy. See - also <a href= - "hash_based_containers.html#hash_policies">Design::Hash-Based - Containers::Hash Policies</a>.</p> - - <p>Defined in: <a href= - "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/include/ext/pb_ds/hash_policy.hpp"><tt>hash_policy.hpp</tt></a></p> - </div> -</body> -</html> diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/null_lu_metadata.html b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/null_lu_metadata.html deleted file mode 100644 index e8fb6a3c8..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/null_lu_metadata.html +++ /dev/null @@ -1,25 +0,0 @@ -<!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" xml:lang="en" lang="en"> -<head> - <meta name="generator" content= - "HTML Tidy for Linux/x86 (vers 12 April 2005), see www.w3.org" /> - - <title>null_lu_metadata Interface</title> - <meta http-equiv="Content-Type" content= - "text/html; charset=us-ascii" /> - </head> - -<body> - <div id="page"> - <h1><tt>null_lu_metadata</tt> Interface</h1> - - <p>A null type that means that each link in a list-based - container does not actually need metadata.</p> - - <p>Defined in: <a href= - "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/include/ext/pb_ds/list_update_policy.hpp"><tt>list_update_policy.hpp</tt></a></p> - </div> -</body> -</html> diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/null_mapped_type.html b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/null_mapped_type.html deleted file mode 100644 index d62fac5c9..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/null_mapped_type.html +++ /dev/null @@ -1,25 +0,0 @@ -<!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" xml:lang="en" lang="en"> -<head> - <meta name="generator" content= - "HTML Tidy for Linux/x86 (vers 12 April 2005), see www.w3.org" /> - - <title>null_mapped_type Interface</title> - <meta http-equiv="Content-Type" content= - "text/html; charset=us-ascii" /> - </head> - -<body> - <div id="page"> - <h1><tt>null_mapped_type</tt> Interface</h1> - - <p>A mapped-policy indicating that an associative container is - a "set"</p> - - <p>Defined in: <a href= - "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/include/ext/pb_ds/tag_and_trait.hpp"><tt>tag_and_trait.hpp</tt></a></p> - </div> -</body> -</html> diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/null_probe_fn.html b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/null_probe_fn.html deleted file mode 100644 index 1c8811e96..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/null_probe_fn.html +++ /dev/null @@ -1,29 +0,0 @@ -<!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" xml:lang="en" lang="en"> -<head> - <meta name="generator" content= - "HTML Tidy for Linux/x86 (vers 12 April 2005), see www.w3.org" /> - - <title>null_probe_fn Interface</title> - <meta http-equiv="Content-Type" content= - "text/html; charset=us-ascii" /> - </head> - -<body> - <div id="page"> - <h1><tt>null_probe_fn</tt> Interface</h1> - - <p>A "null" probe function, indicating that the combining probe - function is actually a ranged probe function.</p> - - <p><a href= - "concepts.html#concepts_null_policies">Interface::Concepts::Null - Policy Classes</a> explains the concept of a null policy.</p> - - <p>Defined in: <a href= - "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/include/ext/pb_ds/hash_policy.hpp"><tt>hash_policy.hpp</tt></a></p> - </div> -</body> -</html> diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/null_tree_node_update.html b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/null_tree_node_update.html deleted file mode 100644 index cc1c90054..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/null_tree_node_update.html +++ /dev/null @@ -1,101 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" - "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> -<head> - <meta name="generator" content= - "HTML Tidy for Linux/x86 (vers 12 April 2005), see www.w3.org" /> - - <title>null_tree_node_update Interface</title> - <meta http-equiv="Content-Type" content= - "text/html; charset=us-ascii" /> - </head> - -<body> - <div id="page"> - <h1><tt>null_tree_node_update</tt> Interface</h1> - - <p>A "null" node updater, indicating that no node updates are - required.</p> - - <p><a href= - "concepts.html#concepts_null_policies">Interface::Concepts::Null - Policy Classes</a> explains the concept of a null policy.</p> - - <p>Defined in: <a href= - "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/include/ext/pb_ds/tree_policy.hpp"><tt>tree_policy.hpp</tt></a></p> - - <h2><a name="link1" id="link1">Template Parameters</a></h2> - - <table class="c1" width="100%" border="1" summary= - "Template Parameters"> - <tr> - <td width="20%" align="left"><b>Parameter</b></td> - - <td width="50%" align="left"><b>Description</b></td> - - <td width="30%" align="left"><b>Default Value</b></td> - </tr> - - <tr> - <td> - <pre> -<a name="Const_Node_Iterator1933878761" id= -"Const_Node_Iterator1933878761"><b>class</b> Const_Node_Iterator</a> -</pre> - </td> - - <td> - <p>Const node iterator type.</p> - </td> - - <td>-</td> - </tr> - - <tr> - <td> - <pre> -<a name="Node_Iterator4206909839" id= -"Node_Iterator4206909839"><b>class</b> Node_Iterator</a> -</pre> - </td> - - <td> - <p>Node iterator type.</p> - </td> - - <td>-</td> - </tr> - - <tr> - <td> - <pre> -<a name="Cmp_Fn294335" id="Cmp_Fn294335"><b>class</b> Cmp_Fn</a> -</pre> - </td> - - <td> - <p>Comparison functor.</p> - </td> - - <td>-</td> - </tr> - - <tr> - <td> - <pre> -<a name="Allocator35940069" id= -"Allocator35940069"><b>class</b> Allocator</a> -</pre> - </td> - - <td> - <p>Allocator type.</p> - </td> - - <td>-</td> - </tr> - </table> - </div> -</body> -</html> diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/null_trie_node_update.html b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/null_trie_node_update.html deleted file mode 100644 index 18ea00739..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/null_trie_node_update.html +++ /dev/null @@ -1,102 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" - "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> -<head> - <meta name="generator" content= - "HTML Tidy for Linux/x86 (vers 12 April 2005), see www.w3.org" /> - - <title>null_trie_node_update Interface</title> - <meta http-equiv="Content-Type" content= - "text/html; charset=us-ascii" /> - </head> - -<body> - <div id="page"> - <h1><tt>null_trie_node_update</tt> Interface</h1> - - <p>A "null" node updater, indicating that no node updates are - required.</p> - - <p><a href= - "concepts.html#concepts_null_policies">Interface::Concepts::Null - Policy Classes</a> explains the concept of a null policy.</p> - - <p>Defined in: <a href= - "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/include/ext/pb_ds/trie_policy.hpp"><tt>trie_policy.hpp</tt></a></p> - - <h2><a name="link1" id="link1">Template Parameters</a></h2> - - <table class="c1" width="100%" border="1" summary= - "Template Parameters"> - <tr> - <td width="20%" align="left"><b>Parameter</b></td> - - <td width="50%" align="left"><b>Description</b></td> - - <td width="30%" align="left"><b>Default Value</b></td> - </tr> - - <tr> - <td> - <pre> -<a name="Const_Node_Iterator1933878761" id= -"Const_Node_Iterator1933878761"><b>class</b> Const_Node_Iterator</a> -</pre> - </td> - - <td> - <p>Const node iterator type.</p> - </td> - - <td>-</td> - </tr> - - <tr> - <td> - <pre> -<a name="Node_Iterator4206909839" id= -"Node_Iterator4206909839"><b>class</b> Node_Iterator</a> -</pre> - </td> - - <td> - <p>Node iterator type.</p> - </td> - - <td>-</td> - </tr> - - <tr> - <td> - <pre> -<a name="E_Access_Traits686553840" id= -"E_Access_Traits686553840"><b>class</b> E_Access_Traits</a> -</pre> - </td> - - <td> - <p>Comparison functor.</p> - </td> - - <td>-</td> - </tr> - - <tr> - <td> - <pre> -<a name="Allocator35940069" id= -"Allocator35940069"><b>class</b> Allocator</a> -</pre> - </td> - - <td> - <p>Allocator type.</p> - </td> - - <td>-</td> - </tr> - </table> - </div> -</body> -</html> diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/ov_tree_tag.html b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/ov_tree_tag.html deleted file mode 100644 index 01d7f9082..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/ov_tree_tag.html +++ /dev/null @@ -1,47 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" - "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> -<head> - <meta name="generator" content= - "HTML Tidy for Linux/x86 (vers 12 April 2005), see www.w3.org" /> - - <title>ov_tree_tag Interface</title> - <meta http-equiv="Content-Type" content= - "text/html; charset=us-ascii" /> - </head> - -<body> - <div id="page"> - <h1><tt>ov_tree_tag</tt> Interface</h1> - - <p>Ordered-vector tree data structure tag.</p> - - <p>Defined in: <a href= - "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/include/ext/pb_ds/tag_and_trait.hpp"><tt>tag_and_trait.hpp</tt></a></p> - - <h2><a name="link1" id="link1">Base Classes</a></h2> - - <table class="c1" width="100%" border="1" summary="Bases"> - <tr> - <td width="80%" align="left"><b>Class</b></td> - - <td width="20%" align="left"><b>Derivation Type</b></td> - </tr> - - <tr> - <td> - <pre> -<a href="tree_tag.html"><span class= -"c2"><tt>tree_tag</tt></span></a> -</pre> - </td> - - <td> - <p>public</p> - </td> - </tr> - </table> - </div> -</body> -</html> diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/pairing_heap_tag.html b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/pairing_heap_tag.html deleted file mode 100644 index 5901d1a88..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/pairing_heap_tag.html +++ /dev/null @@ -1,47 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" - "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> -<head> - <meta name="generator" content= - "HTML Tidy for Linux/x86 (vers 12 April 2005), see www.w3.org" /> - - <title>pairing_heap_tag Interface</title> - <meta http-equiv="Content-Type" content= - "text/html; charset=us-ascii" /> - </head> - -<body> - <div id="page"> - <h1><tt>pairing_heap_tag</tt> Interface</h1> - - <p>Pairing-heap data structure tag.</p> - - <p>Defined in: <a href= - "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/include/ext/pb_ds/tag_and_trait.hpp"><tt>tag_and_trait.hpp</tt></a></p> - - <h2><a name="link1" id="link1">Base Classes</a></h2> - - <table class="c1" width="100%" border="1" summary="Bases"> - <tr> - <td width="80%" align="left"><b>Class</b></td> - - <td width="20%" align="left"><b>Derivation Type</b></td> - </tr> - - <tr> - <td> - <pre> -<a href="priority_queue_tag.html"><span class= -"c2"><tt>priority_queue_tag</tt></span></a> -</pre> - </td> - - <td> - <p>public</p> - </td> - </tr> - </table> - </div> -</body> -</html> diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/pairing_priority_queue_text_push_pop_timing_test_gcc.png b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/pairing_priority_queue_text_push_pop_timing_test_gcc.png Binary files differdeleted file mode 100644 index 4168787ec..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/pairing_priority_queue_text_push_pop_timing_test_gcc.png +++ /dev/null diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/pairing_priority_queue_text_push_pop_timing_test_local.png b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/pairing_priority_queue_text_push_pop_timing_test_local.png Binary files differdeleted file mode 100644 index 97ca4e9da..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/pairing_priority_queue_text_push_pop_timing_test_local.png +++ /dev/null diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/pairing_priority_queue_text_push_pop_timing_test_msvc.png b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/pairing_priority_queue_text_push_pop_timing_test_msvc.png Binary files differdeleted file mode 100644 index 42b707965..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/pairing_priority_queue_text_push_pop_timing_test_msvc.png +++ /dev/null diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/pairing_priority_queue_text_push_timing_test_gcc.png b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/pairing_priority_queue_text_push_timing_test_gcc.png Binary files differdeleted file mode 100644 index 9a7ce6c36..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/pairing_priority_queue_text_push_timing_test_gcc.png +++ /dev/null diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/pairing_priority_queue_text_push_timing_test_local.png b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/pairing_priority_queue_text_push_timing_test_local.png Binary files differdeleted file mode 100644 index cedcb4cf4..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/pairing_priority_queue_text_push_timing_test_local.png +++ /dev/null diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/pairing_priority_queue_text_push_timing_test_msvc.png b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/pairing_priority_queue_text_push_timing_test_msvc.png Binary files differdeleted file mode 100644 index d5488efcf..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/pairing_priority_queue_text_push_timing_test_msvc.png +++ /dev/null diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/pat_trie.png b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/pat_trie.png Binary files differdeleted file mode 100644 index e7129a1a6..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/pat_trie.png +++ /dev/null diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/pat_trie_tag.html b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/pat_trie_tag.html deleted file mode 100644 index 2e9a32c91..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/pat_trie_tag.html +++ /dev/null @@ -1,47 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" - "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> -<head> - <meta name="generator" content= - "HTML Tidy for Linux/x86 (vers 12 April 2005), see www.w3.org" /> - - <title>pat_trie_tag Interface</title> - <meta http-equiv="Content-Type" content= - "text/html; charset=us-ascii" /> - </head> - -<body> - <div id="page"> - <h1><tt>pat_trie_tag</tt> Interface</h1> - - <p>PATRICIA trie data structure tag.</p> - - <p>Defined in: <a href= - "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/include/ext/pb_ds/tag_and_trait.hpp"><tt>tag_and_trait.hpp</tt></a></p> - - <h2><a name="link1" id="link1">Base Classes</a></h2> - - <table class="c1" width="100%" border="1" summary="Bases"> - <tr> - <td width="80%" align="left"><b>Class</b></td> - - <td width="20%" align="left"><b>Derivation Type</b></td> - </tr> - - <tr> - <td> - <pre> -<a href="tree_tag.html"><span class= -"c2"><tt>tree_tag</tt></span></a> -</pre> - </td> - - <td> - <p>public</p> - </td> - </tr> - </table> - </div> -</body> -</html> diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/point_invalidation_guarantee.html b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/point_invalidation_guarantee.html deleted file mode 100644 index f67722169..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/point_invalidation_guarantee.html +++ /dev/null @@ -1,51 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" - "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> -<head> - <meta name="generator" content= - "HTML Tidy for Linux/x86 (vers 12 April 2005), see www.w3.org" /> - - <title>point_invalidation_guarantee Interface</title> - <meta http-equiv="Content-Type" content= - "text/html; charset=us-ascii" /> - </head> - -<body> - <div id="page"> - <h1><tt>point_invalidation_guarantee</tt> Interface</h1> - - <p>Signifies an invalidation guarantee that includes all those - of its base, and additionally, that any point-type iterator, - pointer, or reference to a container object's mapped value type - is valid as long as its corresponding entry has not be erased, - regardless of modifications to the container object.</p> - - <p>Defined in: <a href= - "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/include/ext/pb_ds/tag_and_trait.hpp"><tt>tag_and_trait.hpp</tt></a></p> - - <h2><a name="link1" id="link1">Base Classes</a></h2> - - <table class="c1" width="100%" border="1" summary="Bases"> - <tr> - <td width="80%" align="left"><b>Class</b></td> - - <td width="20%" align="left"><b>Derivation Type</b></td> - </tr> - - <tr> - <td> - <pre> -<a href="basic_invalidation_guarantee.html"><span class= -"c2"><tt>basic_invalidation_guarantee</tt></span></a> -</pre> - </td> - - <td> - <p>public</p> - </td> - </tr> - </table> - </div> -</body> -</html> diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/point_iterators_cd.png b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/point_iterators_cd.png Binary files differdeleted file mode 100644 index 25a69fc6e..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/point_iterators_cd.png +++ /dev/null diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/point_iterators_range_ops_1.png b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/point_iterators_range_ops_1.png Binary files differdeleted file mode 100644 index c5bc8e5d6..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/point_iterators_range_ops_1.png +++ /dev/null diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/point_iterators_range_ops_2.png b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/point_iterators_range_ops_2.png Binary files differdeleted file mode 100644 index c3f94ee93..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/point_iterators_range_ops_2.png +++ /dev/null diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/pq_container_traits.html b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/pq_container_traits.html deleted file mode 100644 index dcd995f5f..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/pq_container_traits.html +++ /dev/null @@ -1,132 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" - "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> -<head> - <meta name="generator" content= - "HTML Tidy for Linux/x86 (vers 12 April 2005), see www.w3.org" /> - - <title>container_traits Interface</title> - <meta http-equiv="Content-Type" content= - "text/html; charset=us-ascii" /> - </head> - -<body> - <div id="page"> - <h1><tt>container_traits</tt> Interface</h1> - - <p>Traits of a priority-queue container based on its underlying - data structure.</p> - - <p>Defined in: <a href= - "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/include/ext/pb_ds/tag_and_trait.hpp"><tt>tag_and_trait.hpp</tt></a></p> - - <h2><a name="link1" id="link1">Template Parameters</a></h2> - - <table class="c1" width="100%" border="1" summary= - "Template Parameters"> - <tr> - <td width="20%" align="left"><b>Parameter</b></td> - - <td width="50%" align="left"><b>Description</b></td> - - <td width="30%" align="left"><b>Default Value</b></td> - </tr> - - <tr> - <td> - <pre> -<a name="Cntnr59189" id="Cntnr59189"><b>class</b> Cntnr</a> -</pre> - </td> - - <td> - <p>Container type.</p> - </td> - - <td>-</td> - </tr> - </table> - - <h2><a name="link2" id="link2">Public Types and - Constants</a></h2> - - <h3><a name="link3" id="link3">Container Attributes</a></h3> - - <table class="c1" width="100%" border="1" summary="Types"> - <tr> - <td width="30%" align="left"><b>Type</b></td> - - <td width="55%" align="left"><b>Definition</b></td> - - <td width="15%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -<a name="container_category1247973216" id= -"container_category1247973216">container_category</a> -</pre> - </td> - - <td> - <pre> -Underlying data structure. -</pre> - </td> - - <td> - <p>Data structure category.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<a name="invalidation_guarantee3793555937" id= -"invalidation_guarantee3793555937">invalidation_guarantee</a> -</pre> - </td> - - <td> - <pre> -Invalidation guarantee. -</pre> - </td> - - <td> - <p>Invalidation-guarantee type.</p> - - <p>This is either <a href= - "basic_invalidation_guarantee.html"><span class= - "c2"><tt>basic_invalidation_guarantee</tt></span></a>, - <a href="point_invalidation_guarantee.html"><span class= - "c2"><tt>point_invalidation_guarantee</tt></span></a>, or - <a href="range_invalidation_guarantee.html"><span class= - "c2"><tt>range_invalidation_guarantee</tt></span></a></p> - </td> - </tr> - - <tr> - <td> - <pre> -<a name="split_join_can_throw3200477759" id= -"split_join_can_throw3200477759">split_join_can_throw</a> -</pre> - </td> - - <td> - <pre> -True only if split or join operations can throw. -</pre> - </td> - - <td> - <p>Split-join throw indicator.</p> - </td> - </tr> - </table> - </div> -</body> -</html> diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/pq_design.html b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/pq_design.html deleted file mode 100644 index 959560045..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/pq_design.html +++ /dev/null @@ -1,381 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" - "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> -<head> - <meta name="generator" content= - "HTML Tidy for Linux/x86 (vers 12 April 2005), see www.w3.org" /> - - <title>Priority-Queues</title> - <meta http-equiv="Content-Type" content= - "text/html; charset=us-ascii" /> - </head> - -<body> - <div id="page"> - <h1>Priority-Queue Design</h1> - - <h2><a name="overview" id="overview">Overview</a></h2> - - <p>The priority-queue container has the following - declaration:</p> - <pre> -<b>template</b>< - <b>typename</b> Value_Type, - <b>typename</b> Cmp_Fn = std::less<Value_Type>, - <b>typename</b> Tag = <a href="pairing_heap_tag.html">pairing_heap_tag</a>, - <b>typename</b> Allocator = std::allocator<<b>char</b>> > -<b>class</b> <a href="priority_queue.html">priority_queue</a>; -</pre> - - <p>The parameters have the following meaning:</p> - - <ol> - <li><tt>Value_Type</tt> is the value type.</li> - - <li><tt>Cmp_Fn</tt> is a value comparison functor</li> - - <li><tt>Tag</tt> specifies which underlying data structure - to use.</li> - - <li><tt>Allocator</tt> is an allocator - type.</li> - </ol> - - <p>The <tt>Tag</tt> parameter specifies which underlying - data structure to use. Instantiating it by <a href= - "pairing_heap_tag.html"><tt>pairing_heap_tag</tt></a>, - <a href= - "binary_heap_tag.html"><tt>binary_heap_tag</tt></a>, - <a href= - "binomial_heap_tag.html"><tt>binomial_heap_tag</tt></a>, - <a href= - "rc_binomial_heap_tag.html"><tt>rc_binomial_heap_tag</tt></a>, - or <a href= - "thin_heap_tag.html"><tt>thin_heap_tag</tt></a>, - specifies, respectively, an underlying pairing heap [<a href= - "references.html#fredman86pairing">fredman86pairing</a>], - binary heap [<a href="references.html#clrs2001">clrs2001</a>], - binomial heap [<a href= - "references.html#clrs2001">clrs2001</a>], a binomial heap with - a redundant binary counter [<a href= - "references.html#maverik_lowerbounds">maverik_lowerbounds</a>], - or a thin heap [<a href= - "references.html#kt99fat_heaps">kt99fat_heas</a>]. These are - explained further in <a href="#pq_imp">Implementations</a>.</p> - - <p>As mentioned in <a href= - "tutorial.html#pq">Tutorial::Priority Queues</a>, - <a href= - "priority_queue.html"><tt>__gnu_pbds::priority_queue</tt></a> - shares most of the same interface with <tt>std::priority_queue</tt>. - <i>E.g.</i> if <tt>q</tt> is a priority queue of type - <tt>Q</tt>, then <tt>q.top()</tt> will return the "largest" - value in the container (according to <tt><b>typename</b> - Q::cmp_fn</tt>). <a href= - "priority_queue.html"><tt>__gnu_pbds::priority_queue</tt></a> - has a larger (and very slightly different) interface than - <tt>std::priority_queue</tt>, however, since typically - <tt>push</tt> and <tt>pop</tt> are deemed insufficient for - manipulating priority-queues. </p> - - <p>Different settings require different priority-queue - implementations which are described in <a href= - "#pq_imp">Implementations</a>; <a href="#pq_traits">Traits</a> - discusses ways to differentiate between the different traits of - different implementations.</p> - - <h2><a name="pq_it" id="pq_it">Iterators</a></h2> - - <p>There are many different underlying-data structures for - implementing priority queues. Unfortunately, most such - structures are oriented towards making <tt>push</tt> and - <tt>top</tt> efficient, and consequently don't allow efficient - access of other elements: for instance, they cannot support an efficient - <tt>find</tt> method. In the use case where it - is important to both access and "do something with" an - arbitrary value, one would be out of luck. For example, many graph algorithms require - modifying a value (typically increasing it in the sense of the - priority queue's comparison functor).</p> - - <p>In order to access and manipulate an arbitrary value in a - priority queue, one needs to reference the internals of the - priority queue from some form of an associative container - - this is unavoidable. Of course, in order to maintain the - encapsulation of the priority queue, this needs to be done in a - way that minimizes exposure to implementation internals.</p> - - <p>In <tt>pb_ds</tt> the priority queue's <tt>insert</tt> - method returns an iterator, which if valid can be used for subsequent <tt>modify</tt> and - <tt>erase</tt> operations. This both preserves the priority - queue's encapsulation, and allows accessing arbitrary values (since the - returned iterators from the <tt>push</tt> operation can be - stored in some form of associative container).</p> - - <p>Priority queues' iterators present a problem regarding their - invalidation guarantees. One assumes that calling - <tt><b>operator</b>++</tt> on an iterator will associate it - with the "next" value. Priority-queues are - self-organizing: each operation changes what the "next" value - means. Consequently, it does not make sense that <tt>push</tt> - will return an iterator that can be incremented - this can have - no possible use. Also, as in the case of hash-based containers, - it is awkward to define if a subsequent <tt>push</tt> operation - invalidates a prior returned iterator: it invalidates it in the - sense that its "next" value is not related to what it - previously considered to be its "next" value. However, it might not - invalidate it, in the sense that it can be - de-referenced and used for <tt>modify</tt> and <tt>erase</tt> - operations.</p> - - <p>Similarly to the case of the other unordered associative - containers, <tt>pb_ds</tt> uses a distinction between - point-type and range type iterators. A priority queue's <tt>iterator</tt> can always be - converted to a <tt>point_iterator</tt>, and a - <tt>const_iterator</tt> can always be converted to a - <tt>const_point_iterator</tt>.</p> - - <p>The following snippet demonstrates manipulating an arbitrary - value:</p> - <pre> -<i>// A priority queue of integers.</i> -<a href= -"priority_queue.html">priority_queue</a><<b>int</b>> p; - -<i>// Insert some values into the priority queue.</i> -<a href= -"priority_queue.html">priority_queue</a><<b>int</b>>::point_iterator it = p.push(0); - -p.push(1); -p.push(2); - -<i>// Now modify a value.</i> -p.modify(it, 3); - -assert(p.top() == 3); -</pre> - - <p>(<a href="pq_examples.html#xref">Priority Queue - Examples::Cross-Referencing</a> shows a more detailed - example.)</p> - - <p>It should be noted that an alternative design could embed an - associative container in a priority queue. Could, but most probably should not. To begin with, it should be noted that one - could always encapsulate a priority queue and an associative - container mapping values to priority queue iterators with no - performance loss. One cannot, however, "un-encapsulate" a - priority queue embedding an associative container, which might - lead to performance loss. Assume, that one needs to - associate each value with some data unrelated to priority - queues. Then using <tt>pb_ds</tt>'s design, one could use an - associative container mapping each value to a pair consisting - of this data and a priority queue's iterator. Using the - embedded method would need to use two associative - containers. Similar problems might arise in cases where a value - can reside simultaneously in many priority queues.</p> - - <h2><a name="pq_imp" id="pq_imp">Implementations</a></h2> - - <p>There are three main implementations of priority queues: the - first employs a binary heap, typically one which uses a - sequence; the second uses a tree (or forest of trees), which is - typically less structured than an associative container's tree; - the third simply uses an associative container. These are - shown, respectively, in Figures <a href= - "#pq_different_underlying_dss">Underlying Priority-Queue - Data-Structures</a> A1 and A2, Figure <a href= - "#pq_different_underlying_dss">Underlying Priority-Queue - Data-Structures</a> B, and Figures <a href= - "#pq_different_underlying_dss">Underlying Priority-Queue - Data-Structures</a> C.</p> - - <h6 class="c1"><a name="pq_different_underlying_dss" id= - "pq_different_underlying_dss"><img src= - "pq_different_underlying_dss.png" alt="no image" /></a></h6> - - <h6 class="c1">Underlying Priority-Queue Data-Structures.</h6> - - <p>Roughly speaking, any value that is both pushed and popped - from a priority queue must incur a logarithmic expense (in the - amortized sense). Any priority queue implementation that would - avoid this, would violate known bounds on comparison-based - sorting (see, <i>e.g.</i>, [<a href= - "references.html#clrs2001">clrs2001</a>] and <a href= - "references.html#brodal96priority">brodal96priority</a>]).</p> - - <p>Most implementations do - not differ in the asymptotic amortized complexity of - <tt>push</tt> and <tt>pop</tt> operations, but they differ in - the constants involved, in the complexity of other operations - (<i>e.g.</i>, <tt>modify</tt>), and in the worst-case - complexity of single operations. In general, the more - "structured" an implementation (<i>i.e.</i>, the more internal - invariants it possesses) - the higher its amortized complexity - of <tt>push</tt> and <tt>pop</tt> operations.</p> - - <p><tt>pb_ds</tt> implements different algorithms using a - single class: <a href="priority_queue.html">priority_queue</a>. - Instantiating the <tt>Tag</tt> template parameter, "selects" - the implementation:</p> - - <ol> - <li>Instantiating <tt>Tag = <a href= - "binary_heap_tag.html">binary_heap_tag</a></tt> creates - a binary heap of the form in Figures <a href= - "#pq_different_underlying_dss">Underlying Priority-Queue - Data-Structures</a> A1 or A2. The former is internally - selected by <a href="priority_queue.html">priority_queue</a> - if <tt>Value_Type</tt> is instantiated by a primitive type - (<i>e.g.</i>, an <tt><b>int</b></tt>); the latter is - internally selected for all other types (<i>e.g.</i>, - <tt>std::string</tt>). This implementations is relatively - unstructured, and so has good <tt>push</tt> and <tt>pop</tt> - performance; it is the "best-in-kind" for primitive - types, <i>e.g.</i>, <tt><b>int</b></tt>s. Conversely, it has - high worst-case performance, and can support only linear-time - <tt>modify</tt> and <tt>erase</tt> operations; this is - explained further in <a href="#pq_traits">Traits</a>.</li> - - <li>Instantiating <tt>Tag = <a href= - "pairing_heap_tag.html">pairing_heap_tag</a></tt> - creates a pairing heap of the form in Figure <a href= - "#pq_different_underlying_dss">Underlying Priority-Queue - Data-Structures</a> B. This implementations too is relatively - unstructured, and so has good <tt>push</tt> and <tt>pop</tt> - performance; it is the "best-in-kind" for non-primitive - types, <i>e.g.</i>, <tt>std:string</tt>s. It also has very - good worst-case <tt>push</tt> and <tt>join</tt> performance - (<i>O(1)</i>), but has high worst-case <tt>pop</tt> - complexity.</li> - - <li>Instantiating <tt>Tag = <a href= - "binomial_heap_tag.html">binomial_heap_tag</a></tt> - creates a binomial heap of the form in Figure <a href= - "#pq_different_underlying_dss">Underlying Priority-Queue - Data-Structures</a> B. This implementations is more - structured than a pairing heap, and so has worse - <tt>push</tt> and <tt>pop</tt> performance. Conversely, it - has sub-linear worst-case bounds for <tt>pop</tt>, - <i>e.g.</i>, and so it might be preferred in cases where - responsiveness is important.</li> - - <li>Instantiating <tt>Tag = <a href= - "rc_binomial_heap_tag.html">rc_binomial_heap_tag</a></tt> - creates a binomial heap of the form in Figure <a href= - "#pq_different_underlying_dss">Underlying Priority-Queue - Data-Structures</a> B, accompanied by a redundant counter - which governs the trees. This implementations is therefore - more structured than a binomial heap, and so has worse - <tt>push</tt> and <tt>pop</tt> performance. Conversely, it - guarantees <i>O(1)</i> <tt>push</tt> complexity, and so it - might be preferred in cases where the responsiveness of a - binomial heap is insufficient.</li> - - <li>Instantiating <tt>Tag = <a href= - "thin_heap_tag.html">thin_heap_tag</a></tt> creates a - thin heap of the form in Figure <a href= - "#pq_different_underlying_dss">Underlying Priority-Queue - Data-Structures</a> B. This implementations too is more - structured than a pairing heap, and so has worse - <tt>push</tt> and <tt>pop</tt> performance. Conversely, it - has better worst-case and identical amortized complexities - than a Fibonacci heap, and so might be more appropriate for - some graph algorithms.</li> - </ol> - - <p><a href="pq_performance_tests.html">Priority-Queue - Performance Tests</a> shows some results for the above, and - discusses these points further.</p> - - <p>Of course, one can use any order-preserving associative - container as a priority queue, as in Figure <a href= - "#pq_different_underlying_dss">Underlying Priority-Queue - Data-Structures</a> C, possibly by creating an adapter class - over the associative container (much as - <tt>std::priority_queue</tt> can adapt <tt>std::vector</tt>). - This has the advantage that no cross-referencing is necessary - at all; the priority queue itself is an associative container. - Most associative containers are too structured to compete with - priority queues in terms of <tt>push</tt> and <tt>pop</tt> - performance.</p> - - <h2><a name="pq_traits" id="pq_traits">Traits</a></h2> - - <p>It would be nice if all priority queues could - share exactly the same behavior regardless of implementation. Sadly, this is not possible. Just one for instance is in join operations: joining - two binary heaps might throw an exception (not corrupt - any of the heaps on which it operates), but joining two pairing - heaps is exception free.</p> - - <p>Tags and traits are very useful for manipulating generic - types. <a href= - "priority_queue.html"><tt>__gnu_pbds::priority_queue</tt></a> - publicly defines <tt>container_category</tt> as one of the tags - discussed in <a href="#pq_imp">Implementations</a>. Given any - container <tt>Cntnr</tt>, the tag of the underlying - data structure can be found via <tt><b>typename</b> - Cntnr::container_category</tt>; this is one of the types shown in - Figure <a href="#pq_tag_cd">Data-structure tag class - hierarchy</a>.</p> - - <h6 class="c1"><a name="pq_tag_cd" id= - "pq_tag_cd"><img src="priority_queue_tag_cd.png" alt= - "no image" /></a></h6> - - <h6 class="c1">Data-structure tag class hierarchy.</h6> - - <p>Additionally, a traits mechanism can be used to query a - container type for its attributes. Given any container - <tt>Cntnr</tt>, then <tt><a href= - "assoc_container_traits.html">__gnu_pbds::container_traits</a><Cntnr></tt> - is a traits class identifying the properties of the - container.</p> - - <p>To find if a container might throw if two of its objects are - joined, one can use <a href= - "assoc_container_traits.html"><tt>container_traits</tt></a><tt><Cntnr>::split_join_can_throw</tt>, - for example.</p> - - <p>Different priority-queue implementations have different invalidation guarantees. This is - especially important, since as explained in <a href= - "#pq_it">Iterators</a>, there is no way to access an arbitrary - value of priority queues except for iterators. Similarly to - associative containers, one can use - <a href= - "assoc_container_traits.html"><tt>container_traits</tt></a><tt><Cntnr>::invalidation_guarantee</tt> - to get the invalidation guarantee type of a priority queue.</p> - - <p>It is easy to understand from Figure <a href= - "#pq_different_underlying_dss">Underlying Priority-Queue - Data-Structures</a>, what <a href= - "assoc_container_traits.html"><tt>container_traits</tt></a><tt><Cntnr>::invalidation_guarantee</tt> - will be for different implementations. All implementations of - type <a href="#pq_different_underlying_dss">Underlying - Priority-Queue Data-Structures</a> B have <a href= - "point_invalidation_guarantee.html"><tt>point_invalidation_guarantee</tt></a>: - the container can freely internally reorganize the nodes - - range-type iterators are invalidated, but point-type iterators - are always valid. Implementations of type <a href= - "#pq_different_underlying_dss">Underlying Priority-Queue - Data-Structures</a> A1 and A2 have <a href= - "basic_invalidation_guarantee.html"><tt>basic_invalidation_guarantee</tt></a>: - the container can freely internally reallocate the array - both - point-type and range-type iterators might be invalidated.</p> - - <p>This has major implications, and constitutes a good reason to avoid - using binary heaps. A binary heap can perform <tt>modify</tt> - or <tt>erase</tt> efficiently <u>given a valid point-type - iterator</u>. However, inn order to supply it with a valid point-type - iterator, one needs to iterate (linearly) over all - values, then supply the relevant iterator (recall that a - range-type iterator can always be converted to a point-type - iterator). This means that if the number of <tt>modify</tt> or - <tt>erase</tt> operations is non-negligible (say - super-logarithmic in the total sequence of operations) - binary - heaps will perform badly.</p> - <pre> - -</pre> - </div> -</body> -</html> diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/pq_different_underlying_dss.png b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/pq_different_underlying_dss.png Binary files differdeleted file mode 100644 index 9d84791fc..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/pq_different_underlying_dss.png +++ /dev/null diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/pq_examples.html b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/pq_examples.html deleted file mode 100644 index 15311ebc3..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/pq_examples.html +++ /dev/null @@ -1,54 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" - "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> -<head> - <meta name="generator" content= - "HTML Tidy for Linux/x86 (vers 12 April 2005), see www.w3.org" /> - - <title>Examples</title> - <meta http-equiv="Content-Type" content= - "text/html; charset=us-ascii" /> - </head> - -<body> - <div id="page"> - <h1>Priority-Queue Examples</h1> - - <h2><a name="basic_usage" id="basic_usage">Basic Use</a></h2> - - <ol> - <li><a href= "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/testsuite/ext/pb_ds/example/basic_priority_queue.cc"><tt>basic_priority_queue.cc</tt></a> - Basic use of priority queues.</li> - - <li><a href= "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/testsuite/ext/pb_ds/example/priority_queue_split_join.cc"><tt>priority_queue_split_join.cc</tt></a> - Splitting and joining priority queues.</li> - - <li><a href= "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/testsuite/ext/pb_ds/example/priority_queue_erase_if.cc"><tt>priority_queue_erase_if.cc</tt></a> - Conditionally erasing values from a container object.</li> - </ol> - - <h2><a name="generics" id="generics">Generics</a></h2> - - <ol> - <li><a href= "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/testsuite/ext/pb_ds/example/priority_queue_container_traits.cc"><tt>priority_queue_container_traits.cc</tt></a> - Using <a href="assoc_container_traits.html"><tt>container_traits</tt></a> - to query about underlying data structure behavior.</li> - </ol> - - <h2><a name="xref" id="xref">Cross Referencing</a></h2> - - - <ol> - <li><a href= "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/testsuite/ext/pb_ds/example/priority_queue_xref.cc"><tt>priority_queue_xref.cc</tt></a> - Cross referencing an associative container and a priority - queue.</li> - - <li><a href= "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/testsuite/ext/pb_ds/example/priority_queue_dijkstra.cc"><tt>priority_queue_dijkstra.cc</tt></a> - Cross referencing a vector and a priority queue using a - <u>very</u> simple version of Dijkstra's shortest path - algorithm.</li> - </ol> - </div> -</body> -</html> diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/pq_performance_tests.html b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/pq_performance_tests.html deleted file mode 100644 index 3a6b26912..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/pq_performance_tests.html +++ /dev/null @@ -1,332 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" - "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> -<head> -<meta name="generator" content="HTML Tidy for Linux/x86 (vers 12 April 2005), see www.w3.org" /> -<title>Priority-Queue Performance Tests</title> -<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" /> -</head> -<body> -<div id="page"> -<h1>Priority-Queue Performance Tests</h1> -<h2><a name="settings" id="settings">Settings</a></h2> -<p>This section describes performance tests and their results. - In the following, <a href="#gcc"><u>g++</u></a>, <a href="#msvc"><u>msvc++</u></a>, and <a href="#local"><u>local</u></a> (the build used for generating this - documentation) stand for three different builds:</p> -<div id="gcc_settings_div"> -<div class="c1"> -<h3><a name="gcc" id="gcc"><u>g++</u></a></h3> -<ul> -<li>CPU speed - cpu MHz : 2660.644</li> -<li>Memory - MemTotal: 484412 kB</li> -<li>Platform - - Linux-2.6.12-9-386-i686-with-debian-testing-unstable</li> -<li>Compiler - g++ (GCC) 4.0.2 20050808 (prerelease) - (Ubuntu 4.0.1-4ubuntu9) Copyright (C) 2005 Free Software - Foundation, Inc. This is free software; see the source - for copying conditions. There is NO warranty; not even - for MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE.</li> -</ul> -</div> -<div class="c2"></div> -</div> -<div id="msvc_settings_div"> -<div class="c1"> -<h3><a name="msvc" id="msvc"><u>msvc++</u></a></h3> -<ul> -<li>CPU speed - cpu MHz : 2660.554</li> -<li>Memory - MemTotal: 484412 kB</li> -<li>Platform - Windows XP Pro</li> -<li>Compiler - Microsoft (R) 32-bit C/C++ Optimizing - Compiler Version 13.10.3077 for 80x86 Copyright (C) - Microsoft Corporation 1984-2002. All rights - reserved.</li> -</ul> -</div> -<div class="c2"></div> -</div> -<div id="local_settings_div"><div style = "border-style: dotted; border-width: 1px; border-color: lightgray"><h3><a name = "local"><u>local</u></a></h3><ul> -<li>CPU speed - cpu MHz : 2250.000</li> -<li>Memory - MemTotal: 2076248 kB</li> -<li>Platform - Linux-2.6.16-1.2133_FC5-i686-with-redhat-5-Bordeaux</li> -<li>Compiler - g++ (GCC) 4.1.1 20060525 (Red Hat 4.1.1-1) -Copyright (C) 2006 Free Software Foundation, Inc. -This is free software; see the source for copying conditions. There is NO -warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -</li> -</ul> -</div><div style = "width: 100%; height: 20px"></div></div> -<h2><a name="pq_tests" id="pq_tests">Tests</a></h2> -<ol> -<li><a href="priority_queue_text_push_timing_test.html">Priority Queue - Text <tt>push</tt> Timing Test</a></li> -<li><a href="priority_queue_text_push_pop_timing_test.html">Priority - Queue Text <tt>push</tt> and <tt>pop</tt> Timing - Test</a></li> -<li><a href="priority_queue_random_int_push_timing_test.html">Priority - Queue Random Integer <tt>push</tt> Timing Test</a></li> -<li><a href="priority_queue_random_int_push_pop_timing_test.html">Priority - Queue Random Integer <tt>push</tt> and <tt>pop</tt> Timing - Test</a></li> -<li><a href="priority_queue_text_pop_mem_usage_test.html">Priority Queue - Text <tt>pop</tt> Memory Use Test</a></li> -<li><a href="priority_queue_text_join_timing_test.html">Priority Queue - Text <tt>join</tt> Timing Test</a></li> -<li><a href="priority_queue_text_modify_up_timing_test.html">Priority - Queue Text <tt>modify</tt> Timing Test - I</a></li> -<li><a href="priority_queue_text_modify_down_timing_test.html">Priority - Queue Text <tt>modify</tt> Timing Test - II</a></li> -</ol> -<h2><a name="pq_observations" id="pq_observations">Observations</a></h2> -<h3><a name="pq_observations_cplx" id="pq_observations_cplx">Underlying Data Structures - Complexity</a></h3> -<p>The following table shows the complexities of the different - underlying data structures in terms of orders of growth. It is - interesting to note that this table implies something about the - constants of the operations as well (see <a href="#pq_observations_amortized_push_pop">Amortized <tt>push</tt> - and <tt>pop</tt> operations</a>).</p> -<table class="c1" width="100%" border="1" summary="pq complexities"> -<tr> -<td align="left"></td> -<td align="left"><tt>push</tt></td> -<td align="left"><tt>pop</tt></td> -<td align="left"><tt>modify</tt></td> -<td align="left"><tt>erase</tt></td> -<td align="left"><tt>join</tt></td> -</tr> -<tr> -<td align="left"> -<p><tt>std::priority_queue</tt></p> -</td> -<td align="left"> -<p><i>Θ(n)</i> worst</p> -<p><i>Θ(log(n))</i> amortized</p> -</td> -<td align="left"> -<p class="c1">Θ(log(n)) Worst</p> -</td> -<td align="left"> -<p><i>Theta;(n log(n))</i> Worst</p> -<p><sub><a href="#std_mod1">[std note 1]</a></sub></p> -</td> -<td align="left"> -<p class="c3">Θ(n log(n))</p> -<p><sub><a href="#std_mod2">[std note 2]</a></sub></p> -</td> -<td align="left"> -<p class="c3">Θ(n log(n))</p> -<p><sub><a href="#std_mod1">[std note 1]</a></sub></p> -</td> -</tr> -<tr> -<td align="left"> -<p><a href="priority_queue.html"><tt>priority_queue</tt></a></p> -<p>with <tt>Tag</tt> =</p> -<p><a href="pairing_heap_tag.html"><tt>pairing_heap_tag</tt></a></p> -</td> -<td align="left"> -<p class="c1">O(1)</p> -</td> -<td align="left"> -<p><i>Θ(n)</i> worst</p> -<p><i>Θ(log(n))</i> amortized</p> -</td> -<td align="left"> -<p><i>Θ(n)</i> worst</p> -<p><i>Θ(log(n))</i> amortized</p> -</td> -<td align="left"> -<p><i>Θ(n)</i> worst</p> -<p><i>Θ(log(n))</i> amortized</p> -</td> -<td align="left"> -<p class="c1">O(1)</p> -</td> -</tr> -<tr> -<td align="left"> -<p><a href="priority_queue.html"><tt>priority_queue</tt></a></p> -<p>with <tt>Tag</tt> =</p> -<p><a href="binary_heap_tag.html"><tt>binary_heap_tag</tt></a></p> -</td> -<td align="left"> -<p><i>Θ(n)</i> worst</p> -<p><i>Θ(log(n))</i> amortized</p> -</td> -<td align="left"> -<p><i>Θ(n)</i> worst</p> -<p><i>Θ(log(n))</i> amortized</p> -</td> -<td align="left"> -<p class="c1">Θ(n)</p> -</td> -<td align="left"> -<p class="c1">Θ(n)</p> -</td> -<td align="left"> -<p class="c1">Θ(n)</p> -</td> -</tr> -<tr> -<td align="left"> -<p><a href="priority_queue.html"><tt>priority_queue</tt></a></p> -<p>with <tt>Tag</tt> =</p> -<p><a href="binomial_heap_tag.html"><tt>binomial_heap_tag</tt></a></p> -</td> -<td align="left"> -<p><i>Θ(log(n))</i> worst</p> -<p><i>O(1)</i> amortized</p> -</td> -<td align="left"> -<p class="c1">Θ(log(n))</p> -</td> -<td align="left"> -<p class="c1">Θ(log(n))</p> -</td> -<td align="left"> -<p class="c1">Θ(log(n))</p> -</td> -<td align="left"> -<p class="c1">Θ(log(n))</p> -</td> -</tr> -<tr> -<td align="left"> -<p><a href="priority_queue.html"><tt>priority_queue</tt></a></p> -<p>with <tt>Tag</tt> =</p> -<p><a href="rc_binomial_heap_tag.html"><tt>rc_binomial_heap_tag</tt></a></p> -</td> -<td align="left"> -<p class="c1">O(1)</p> -</td> -<td align="left"> -<p class="c1">Θ(log(n))</p> -</td> -<td align="left"> -<p class="c1">Θ(log(n))</p> -</td> -<td align="left"> -<p class="c1">Θ(log(n))</p> -</td> -<td align="left"> -<p class="c1">Θ(log(n))</p> -</td> -</tr> -<tr> -<td align="left"> -<p><a href="priority_queue.html"><tt>priority_queue</tt></a></p> -<p>with <tt>Tag</tt> =</p> -<p><a href="thin_heap_tag.html"><tt>thin_heap_tag</tt></a></p> -</td> -<td align="left"> -<p class="c1">O(1)</p> -</td> -<td align="left"> -<p><i>Θ(n)</i> worst</p> -<p><i>Θ(log(n))</i> amortized</p> -</td> -<td align="left"> -<p><i>Θ(log(n))</i> worst</p> -<p><i>O(1)</i> amortized,</p>or - - <p><i>Θ(log(n))</i> amortized</p> -<p><sub><a href="#thin_heap_note">[thin_heap_note]</a></sub></p> -</td> -<td align="left"> -<p><i>Θ(n)</i> worst</p> -<p><i>Θ(log(n))</i> amortized</p> -</td> -<td align="left"> -<p class="c1">Θ(n)</p> -</td> -</tr> -</table> -<p><sub><a name="std_mod1" id="std_mod1">[std note 1]</a> This - is not a property of the algorithm, but rather due to the fact - that the STL's priority queue implementation does not support - iterators (and consequently the ability to access a specific - value inside it). If the priority queue is adapting an - <tt>std::vector</tt>, then it is still possible to reduce this - to <i>Θ(n)</i> by adapting over the STL's adapter and - using the fact that <tt>top</tt> returns a reference to the - first value; if, however, it is adapting an - <tt>std::deque</tt>, then this is impossible.</sub></p> -<p><sub><a name="std_mod2" id="std_mod2">[std note 2]</a> As - with <a href="#std_mod1">[std note 1]</a>, this is not a - property of the algorithm, but rather the STL's implementation. - Again, if the priority queue is adapting an - <tt>std::vector</tt> then it is possible to reduce this to - <i>Θ(n)</i>, but with a very high constant (one must call - <tt>std::make_heap</tt> which is an expensive linear - operation); if the priority queue is adapting an - <tt>std::dequeu</tt>, then this is impossible.</sub></p> -<p><sub><a name="thin_heap_note" id="thin_heap_note">[thin_heap_note]</a> A thin heap has - <i>&Theta(log(n))</i> worst case <tt>modify</tt> time - always, but the amortized time depends on the nature of the - operation: I) if the operation increases the key (in the sense - of the priority queue's comparison functor), then the amortized - time is <i>O(1)</i>, but if II) it decreases it, then the - amortized time is the same as the worst case time. Note that - for most algorithms, I) is important and II) is not.</sub></p> -<h3><a name="pq_observations_amortized_push_pop" id="pq_observations_amortized_push_pop">Amortized <tt>push</tt> - and <tt>pop</tt> operations</a></h3> -<p>In many cases, a priority queue is needed primarily for - sequences of <tt>push</tt> and <tt>pop</tt> operations. All of - the underlying data structures have the same amortized - logarithmic complexity, but they differ in terms of - constants.</p> -<p>The table above shows that the different data structures are - "constrained" in some respects. In general, if a data structure - has lower worst-case complexity than another, then it will - perform slower in the amortized sense. Thus, for example a - redundant-counter binomial heap (<a href="priority_queue.html"><tt>priority_queue</tt></a> with - <tt>Tag</tt> = <a href="rc_binomial_heap_tag.html"><tt>rc_binomial_heap_tag</tt></a>) - has lower worst-case <tt>push</tt> performance than a binomial - heap (<a href="priority_queue.html"><tt>priority_queue</tt></a> - with <tt>Tag</tt> = <a href="binomial_heap_tag.html"><tt>binomial_heap_tag</tt></a>), - and so its amortized <tt>push</tt> performance is slower in - terms of constants.</p> -<p>As the table shows, the "least constrained" underlying - data structures are binary heaps and pairing heaps. - Consequently, it is not surprising that they perform best in - terms of amortized constants.</p> -<ol> -<li>Pairing heaps seem to perform best for non-primitive - types (<i>e.g.</i>, <tt>std::string</tt>s), as shown by - <a href="priority_queue_text_push_timing_test.html">Priority - Queue Text <tt>push</tt> Timing Test</a> and <a href="priority_queue_text_push_pop_timing_test.html">Priority - Queue Text <tt>push</tt> and <tt>pop</tt> Timing - Test</a></li> -<li>binary heaps seem to perform best for primitive types - (<i>e.g.</i>, <tt><b>int</b></tt>s), as shown by <a href="priority_queue_random_int_push_timing_test.html">Priority - Queue Random Integer <tt>push</tt> Timing Test</a> and - <a href="priority_queue_random_int_push_pop_timing_test.html">Priority - Queue Random Integer <tt>push</tt> and <tt>pop</tt> Timing - Test</a>.</li> -</ol> -<h3><a name="pq_observations_graph" id="pq_observations_graph">Graph Algorithms</a></h3> -<p>In some graph algorithms, a decrease-key operation is - required [<a href="references.html#clrs2001">clrs2001</a>]; - this operation is identical to <tt>modify</tt> if a value is - increased (in the sense of the priority queue's comparison - functor). The table above and <a href="priority_queue_text_modify_up_timing_test.html">Priority Queue - Text <tt>modify</tt> Timing Test - I</a> show that a thin heap - (<a href="priority_queue.html"><tt>priority_queue</tt></a> with - <tt>Tag</tt> = <a href="thin_heap_tag.html"><tt>thin_heap_tag</tt></a>) - outperforms a pairing heap (<a href="priority_queue.html"><tt>priority_queue</tt></a> with - <tt>Tag</tt> =<tt>Tag</tt> = <a href="pairing_heap_tag.html"><tt>pairing_heap_tag</tt></a>), - but the rest of the tests show otherwise.</p> -<p>This makes it difficult to decide which implementation to - use in this case. Dijkstra's shortest-path algorithm, for - example, requires <i>Θ(n)</i> <tt>push</tt> and - <tt>pop</tt> operations (in the number of vertices), but - <i>O(n<sup>2</sup>)</i> <tt>modify</tt> operations, which can - be in practice <i>Θ(n)</i> as well. It is difficult to - find an <i>a-priori</i> characterization of graphs in which the - <u>actual</u> number of <tt>modify</tt> operations will dwarf - the number of <tt>push</tt> and <tt>pop</tt> operations.</p> -</div> -</body> -</html> diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/pq_regression_tests.html b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/pq_regression_tests.html deleted file mode 100644 index 9084409d3..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/pq_regression_tests.html +++ /dev/null @@ -1,52 +0,0 @@ -<!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" xml:lang="en" lang="en"> -<head> - <meta name="generator" content= - "HTML Tidy for Linux/x86 (vers 12 April 2005), see www.w3.org" /> - - <title>Priority-Queue Regression Tests</title> - <meta http-equiv="Content-Type" content= - "text/html; charset=us-ascii" /> - </head> - -<body> - <div id="page"> - <h1>Priority-Queue Regression Tests</h1> - - <h2><a name="assoc_desc" id="assoc_desc">Description</a></h2> - - <p>The library contains a single comprehensive regression test. - For a given container type in <tt>pb_ds</tt>, the test creates - an object of the container type and an object of the - corresponding STL type (<i>i.e.</i>, - <tt>std::priority_queue</tt>). It then performs a random - sequence of methods with random arguments (<i>e.g.</i>, pushes, - pops, and so forth) on both objects. At each operation, the - test checks the return value of the method, and optionally both - compares <tt>pb_ds</tt>'s object with the STL's object as well - as performing other consistency checks on <tt>pb_ds</tt>'s - object (<i>e.g.</i>, that the size returned by the - <tt>size</tt> method corresponds to the distance between its - <tt>begin</tt> and end iterators).</p> - - <p>Additionally, the test integrally checks exception safety - and resource leaks. This is done as follows. A special - allocator type, written for the purpose of the test, both - randomly throws an exceptions when allocations are performed, - and tracks allocations and de-allocations. The exceptions thrown - at allocations simulate memory-allocation failures; the - tracking mechanism checks for memory-related bugs (<i>e.g.</i>, - resource leaks and multiple de-allocations). Both - <tt>pb_ds</tt>'s containers and the containers' value-types are - configured to use this allocator.</p> - - <h2><a name="pq_tests" id="pq_tests">Tests</a></h2> - - <p><a href= - "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> - checks all priority queue types.</p> - </div> -</body> -</html> diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/pq_tests.html b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/pq_tests.html deleted file mode 100644 index de8cb447c..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/pq_tests.html +++ /dev/null @@ -1,24 +0,0 @@ -<!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" xml:lang="en" lang="en"> -<head> - <meta name="generator" content= - "HTML Tidy for Linux/x86 (vers 12 April 2005), see www.w3.org" /> - - <title>Priority-Queue Tests</title> - <meta http-equiv="Content-Type" content= - "text/html; charset=us-ascii" /> - </head> - -<body> - <div id="page"> - <h1>Priority-Queue Tests</h1> - - <p><a href="pq_regression_tests.html">Priority-Queue Regression - Tests</a> describes the regression tests; <a href= - "pq_performance_tests.html">Priority-Queue Performance - Tests</a> describes the performance tests.</p> - </div> -</body> -</html> diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/prerequisites.html b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/prerequisites.html deleted file mode 100644 index 7c8888499..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/prerequisites.html +++ /dev/null @@ -1,46 +0,0 @@ -<!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" xml:lang="en" lang="en"> -<head> - <meta name="generator" content= - "HTML Tidy for Linux/x86 (vers 12 April 2005), see www.w3.org" /> - - <title>Prerequisites</title> - <meta http-equiv="Content-Type" content= - "text/html; charset=us-ascii" /> - </head> - -<body> - <div id="page"> - <h1>Usage Prerequisites</h1> - - <p><tt>pb_ds</tt> has been successfully tested with the - following compilers:</p> - - <ol> - <li>g++ 3.3.1, 3.4.4, 4.0, 4.1, and what will be 4.2</li> - - <li>Intel icpc 8.1 and 9</li> - - <li>Visual C++ .Net 2005</li> - </ol> - - <p>The library contains only header files, and does not require - any other libraries except the STL. All classes are defined in - <tt><b>namespace</b> pb_ds</tt>. The library internally uses - macros beginning with <tt>PB_DS</tt> (<i>e.g.</i>, for header - guards), but <tt>#<b>undef</b></tt>s anything it - <tt>#<b>define</b></tt>s (except for header guards). Compiling - the library in an environment where macros beginning in - <tt>PB_DS</tt> are defined, may yield unpredictable results in - compilation, execution, or both.</p> - - <p> Further dependencies are necessary to create the visual output - for the performance tests. To create these graphs, two additional - packages will be needed: <b>pychart</b> and <b>Beautiful - Soup</b>. Both are freely available. - </p> - </div> -</body> -</html> diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/priority_queue.html b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/priority_queue.html deleted file mode 100644 index def310f0c..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/priority_queue.html +++ /dev/null @@ -1,995 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" - "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> -<head> - <meta name="generator" content= - "HTML Tidy for Linux/x86 (vers 12 April 2005), see www.w3.org" /> - - <title>priority_queue Interface</title> - <meta http-equiv="Content-Type" content= - "text/html; charset=us-ascii" /> - </head> - -<body> - <div id="page"> - <h1><tt>priority_queue</tt> Interface</h1> - - <p>Basic priority queue.</p> - - <p>Defined in: <a href= - "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/include/ext/pb_ds/priority_queue.hpp"><tt>priority_queue.hpp</tt></a></p> - - <h2><a name="link1" id="link1">Template Parameters</a></h2> - - <table class="c1" width="100%" border="1" summary= - "Template Parameters"> - <tr> - <td width="20%" align="left"><b>Parameter</b></td> - - <td width="50%" align="left"><b>Description</b></td> - - <td width="30%" align="left"><b>Default Value</b></td> - </tr> - - <tr> - <td> - <pre> -<a name="Value_Type216514186" id= -"Value_Type216514186"><b>typename</b> Value_Type</a> -</pre> - </td> - - <td> - <p>Value type.</p> - </td> - - <td>-</td> - </tr> - - <tr> - <td> - <pre> -<a name="Cmp_Fn294335" id="Cmp_Fn294335"><b>class</b> Cmp_Fn </a> -</pre> - </td> - - <td> - <p>Comparison functor.</p> - </td> - - <td> - <pre> -std::less<<a href= -"#Value_Type216514186"><tt>Value_Type</tt></a>> -</pre> - </td> - </tr> - - <tr> - <td> - <pre> -<a name="Tag278938" id="Tag278938"><b>class</b> Tag </a> -</pre> - </td> - - <td> - <p>Data-structure tag.</p> - </td> - - <td><a href="pairing_heap_tag.html"><span class= - "c2"><tt>pairing_heap_tag</tt></span></a></td> - </tr> - - <tr> - <td> - <pre> -<a name="Allocator35940069" id= -"Allocator35940069"><b>class</b> Allocator </a> -</pre> - </td> - - <td> - <p>Allocator type.</p> - </td> - - <td> - <pre> -std::allocator<<b>char</b>> -</pre> - </td> - </tr> - </table> - - <h2><a name="link2" id="link2">Public Types and - Constants</a></h2> - - <h3><a name="link3" id="link3">General Container - Definitions</a></h3> - - <table class="c1" width="100%" border="1" summary="Types"> - <tr> - <td width="30%" align="left"><b>Type</b></td> - - <td width="55%" align="left"><b>Definition</b></td> - - <td width="15%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -<a name="size_type55424436" id="size_type55424436">size_type</a> -</pre> - </td> - - <td> - <pre> -<b>typename</b> <a href= -"#Allocator35940069"><tt>Allocator</tt></a>::size_type -</pre> - </td> - - <td> - <p>Size type.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<a name="difference_type868028452" id= -"difference_type868028452">difference_type</a> -</pre> - </td> - - <td> - <pre> -<b>typename</b> <a href= -"#Allocator35940069"><tt>Allocator</tt></a>::difference_type -</pre> - </td> - - <td> - <p>Difference type.</p> - </td> - </tr> - </table> - - <h3><a name="link4" id="link4">Categories</a></h3> - - <table class="c1" width="100%" border="1" summary="Types"> - <tr> - <td width="30%" align="left"><b>Type</b></td> - - <td width="55%" align="left"><b>Definition</b></td> - - <td width="15%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -<a name="container_category1247973216" id= -"container_category1247973216">container_category</a> -</pre> - </td> - - <td> - <pre> -<a href="#Tag278938"><tt>Tag</tt></a> -</pre> - </td> - - <td> - <p>The underlying mapped-structure tag of the - container.</p> - - <p>This is one of:</p> - - <ol> - <li><a href="binary_heap_tag.html"><span class= - "c2"><tt>binary_heap_tag</tt></span></a></li> - - <li><a href="binomial_heap_tag.html"><span class= - "c2"><tt>binomial_heap_tag</tt></span></a></li> - - <li><a href="rc_binomial_heap_tag.html"><span class= - "c2"><tt>rc_binomial_heap_tag</tt></span></a></li> - - <li><a href="pairing_heap_tag.html"><span class= - "c2"><tt>pairing_heap_tag</tt></span></a></li> - - <li><a href="thin_heap_tag.html"><span class= - "c2"><tt>thin_heap_tag</tt></span></a></li> - </ol> - </td> - </tr> - </table> - - <h3><a name="link5" id="link5">Policy Definitions</a></h3> - - <table class="c1" width="100%" border="1" summary="Types"> - <tr> - <td width="30%" align="left"><b>Type</b></td> - - <td width="55%" align="left"><b>Definition</b></td> - - <td width="15%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -<a name="cmp_fn394495" id="cmp_fn394495">cmp_fn</a> -</pre> - </td> - - <td> - <pre> -<a href="#Cmp_Fn294335"><tt>Cmp_Fn</tt></a> -</pre> - </td> - - <td> - <p>Comparison functor type.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<a name="allocator48440069" id="allocator48440069">allocator</a> -</pre> - </td> - - <td> - <pre> -<a href="#Allocator35940069"><tt>Allocator</tt></a> -</pre> - </td> - - <td> - <p><a href="#Allocator35940069"><tt>Allocator</tt></a> - type.</p> - </td> - </tr> - </table> - - <h3><a name="link6" id="link6">Value-Type Definitions</a></h3> - - <table class="c1" width="100%" border="1" summary="Types"> - <tr> - <td width="30%" align="left"><b>Type</b></td> - - <td width="55%" align="left"><b>Definition</b></td> - - <td width="15%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -<a name="value_type279018186" id= -"value_type279018186">value_type</a> -</pre> - </td> - - <td> - <pre> -<a href="#Value_Type216514186"><tt>Value_Type</tt></a> -</pre> - </td> - - <td> - <p>Value type.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<a name="reference54418471" id="reference54418471">reference</a> -</pre> - </td> - - <td> - <pre> -<b>typename</b> <a href= -"#allocator48440069"><tt>allocator</tt></a>::<b>template</b> rebind< - <a href= -"#value_type279018186"><tt>value_type</tt></a>>::other::reference -</pre> - </td> - - <td> - <p>Value reference type.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<a name="const_reference495461441" id= -"const_reference495461441">const_reference</a> -</pre> - </td> - - <td> - <pre> -<b>typename</b> <a href= -"#allocator48440069"><tt>allocator</tt></a>::<b>template</b> rebind< - <a href= -"#value_type279018186"><tt>value_type</tt></a>>::other::const_reference -</pre> - </td> - - <td> - <p>Const value <a href= - "#reference54418471"><tt>reference</tt></a> type.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<a name="pointer2179769" id="pointer2179769">pointer</a> -</pre> - </td> - - <td> - <pre> -<b>typename</b> <a href= -"#allocator48440069"><tt>allocator</tt></a>::<b>template</b> rebind< - <a href= -"#value_type279018186"><tt>value_type</tt></a>>::other::pointer -</pre> - </td> - - <td> - <p>Value pointer type.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<a name="const_pointer878814947" id= -"const_pointer878814947">const_pointer</a> -</pre> - </td> - - <td> - <pre> -<b>typename</b> <a href= -"#allocator48440069"><tt>allocator</tt></a>::<b>template</b> rebind< - <a href= -"#value_type279018186"><tt>value_type</tt></a>>::other::const_pointer -</pre> - </td> - - <td> - <p>Const Value <a href= - "#pointer2179769"><tt>pointer</tt></a> type.</p> - </td> - </tr> - </table> - - <h3><a name="link7" id="link7">Iterator Definitions</a></h3> - - <table class="c1" width="100%" border="1" summary="Types"> - <tr> - <td width="30%" align="left"><b>Type</b></td> - - <td width="55%" align="left"><b>Definition</b></td> - - <td width="15%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -<a name="const_point_iterator2364676009" id= -"const_point_iterator2364676009">const_point_iterator</a> -</pre> - </td> - - <td> - <pre> -Const point-type iterator. -</pre> - </td> - - <td> - <p>Const point-type iterator.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<a name="point_iterator2789896775" id= -"point_iterator2789896775">point_iterator</a> -</pre> - </td> - - <td> - <pre> -Point-type iterator. -</pre> - </td> - - <td> - <p>Point-type iterator.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<a name="const_iterator98626788" id= -"const_iterator98626788">const_iterator</a> -</pre> - </td> - - <td> - <pre> -Const range-type iterator. -</pre> - </td> - - <td> - <p>Const range-type iterator.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<a name="iterator10418194" id="iterator10418194">iterator</a> -</pre> - </td> - - <td> - <pre> -Range-type iterator. -</pre> - </td> - - <td> - <p>Range-type iterator.</p> - </td> - </tr> - </table> - - <h2><a name="link8" id="link8">Public Methods</a></h2> - - <h3><a name="link9" id="link9">Constructors, Destructor, and - Related</a></h3> - - <table class="c1" width="100%" border="1" summary="Methods"> - <tr> - <td width="45%" align="left"><b>Method</b></td> - - <td width="55%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> - priority_queue - () -</pre> - </td> - - <td> - <p>Default constructor.</p> - </td> - </tr> - - <tr> - <td> - <pre> - priority_queue - (<b>const</b> <a href= -"#cmp_fn394495"><tt>cmp_fn</tt></a> &r_cmp_fn) -</pre> - </td> - - <td> - <p>Constructor taking some policy objects. <span class= - "c1"><tt>r_cmp_fn</tt></span> will be copied by the - <a href="#Cmp_Fn294335"><tt>Cmp_Fn</tt></a> object of the - container object.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<b>template</b>< - <b>class</b> It> - priority_queue - (It first_it, - It last_it) -</pre> - </td> - - <td> - <p>Constructor taking iterators to a range of <a href= - "#value_type279018186"><tt>value_type</tt></a>s. The - <a href="#value_type279018186"><tt>value_type</tt></a>s - between <span class="c1"><tt>first_it</tt></span> and - <span class="c1"><tt>last_it</tt></span> will be inserted - into the container object.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<b>template</b>< - <b>class</b> It> - priority_queue - (It first_it, - It last_it, - <b>const</b> <a href= -"#cmp_fn394495"><tt>cmp_fn</tt></a> &r_cmp_fn) -</pre> - </td> - - <td> - <p>Constructor taking iterators to a range of <a href= - "#value_type279018186"><tt>value_type</tt></a>s and some - policy objects The <a href= - "#value_type279018186"><tt>value_type</tt></a>s between - <span class="c1"><tt>first_it</tt></span> and - <span class="c1"><tt>last_it</tt></span> will be inserted - into the container object. <span class= - "c1"><tt>r_cmp_fn</tt></span> will be copied by the - <a href="#cmp_fn394495"><tt>cmp_fn</tt></a> object of the - container object.</p> - </td> - </tr> - - <tr> - <td> - <pre> - priority_queue - (<b>const</b> <span class= -"c2"><tt>priority_queue</tt></span> &other) -</pre> - </td> - - <td> - <p>Copy constructor.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<b>virtual</b> - ~priority_queue - () -</pre> - </td> - - <td> - <p>Destructor.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<span class="c2"><tt>priority_queue</tt></span> & - <b>operator</b>= - (<b>const</b> <span class= -"c2"><tt>priority_queue</tt></span> &other) -</pre> - </td> - - <td> - <p>Assignment operator.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<b>void</b> - swap - (<span class="c2"><tt>priority_queue</tt></span> &other) -</pre> - </td> - - <td> - <p>Swaps content.</p> - </td> - </tr> - </table> - - <h3><a name="link10" id="link10">Information Methods</a></h3> - - <table class="c1" width="100%" border="1" summary="Methods"> - <tr> - <td width="45%" align="left"><b>Method</b></td> - - <td width="55%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -<b>inline</b> <a href="#size_type55424436"><tt>size_type</tt></a> - size - () <b>const</b> -</pre> - </td> - - <td> - <p>Returns the number of distinct <a href= - "#value_type279018186"><tt>value_type</tt></a> objects - the container object is storing.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<b>inline</b> <a href="#size_type55424436"><tt>size_type</tt></a> - max_size - () <b>const</b> -</pre> - </td> - - <td> - <p>Returns an upper bound on the number of distinct - <a href="#value_type279018186"><tt>value_type</tt></a> - objects this container can store.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<b>inline</b> <b>bool</b> - empty - () <b>const</b> -</pre> - </td> - - <td> - <p>Returns whether the container object is not storing - any <a href= - "#value_type279018186"><tt>value_type</tt></a> - objects.</p> - </td> - </tr> - </table> - - <h3><a name="link11" id="link11">Insert Methods</a></h3> - - <table class="c1" width="100%" border="1" summary="Methods"> - <tr> - <td width="45%" align="left"><b>Method</b></td> - - <td width="55%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -<b>inline</b> <a href= -"#point_iterator2789896775"><tt>point_iterator</tt></a> - push - (<a href= -"#const_reference495461441"><tt>const_reference</tt></a> r_val) -</pre> - </td> - - <td> - <p>Inserts a <a href= - "#value_type279018186"><tt>value_type</tt></a> object. - returns a <a href= - "#point_iterator2789896775"><tt>point_iterator</tt></a> - object associated with the new pushed <span class= - "c1"><tt>r_val</tt></span>.</p> - </td> - </tr> - </table> - - <h3><a name="link12" id="link12">Find Methods</a></h3> - - <table class="c1" width="100%" border="1" summary="Methods"> - <tr> - <td width="45%" align="left"><b>Method</b></td> - - <td width="55%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -<b>inline</b> <a href= -"#const_reference495461441"><tt>const_reference</tt></a> - top - () <b>const</b> -</pre> - </td> - - <td> - <p>Returns the <a href= - "#const_reference495461441"><tt>const_reference</tt></a> - of the largest <a href= - "#value_type279018186"><tt>value_type</tt></a> in the - container object, i.e., a <a href= - "#value_type279018186"><tt>value_type</tt></a> v_max for - which any other <a href= - "#value_type279018186"><tt>value_type</tt></a> v in the - container object will satisfy !<a href= - "#cmp_fn394495"><tt>cmp_fn</tt></a>()(v_max, v).</p> - </td> - </tr> - </table> - - <h3><a name="link13" id="link13">Modify Methods</a></h3> - - <table class="c1" width="100%" border="1" summary="Methods"> - <tr> - <td width="45%" align="left"><b>Method</b></td> - - <td width="55%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -<b>inline</b> <b>void</b> - modify - (<a href= -"#point_iterator2789896775"><tt>point_iterator</tt></a> it, - <a href= -"#const_reference495461441"><tt>const_reference</tt></a> r_new_val) -</pre> - </td> - - <td> - <p>Modifies the <a href= - "#value_type279018186"><tt>value_type</tt></a> associated - with the <a href= - "#point_iterator2789896775"><tt>point_iterator</tt></a> - <span class="c1"><tt>it</tt></span> into <span class= - "c1"><tt>r_new_val</tt></span>.</p> - - <p>To use this method, <a href= - "#value_type279018186"><tt>value_type</tt></a> must be - assignable.</p> - </td> - </tr> - </table> - - <h3><a name="link14" id="link14">Erase Methods</a></h3> - - <table class="c1" width="100%" border="1" summary="Methods"> - <tr> - <td width="45%" align="left"><b>Method</b></td> - - <td width="55%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -<b>inline</b> <b>void</b> - pop - () -</pre> - </td> - - <td> - <p>Pops the largest <a href= - "#value_type279018186"><tt>value_type</tt></a>.</p> - - <p>If the container object is empty, results are - undefined.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<b>inline</b> <b>void</b> - erase - (<a href= -"#point_iterator2789896775"><tt>point_iterator</tt></a> it) -</pre> - </td> - - <td> - <p>Erases the <a href= - "#value_type279018186"><tt>value_type</tt></a> associated - with the <a href= - "#point_iterator2789896775"><tt>point_iterator</tt></a> - <span class="c1"><tt>it</tt></span>.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<b>template</b>< - <b>class</b> Pred> -<b>inline</b> <a href="#size_type55424436"><tt>size_type</tt></a> - erase_if - (Pred prd) -</pre> - </td> - - <td> - <p>Erases any <a href= - "#value_type279018186"><tt>value_type</tt></a> satisfying - the predicate <span class="c1"><tt>prd</tt></span>; - returns the number of <a href= - "#value_type279018186"><tt>value_type</tt></a>s - erased.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<b>void</b> - clear - () -</pre> - </td> - - <td> - <p>Clears the container object.</p> - </td> - </tr> - </table> - - <h3><a name="link15" id="link15">Split and join - Methods</a></h3> - - <table class="c1" width="100%" border="1" summary="Methods"> - <tr> - <td width="45%" align="left"><b>Method</b></td> - - <td width="55%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -<b>void</b> - join - (<span class="c2"><tt>priority_queue</tt></span> &other) -</pre> - </td> - - <td> - <p>Joins two container objects. When this function - returns, <span class="c1"><tt>other</tt></span> will be - empty.</p> - - <p>When calling this method, <span class= - "c1"><tt>other</tt></span>'s policies must be - equivalent to this object's policies.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<b>template</b>< - <b>class</b> Pred> -<b>inline</b> <b>void</b> - split - (Pred prd, - <span class="c2"><tt>priority_queue</tt></span> &other) -</pre> - </td> - - <td> - <p>Splits into two container objects. When this function - returns, <span class="c1"><tt>other</tt></span> will be - contain only values v for which <span class= - "c1"><tt>prd</tt></span>(v) is <tt><b>true</b></tt>.</p> - - <p>When calling this method, <span class= - "c1"><tt>other</tt></span>'s policies must be - equivalent to this object's policies.</p> - </td> - </tr> - </table> - - <h3><a name="link16" id="link16">Iteration Methods</a></h3> - - <table class="c1" width="100%" border="1" summary="Methods"> - <tr> - <td width="45%" align="left"><b>Method</b></td> - - <td width="55%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -<b>inline</b> <a href="#iterator10418194"><tt>iterator</tt></a> - begin - () -</pre> - </td> - - <td> - <p>Returns an <a href= - "#iterator10418194"><tt>iterator</tt></a> corresponding - to the first <a href= - "#value_type279018186"><tt>value_type</tt></a> in the - container.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<b>inline</b> <a href= -"#const_iterator98626788"><tt>const_iterator</tt></a> - begin - () <b>const</b> -</pre> - </td> - - <td> - <p>Returns a <a href= - "#const_iterator98626788"><tt>const_iterator</tt></a> - corresponding to the first <a href= - "#value_type279018186"><tt>value_type</tt></a> in the - container.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<b>inline</b> <a href="#iterator10418194"><tt>iterator</tt></a> - end - () -</pre> - </td> - - <td> - <p>Returns an <a href= - "#iterator10418194"><tt>iterator</tt></a> corresponding - to the just-after-last <a href= - "#value_type279018186"><tt>value_type</tt></a> in the - container.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<b>inline</b> <a href= -"#const_iterator98626788"><tt>const_iterator</tt></a> - end - () <b>const</b> -</pre> - </td> - - <td> - <p>Returns a <a href= - "#const_iterator98626788"><tt>const_iterator</tt></a> - corresponding to the just-after-last <a href= - "#value_type279018186"><tt>value_type</tt></a> in the - container.</p> - </td> - </tr> - </table> - </div> -</body> -</html> diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_random_int_push_pop_timing_test.html b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_random_int_push_pop_timing_test.html deleted file mode 100644 index 903331d9d..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_random_int_push_pop_timing_test.html +++ /dev/null @@ -1,161 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" - "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> -<head> -<meta name="generator" content="HTML Tidy for Linux/x86 (vers 12 April 2005), see www.w3.org" /> -<title>Priority Queue Random Int Push Pop Timing Test</title> -<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" /> -</head> -<body> -<div id="page"> -<h1>Priority Queue Random Integer <tt>push</tt> and - <tt>pop</tt> Timing Test</h1> -<h2><a name="description" id="description">Description</a></h2> -<p>This test inserts a number of values with i.i.d. integer - keys into a container using <tt>push</tt> , then removes them - using <tt>pop</tt> . It measures the average time for - <tt>push</tt> and <tt>pop</tt> as a function of the number of - values.</p> -<p>(The test was executed with <a href="http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/testsuite/performance/ext/pb_ds/priority_queue_random_int_push_pop_timing.cc"> -<tt>priority_queue_random_int_push_pop_timing_test</tt></a> - thirty_years_among_the_dead_preproc.txt 200 200 2100)</p> -<h2><a name="purpose" id="purpose">Purpose</a></h2> -<p>The test checks the effect of different underlying - data structures (see <a href="pq_design.html#pq_imp">Design::Priority - Queues::Implementations</a>).</p> -<h2><a name="results" id="results">Results</a></h2> -<p>Figures <a href="#NPG">NPG</a>, <a href="#NPM">NPM</a>, and - <a href="#NPL">NPL</a> shows the results for the native - priority queues and <tt>pb_ds</tt> 's priority queues in - <a href="pq_performance_tests.html#gcc"><u>g++</u></a>, - <a href="pq_performance_tests.html#msvc"><u>msvc++</u></a>, and - <a href="pq_performance_tests.html#local"><u>local</u></a>, - respectively.</p> -<div id="NPG_res_div"> -<div id="NPG_gcc"> -<div id="NPG_priority_queue_random_int_push_pop_timing_test"> -<div id="NPG_pq"> -<div id="NPG_Native_and__tt_pb_ds_455tt__priority_queue__tt_push_455tt___tt_pop_455tt__timing_test"><div style="border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NPG" id="NPG"><img src="priority_queue_random_int_push_pop_timing_test_gcc.png" alt="no image" /></a></h6>NPG: Native and <tt>pb ds</tt> priority queue <tt>push</tt> <tt>pop</tt> timing test - <a href="pq_performance_tests.html#gcc">g++</a><p>In the above figure, the names in the legends have the following meaning:</p> -<ol> -<li> -thin_heap- -<a href="priority_queue.html"><tt>priority_queue</tt></a> - with <tt>Tag</tt> = <a href="thin_heap_tag.html"><tt>thin_heap_tag</tt></a> -</li> -<li> -rc_binomial_heap- -<a href="priority_queue.html"><tt>priority_queue</tt></a> - with <tt>Tag</tt> = <a href="rc_binomial_heap_tag.html"><tt>rc_binomial_heap_tag</tt></a> -</li> -<li> -binomial_heap- -<a href="priority_queue.html"><tt>priority_queue</tt></a> - with <tt>Tag</tt> = <a href="binomial_heap_tag.html"><tt>binomial_heap_tag</tt></a> -</li> -<li> -pairing_heap- -<a href="priority_queue.html"><tt>priority_queue</tt></a> - with <tt>Tag</tt> = <a href="pairing_heap_tag.html"><tt>pairing_heap_tag</tt></a> -</li> -<li> -n_pq_deque- -<tt>std::priority_queue</tt> adapting <tt>std::deque</tt></li> -<li> -n_pq_vector- -<tt>std::priority_queue</tt> adapting <tt>std::vector</tt></li> -<li> -binary_heap- -<a href="priority_queue.html"><tt>priority_queue</tt></a> - with <tt>Tag</tt> = <a href="binary_heap_tag.html"><tt>binary_heap_tag</tt></a> -</li> -</ol> -</div><div style="width: 100%; height: 20px"></div></div> -</div> -</div> -</div> -</div> -<div id="NPM_res_div"> -<div id="NPM_msvc"> -<div id="NPM_priority_queue_random_int_push_pop_timing_test"> -<div id="NPM_pq"> -<div id="NPM_Native_and__tt_pb_ds_455tt__priority_queue__tt_push_455tt___tt_pop_455tt__timing_test"><div style="border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NPM" id="NPM"><img src="priority_queue_random_int_push_pop_timing_test_msvc.png" alt="no image" /></a></h6>NPM: Native and <tt>pb ds</tt> priority queue <tt>push</tt> <tt>pop</tt> timing test - <a href="pq_performance_tests.html#msvc">msvc++</a><p>In the above figure, the names in the legends have the following meaning:</p> -<ol> -<li> -thin_heap- -<a href="priority_queue.html"><tt>priority_queue</tt></a> - with <tt>Tag</tt> = <a href="thin_heap_tag.html"><tt>thin_heap_tag</tt></a> -</li> -<li> -rc_binomial_heap- -<a href="priority_queue.html"><tt>priority_queue</tt></a> - with <tt>Tag</tt> = <a href="rc_binomial_heap_tag.html"><tt>rc_binomial_heap_tag</tt></a> -</li> -<li> -binomial_heap- -<a href="priority_queue.html"><tt>priority_queue</tt></a> - with <tt>Tag</tt> = <a href="binomial_heap_tag.html"><tt>binomial_heap_tag</tt></a> -</li> -<li> -pairing_heap- -<a href="priority_queue.html"><tt>priority_queue</tt></a> - with <tt>Tag</tt> = <a href="pairing_heap_tag.html"><tt>pairing_heap_tag</tt></a> -</li> -<li> -n_pq_deque- -<tt>std::priority_queue</tt> adapting <tt>std::deque</tt></li> -<li> -n_pq_vector- -<tt>std::priority_queue</tt> adapting <tt>std::vector</tt></li> -<li> -binary_heap- -<a href="priority_queue.html"><tt>priority_queue</tt></a> - with <tt>Tag</tt> = <a href="binary_heap_tag.html"><tt>binary_heap_tag</tt></a> -</li> -</ol> -</div><div style="width: 100%; height: 20px"></div></div> -</div> -</div> -</div> -</div> -<div id="NPL_res_div"> -<div id="NPL_local"> -<div id="NPL_priority_queue_random_int_push_pop_timing_test"> -<div id="NPL_pq"> -<div id="NPL_Native_and__tt_pb_ds_455tt__priority_queue__tt_push_455tt___tt_pop_455tt__timing_test"><div style = "border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NPL" id= "NPL"><img src="priority_queue_random_int_push_pop_timing_test_local.png" alt="no image" /></a></h6>NPL: Native and <tt>pb ds</tt> priority queue <tt>push</tt> <tt>pop</tt> timing test - <a href = "pq_performance_tests.html#local">local</a></div><div style = "width: 100%; height: 20px"></div></div> -</div> -</div> -</div> -</div> -<h2><a name="observations" id="observations">Observations</a></h2> -<p>Binary heaps are the most suited for sequences of - <tt>push</tt> and <tt>pop</tt> operations of primitive types - (<i>e.g.</i> <tt><b>int</b></tt>s). This is explained in - <a href="priority_queue_random_int_push_timing_test.html">Priority - Queue Random Int <tt>push</tt> Timing Test</a> . (See <a href="priority_queue_text_push_pop_timing_test.html">Priority Queue - Text <tt>push</tt> Timing Test</a> for the case of primitive - types.)</p> -<p>At first glance it seems that the STL's vector-based - priority queue is approximately on par with <tt>pb_ds</tt>'s - corresponding priority queue. There are two differences - however:</p> -<ol> -<li>The STL's priority queue does not downsize the underlying - vector (or deque) as the priority queue becomes smaller - (see <a href="priority_queue_text_pop_mem_usage_test.html">Priority Queue - Text <tt>pop</tt> Memory Use Test</a>). It is therefore - gaining some speed at the expense of space.</li> -<li>From <a href="priority_queue_random_int_push_pop_timing_test.html">Priority - Queue Random Integer <tt>push</tt> and <tt>pop</tt> Timing - Test</a>, it seems that the STL's priority queue is slower in - terms of <tt>pus</tt> operations. Since the number of - <tt>pop</tt> operations is at most that of <tt>push</tt> - operations, the test here is the "best" for the STL's - priority queue.</li> -</ol> -<p><a href="pq_performance_tests.html#pq_observations">Priority-Queue - Performance Tests::Observations</a> discusses this further and - summarizes.</p> -</div> -</body> -</html> diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_random_int_push_pop_timing_test_gcc.png b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_random_int_push_pop_timing_test_gcc.png Binary files differdeleted file mode 100644 index 68f5e2b6b..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_random_int_push_pop_timing_test_gcc.png +++ /dev/null diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_random_int_push_pop_timing_test_local.png b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_random_int_push_pop_timing_test_local.png Binary files differdeleted file mode 100644 index 51f8211f1..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_random_int_push_pop_timing_test_local.png +++ /dev/null diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_random_int_push_pop_timing_test_msvc.png b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_random_int_push_pop_timing_test_msvc.png Binary files differdeleted file mode 100644 index 4fc191c8b..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_random_int_push_pop_timing_test_msvc.png +++ /dev/null diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_random_int_push_timing_test.html b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_random_int_push_timing_test.html deleted file mode 100644 index ba91f601a..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_random_int_push_timing_test.html +++ /dev/null @@ -1,200 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" - "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> -<head> -<meta name="generator" content="HTML Tidy for Linux/x86 (vers 12 April 2005), see www.w3.org" /> -<title>Priority Queue Random Int Push Timing Test</title> -<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" /> -</head> -<body> -<div id="page"> -<h1>Priority Queue Random Integer <tt>push</tt> Timing - Test</h1> -<h2><a name="description" id="description">Description</a></h2> -<p>This test inserts a number of values with i.i.d integer keys - into a container using <tt>push</tt> . It measures the average - time for <tt>push</tt> as a function of the number of - values.</p> -<p>(The test was executed with <a href="http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/testsuite/performance/ext/pb_ds/priority_queue_random_int_push_timing.cc"><tt> - priority_queue_random_intpush_timing_test</tt></a> - thirty_years_among_the_dead_preproc.txt 200 200 2100)</p> -<h2><a name="purpose" id="purpose">Purpose</a></h2> -<p>The test checks the effect of different underlying - data structures (see <a href="pq_design.html#pq_imp">Design::Priority - Queues::Implementations</a>).</p> -<h2><a name="results" id="results">Results</a></h2> -<p>Figures <a href="#NPG">NPG</a>, <a href="#NPM">NPM</a>, and - <a href="#NPL">NPL</a> show the results for the native priority - queues and <tt>pb_ds</tt> 's priority queues in <a href="assoc_performance_tests.html#gcc"><u>g++</u></a>, <a href="assoc_performance_tests.html#msvc"><u>msvc++</u></a>, and - <a href="assoc_performance_tests.html#local"><u>local</u></a>, - respectively; Figures <a href="#NBPG">NBPG</a>, <a href="#NBPM">NBPM</a>, and <a href="#NBPL">NBPL</a> shows the - results for the binary-heap based native priority queues and - <tt>pb_ds</tt> 's priority queues in <a href="assoc_performance_tests.html#gcc"><u>g++</u></a>, <a href="assoc_performance_tests.html#msvc"><u>msvc++</u></a>, and - <a href="assoc_performance_tests.html#local"><u>local</u></a>, - respectively</p> -<div id="NPG_res_div"> -<div id="NPG_gcc"> -<div id="NPG_priority_queue_random_int_push_timing_test"> -<div id="NPG_pq"> -<div id="NPG_Native_and__tt_pb_ds_455tt__priority_queue__tt_push_455tt__timing_test"><div style="border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NPG" id="NPG"><img src="priority_queue_random_int_push_timing_test_gcc.png" alt="no image" /></a></h6>NPG: Native and <tt>pb ds</tt> priority queue <tt>push</tt> timing test - <a href="pq_performance_tests.html#gcc">g++</a><p>In the above figure, the names in the legends have the following meaning:</p> -<ol> -<li> -rc_binomial_heap- -<a href="priority_queue.html"><tt>priority_queue</tt></a> - with <tt>Tag</tt> = <a href="rc_binomial_heap_tag.html"><tt>rc_binomial_heap_tag</tt></a> -</li> -<li> -binomial_heap- -<a href="priority_queue.html"><tt>priority_queue</tt></a> - with <tt>Tag</tt> = <a href="binomial_heap_tag.html"><tt>binomial_heap_tag</tt></a> -</li> -<li> -n_pq_deque- -<tt>std::priority_queue</tt> adapting <tt>std::deque</tt></li> -<li> -pairing_heap- -<a href="priority_queue.html"><tt>priority_queue</tt></a> - with <tt>Tag</tt> = <a href="pairing_heap_tag.html"><tt>pairing_heap_tag</tt></a> -</li> -<li> -thin_heap- -<a href="priority_queue.html"><tt>priority_queue</tt></a> - with <tt>Tag</tt> = <a href="thin_heap_tag.html"><tt>thin_heap_tag</tt></a> -</li> -<li> -n_pq_vector- -<tt>std::priority_queue</tt> adapting <tt>std::vector</tt></li> -<li> -binary_heap- -<a href="priority_queue.html"><tt>priority_queue</tt></a> - with <tt>Tag</tt> = <a href="binary_heap_tag.html"><tt>binary_heap_tag</tt></a> -</li> -</ol> -</div><div style="width: 100%; height: 20px"></div></div> -</div> -</div> -</div> -</div> -<div id="NPM_res_div"> -<div id="NPM_msvc"> -<div id="NPM_priority_queue_random_int_push_timing_test"> -<div id="NPM_pq"> -<div id="NPM_Native_and__tt_pb_ds_455tt__priority_queue__tt_push_455tt__timing_test"><div style="border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NPM" id="NPM"><img src="priority_queue_random_int_push_timing_test_msvc.png" alt="no image" /></a></h6>NPM: Native and <tt>pb ds</tt> priority queue <tt>push</tt> timing test - <a href="pq_performance_tests.html#msvc">msvc++</a><p>In the above figure, the names in the legends have the following meaning:</p> -<ol> -<li> -rc_binomial_heap- -<a href="priority_queue.html"><tt>priority_queue</tt></a> - with <tt>Tag</tt> = <a href="rc_binomial_heap_tag.html"><tt>rc_binomial_heap_tag</tt></a> -</li> -<li> -binomial_heap- -<a href="priority_queue.html"><tt>priority_queue</tt></a> - with <tt>Tag</tt> = <a href="binomial_heap_tag.html"><tt>binomial_heap_tag</tt></a> -</li> -<li> -pairing_heap- -<a href="priority_queue.html"><tt>priority_queue</tt></a> - with <tt>Tag</tt> = <a href="pairing_heap_tag.html"><tt>pairing_heap_tag</tt></a> -</li> -<li> -thin_heap- -<a href="priority_queue.html"><tt>priority_queue</tt></a> - with <tt>Tag</tt> = <a href="thin_heap_tag.html"><tt>thin_heap_tag</tt></a> -</li> -<li> -n_pq_deque- -<tt>std::priority_queue</tt> adapting <tt>std::deque</tt></li> -<li> -n_pq_vector- -<tt>std::priority_queue</tt> adapting <tt>std::vector</tt></li> -<li> -binary_heap- -<a href="priority_queue.html"><tt>priority_queue</tt></a> - with <tt>Tag</tt> = <a href="binary_heap_tag.html"><tt>binary_heap_tag</tt></a> -</li> -</ol> -</div><div style="width: 100%; height: 20px"></div></div> -</div> -</div> -</div> -</div> -<div id="NPL_res_div"> -<div id="NPL_local"> -<div id="NPL_priority_queue_random_int_push_timing_test"> -<div id="NPL_pq"> -<div id="NPL_Native_and__tt_pb_ds_455tt__priority_queue__tt_push_455tt__timing_test"><div style = "border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NPL" id= "NPL"><img src="priority_queue_random_int_push_timing_test_local.png" alt="no image" /></a></h6>NPL: Native and <tt>pb ds</tt> priority queue <tt>push</tt> timing test - <a href = "pq_performance_tests.html#local">local</a></div><div style = "width: 100%; height: 20px"></div></div> -</div> -</div> -</div> -</div> -<div id="NBPG_res_div"> -<div id="NBPG_gcc"> -<div id="NBPG_binary_priority_queue_random_int_push_timing_test"> -<div id="NBPG_pq"> -<div id="NBPG_Native_and__tt_pb_ds_455tt__binary_priority_queue__tt_push_455tt__timing_test"><div style="border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NBPG" id="NBPG"><img src="binary_priority_queue_random_int_push_timing_test_gcc.png" alt="no image" /></a></h6>NBPG: Native and <tt>pb ds</tt> binary priority queue <tt>push</tt> timing test - <a href="pq_performance_tests.html#gcc">g++</a><p>In the above figure, the names in the legends have the following meaning:</p> -<ol> -<li> -n_pq_deque- -<tt>std::priority_queue</tt> adapting <tt>std::deque</tt></li> -<li> -n_pq_vector- -<tt>std::priority_queue</tt> adapting <tt>std::vector</tt></li> -<li> -binary_heap- -<a href="priority_queue.html"><tt>priority_queue</tt></a> - with <tt>Tag</tt> = <a href="binary_heap_tag.html"><tt>binary_heap_tag</tt></a> -</li> -</ol> -</div><div style="width: 100%; height: 20px"></div></div> -</div> -</div> -</div> -</div> -<div id="NBPM_res_div"> -<div id="NBPM_msvc"> -<div id="NBPM_binary_priority_queue_random_int_push_timing_test"> -<div id="NBPM_pq"> -<div id="NBPM_Native_and__tt_pb_ds_455tt__binary_priority_queue__tt_push_455tt__timing_test"><div style="border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NBPM" id="NBPM"><img src="binary_priority_queue_random_int_push_timing_test_msvc.png" alt="no image" /></a></h6>NBPM: Native and <tt>pb ds</tt> binary priority queue <tt>push</tt> timing test - <a href="pq_performance_tests.html#msvc">msvc++</a><p>In the above figure, the names in the legends have the following meaning:</p> -<ol> -<li> -n_pq_deque- -<tt>std::priority_queue</tt> adapting <tt>std::deque</tt></li> -<li> -n_pq_vector- -<tt>std::priority_queue</tt> adapting <tt>std::vector</tt></li> -<li> -binary_heap- -<a href="priority_queue.html"><tt>priority_queue</tt></a> - with <tt>Tag</tt> = <a href="binary_heap_tag.html"><tt>binary_heap_tag</tt></a> -</li> -</ol> -</div><div style="width: 100%; height: 20px"></div></div> -</div> -</div> -</div> -</div> -<div id="NBPL_res_div"> -<div id="NBPL_local"> -<div id="NBPL_binary_priority_queue_random_int_push_timing_test"> -<div id="NBPL_pq"> -<div id="NBPL_Native_and__tt_pb_ds_455tt__binary_priority_queue__tt_push_455tt__timing_test"><div style = "border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NBPL" id= "NBPL"><img src="binary_priority_queue_random_int_push_timing_test_local.png" alt="no image" /></a></h6>NBPL: Native and <tt>pb ds</tt> binary priority queue <tt>push</tt> timing test - <a href = "pq_performance_tests.html#local">local</a></div><div style = "width: 100%; height: 20px"></div></div> -</div> -</div> -</div> -</div> -<h2><a name="observations" id="observations">Observations</a></h2> -<p>Binary heaps are the most suited for sequences of - <tt>push</tt> and <tt>pop</tt> operations of primitive types - (<i>e.g.</i> <tt><b>int</b></tt>s). They are less constrained - than any other type, and since it is very efficient to store - such types in arrays, they outperform even pairing heaps. (See - <a href="priority_queue_text_push_timing_test.html">Priority - Queue Text <tt>push</tt> Timing Test</a> for the case of - non-primitive types.)</p> -<p><a href="pq_performance_tests.html#pq_observations">Priority-Queue - Performance Tests::Observations</a> discusses this further and - summarizes.</p> -</div> -</body> -</html> diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_random_int_push_timing_test_gcc.png b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_random_int_push_timing_test_gcc.png Binary files differdeleted file mode 100644 index ee8c9b7d9..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_random_int_push_timing_test_gcc.png +++ /dev/null diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_random_int_push_timing_test_local.png b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_random_int_push_timing_test_local.png Binary files differdeleted file mode 100644 index dead185fa..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_random_int_push_timing_test_local.png +++ /dev/null diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_random_int_push_timing_test_msvc.png b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_random_int_push_timing_test_msvc.png Binary files differdeleted file mode 100644 index 0a1a8eaef..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_random_int_push_timing_test_msvc.png +++ /dev/null diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_tag.html b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_tag.html deleted file mode 100644 index 8b6d81c37..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_tag.html +++ /dev/null @@ -1,47 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" - "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> -<head> - <meta name="generator" content= - "HTML Tidy for Linux/x86 (vers 12 April 2005), see www.w3.org" /> - - <title>priority_queue_tag Interface</title> - <meta http-equiv="Content-Type" content= - "text/html; charset=us-ascii" /> - </head> - -<body> - <div id="page"> - <h1><tt>priority_queue_tag</tt> Interface</h1> - - <p>Basic priority-queue data structure tag.</p> - - <p>Defined in: <a href= - "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/include/ext/pb_ds/tag_and_trait.hpp"><tt>tag_and_trait.hpp</tt></a></p> - - <h2><a name="link1" id="link1">Base Classes</a></h2> - - <table class="c1" width="100%" border="1" summary="Bases"> - <tr> - <td width="80%" align="left"><b>Class</b></td> - - <td width="20%" align="left"><b>Derivation Type</b></td> - </tr> - - <tr> - <td> - <pre> -<a href="container_tag.html"><span class= -"c2"><tt>container_tag</tt></span></a> -</pre> - </td> - - <td> - <p>public</p> - </td> - </tr> - </table> - </div> -</body> -</html> diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_tag_cd.png b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_tag_cd.png Binary files differdeleted file mode 100644 index ed8d875f0..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_tag_cd.png +++ /dev/null diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_tag_cd.svg b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_tag_cd.svg deleted file mode 100644 index be007aecb..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_tag_cd.svg +++ /dev/null @@ -1,368 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" standalone="no"?> -<!-- Created with Inkscape (http://www.inkscape.org/) --> -<svg - xmlns:dc="http://purl.org/dc/elements/1.1/" - xmlns:cc="http://web.resource.org/cc/" - xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" - xmlns:svg="http://www.w3.org/2000/svg" - xmlns="http://www.w3.org/2000/svg" - xmlns:xlink="http://www.w3.org/1999/xlink" - xmlns:sodipodi="http://inkscape.sourceforge.net/DTD/sodipodi-0.dtd" - xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" - width="11in" - height="8.5in" - id="svg2" - sodipodi:version="0.32" - inkscape:version="0.43" - version="1.0" - sodipodi:docbase="/mnt/share/src/policy_based_data_structures/pb_ds_images" - sodipodi:docname="pq_tag_diagram_2.svg" - inkscape:export-filename="/mnt/share/src/policy_based_data_structures/pb_ds_images/pq_tag_diagram_2.png" - inkscape:export-xdpi="90" - inkscape:export-ydpi="90"> - <defs - id="defs4"> - <marker - inkscape:stockid="Arrow1Mstart" - orient="auto" - refY="0.0" - refX="0.0" - id="Arrow1Mstart" - style="overflow:visible"> - <path - id="path3311" - d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z " - style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none" - transform="scale(0.4)" /> - </marker> - <marker - inkscape:stockid="Arrow2Sstart" - orient="auto" - refY="0" - refX="0" - id="Arrow2Sstart" - style="overflow:visible"> - <path - id="path3319" - style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" - d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.97309,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z " - transform="matrix(0.3,0,0,0.3,-1.5,0)" /> - </marker> - <marker - inkscape:stockid="Arrow1Sstart" - orient="auto" - refY="0" - refX="0" - id="Arrow1Sstart" - style="overflow:visible"> - <path - id="path3337" - d="M 0,0 L 5,-5 L -12.5,0 L 5,5 L 0,0 z " - style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none" - transform="scale(0.2,0.2)" /> - </marker> - <marker - inkscape:stockid="Arrow2Send" - orient="auto" - refY="0" - refX="0" - id="Arrow2Send" - style="overflow:visible"> - <path - id="path3316" - style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" - d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.97309,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z " - transform="matrix(-0.3,0,0,-0.3,1.5,0)" /> - </marker> - <marker - inkscape:stockid="Arrow2Mend" - orient="auto" - refY="0" - refX="0" - id="Arrow2Mend" - style="overflow:visible"> - <path - id="path3322" - style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" - d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.97309,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z " - transform="matrix(-0.6,0,0,-0.6,3,0)" /> - </marker> - <marker - inkscape:stockid="Arrow1Lend" - orient="auto" - refY="0" - refX="0" - id="Arrow1Lend" - style="overflow:visible"> - <path - id="path3346" - d="M 0,0 L 5,-5 L -12.5,0 L 5,5 L 0,0 z " - style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none" - transform="scale(-0.8,-0.8)" /> - </marker> - <marker - inkscape:stockid="Arrow2Lstart" - orient="auto" - refY="0" - refX="0" - id="Arrow2Lstart" - style="overflow:visible"> - <path - id="path3331" - style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" - d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.97309,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z " - transform="matrix(1.1,0,0,1.1,-5.5,0)" /> - </marker> - <marker - inkscape:stockid="Arrow2Lend" - orient="auto" - refY="0" - refX="0" - id="Arrow2Lend" - style="overflow:visible"> - <path - id="path3328" - style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" - d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.97309,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z " - transform="matrix(-1.1,0,0,-1.1,5.5,0)" /> - </marker> - </defs> - <sodipodi:namedview - id="base" - pagecolor="#ffffff" - bordercolor="#666666" - borderopacity="1.0" - inkscape:pageopacity="0.0" - inkscape:pageshadow="2" - inkscape:zoom="2" - inkscape:cx="608.69002" - inkscape:cy="490.05621" - inkscape:document-units="in" - inkscape:current-layer="layer1" - showguides="true" - inkscape:guide-bbox="true" - inkscape:window-width="1278" - inkscape:window-height="973" - inkscape:window-x="0" - inkscape:window-y="0" - gridtolerance="0.125in" - guidetolerance="0.125in"> - <sodipodi:guide - orientation="horizontal" - position="629" - id="guide1307" /> - <sodipodi:guide - orientation="horizontal" - position="449" - id="guide1309" /> - <sodipodi:guide - orientation="horizontal" - position="269" - id="guide1311" /> - <sodipodi:guide - orientation="vertical" - position="496" - id="guide1313" /> - <sodipodi:guide - orientation="vertical" - position="383" - id="guide1315" /> - <sodipodi:guide - orientation="vertical" - position="241" - id="guide1317" /> - <sodipodi:guide - orientation="vertical" - position="680" - id="guide1319" /> - <sodipodi:guide - orientation="vertical" - position="749" - id="guide1321" /> - <sodipodi:guide - orientation="vertical" - position="124" - id="guide1345" /> - <sodipodi:guide - orientation="vertical" - position="901" - id="guide1347" /> - <sodipodi:guide - orientation="horizontal" - position="539" - id="guide3390" /> - <sodipodi:guide - orientation="horizontal" - position="359" - id="guide3392" /> - <sodipodi:guide - orientation="vertical" - position="280.5" - id="guide3324" /> - <sodipodi:guide - orientation="vertical" - position="195" - id="guide3326" /> - <sodipodi:guide - orientation="vertical" - position="427" - id="guide3328" /> - <sodipodi:guide - orientation="vertical" - position="795" - id="guide3340" /> - <sodipodi:guide - orientation="horizontal" - position="179" - id="guide1395" /> - </sodipodi:namedview> - <metadata - id="metadata7"> - <rdf:RDF> - <cc:Work - rdf:about=""> - <dc:format>image/svg+xml</dc:format> - <dc:type - rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> - <dc:creator> - <cc:Agent> - <dc:title>Benjamin Kosnik</dc:title> - </cc:Agent> - </dc:creator> - </cc:Work> - </rdf:RDF> - </metadata> - <g - inkscape:label="Layer 1" - inkscape:groupmode="layer" - id="layer1"> - <rect - y="382.17499" - x="241.73018" - height="23.200001" - width="141.64481" - id="rect3420" - style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1.25;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> - <rect - style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1.25;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" - id="rect3418" - width="141.64481" - height="23.200001" - x="52.730194" - y="382.17499" /> - <text - xml:space="preserve" - style="font-size:9.60000038;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:100%;writing-mode:lr;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans" - x="122.35258" - y="395.91092" - id="text3394" - sodipodi:linespacing="100%"><tspan - sodipodi:role="line" - id="tspan1383" - x="122.35258" - y="395.91092">pairing_heap_tag</tspan></text> - <text - sodipodi:linespacing="100%" - id="text3400" - y="395.91092" - x="310.55255" - style="font-size:9.60000038;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:100%;writing-mode:lr;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans" - xml:space="preserve"><tspan - sodipodi:role="line" - id="tspan1381" - x="310.55255" - y="395.91092">bionomial_heap_tag</tspan></text> - <rect - style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1.25;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" - id="rect3380" - width="141.64481" - height="23.200001" - x="425.57764" - y="292.56177" /> - <text - xml:space="preserve" - style="font-size:9.60000038;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:100%;writing-mode:lr;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1.5625;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;font-family:Bitstream Vera Sans" - x="495.20001" - y="307.09772" - id="text1323" - sodipodi:linespacing="100%"><tspan - sodipodi:role="line" - id="tspan1363" - x="495.20001" - y="307.09772">priority_queue_tag</tspan></text> - <path - style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#000000;stroke-width:1.16226137;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" - d="M 124.54034,382.1132 L 124.54034,360.6132 L 311.75594,359.6132 L 311.75594,382.1132" - id="path2244" /> - <rect - style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1.25;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" - id="rect3422" - width="141.64481" - height="23.200001" - x="425.73022" - y="382.17499" /> - <text - sodipodi:linespacing="100%" - id="text3406" - y="395.91092" - x="495.3526" - style="font-size:9.60000038;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:100%;writing-mode:lr;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1.25;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;font-family:Bitstream Vera Sans" - xml:space="preserve"><tspan - sodipodi:role="line" - id="tspan1377" - x="495.3526" - y="395.91092">rc_binomial_heap_tag</tspan></text> - <rect - y="382.17499" - x="607.93024" - height="23.200001" - width="141.64481" - id="rect3424" - style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1.25;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> - <text - xml:space="preserve" - style="font-size:9.60000038;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:100%;writing-mode:lr;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1.25;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;font-family:Bitstream Vera Sans" - x="679.15259" - y="395.91092" - id="text3412" - sodipodi:linespacing="100%"><tspan - sodipodi:role="line" - id="tspan1379" - x="679.15259" - y="395.91092">binary_heap_tag</tspan></text> - <path - id="path3347" - d="M 495.79886,382.13056 L 495.79886,321.40547" - style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#000000;stroke-width:1.25;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow2Mend);stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> - <rect - style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1.25;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" - id="rect2281" - width="141.64481" - height="23.200001" - x="795.625" - y="382.17499" /> - <text - sodipodi:linespacing="100%" - id="text2283" - y="395.91092" - x="866.84735" - style="font-size:9.60000038;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:100%;writing-mode:lr;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1.25;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;font-family:Bitstream Vera Sans" - xml:space="preserve"><tspan - sodipodi:role="line" - id="tspan1359" - x="866.84735" - y="395.91092">thin_heap_tag</tspan></text> - <path - style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#000000;stroke-width:1.25;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" - d="M 311.5,360 L 680,360" - id="path2309" /> - <use - x="0" - y="0" - xlink:href="#path2244" - id="use2311" - transform="matrix(-1,0,0,1,992.3371,0)" - width="990" - height="765" /> - </g> -</svg> diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_join_timing_test.html b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_join_timing_test.html deleted file mode 100644 index a4bf576ff..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_join_timing_test.html +++ /dev/null @@ -1,141 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" - "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> -<head> -<meta name="generator" content="HTML Tidy for Linux/x86 (vers 12 April 2005), see www.w3.org" /> -<title>Priority Queue Text Join Timing Test</title> -<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" /> -</head> -<body> -<div id="page"> -<h1>Priority Queue Text <tt>join</tt> Timing Test</h1> -<h2><a name="description" id="description">Description</a></h2> -<p>This test inserts a number of values with keys from an - arbitrary text ([ <a href="references.html#wickland96thirty">wickland96thirty</a> ]) into - two containers, then merges the containers. It uses - <tt>join</tt> for <tt>pb_ds</tt>'s priority queues; for the - STL's priority queues, it successively pops values from one - container and pushes them into the other. The test measures the - average time as a function of the number of values.</p> -<p>(The test was executed with <a href="http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/testsuite/performance/ext/pb_ds/priority_queue_text_join_timing.cc"><tt>priority_queue_text_join_timing_test</tt></a> - thirty_years_among_the_dead_preproc.txt 200 200 2100)</p> -<h2><a name="purpose" id="purpose">Purpose</a></h2> -<p>The test checks the effect of different underlying - data structures (see <a href="pq_design.html#pq_imp">Design::Priority - Queues::Implementations</a>).</p> -<h2><a name="results" id="results">Results</a></h2> -<p>Figures <a href="#NPG">NPG</a>, <a href="#NPM">NPM</a>, and - <a href="#NPL">NPL</a> show the results for the native priority - queues and <tt>pb_ds</tt> 's priority queues in <a href="pq_performance_tests.html#gcc"><u>g++</u></a>, <a href="pq_performance_tests.html#msvc"><u>msvc</u></a>, and <a href="pq_performance_tests.html#local"><u>local</u></a>, - respectively.</p> -<div id="NPG_res_div"> -<div id="NPG_gcc"> -<div id="NPG_priority_queue_text_join_timing_test"> -<div id="NPG_pq"> -<div id="NPG_Native_tree_and__tt_pb_ds_455tt__priority_queue__tt_push_455tt__timing_test"><div style="border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NPG" id="NPG"><img src="priority_queue_text_join_timing_test_gcc.png" alt="no image" /></a></h6>NPG: Native tree and <tt>pb ds</tt> priority queue <tt>push</tt> timing test - <a href="pq_performance_tests.html#gcc">g++</a><p>In the above figure, the names in the legends have the following meaning:</p> -<ol> -<li> -n_pq_deque- -<tt>std::priority_queue</tt> adapting <tt>std::deque</tt></li> -<li> -n_pq_vector- -<tt>std::priority_queue</tt> adapting <tt>std::vector</tt></li> -<li> -binary_heap- -<a href="priority_queue.html"><tt>priority_queue</tt></a> - with <tt>Tag</tt> = <a href="binary_heap_tag.html"><tt>binary_heap_tag</tt></a> -</li> -<li> -thin_heap- -<a href="priority_queue.html"><tt>priority_queue</tt></a> - with <tt>Tag</tt> = <a href="thin_heap_tag.html"><tt>thin_heap_tag</tt></a> -</li> -<li> -rc_binomial_heap- -<a href="priority_queue.html"><tt>priority_queue</tt></a> - with <tt>Tag</tt> = <a href="rc_binomial_heap_tag.html"><tt>rc_binomial_heap_tag</tt></a> -</li> -<li> -pairing_heap- -<a href="priority_queue.html"><tt>priority_queue</tt></a> - with <tt>Tag</tt> = <a href="pairing_heap_tag.html"><tt>pairing_heap_tag</tt></a> -</li> -<li> -binomial_heap- -<a href="priority_queue.html"><tt>priority_queue</tt></a> - with <tt>Tag</tt> = <a href="binomial_heap_tag.html"><tt>binomial_heap_tag</tt></a> -</li> -</ol> -</div><div style="width: 100%; height: 20px"></div></div> -</div> -</div> -</div> -</div> -<div id="NPM_res_div"> -<div id="NPM_msvc"> -<div id="NPM_priority_queue_text_join_timing_test"> -<div id="NPM_pq"> -<div id="NPM_Native_tree_and__tt_pb_ds_455tt__priority_queue__tt_push_455tt__timing_test"><div style="border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NPM" id="NPM"><img src="priority_queue_text_join_timing_test_msvc.png" alt="no image" /></a></h6>NPM: Native tree and <tt>pb ds</tt> priority queue <tt>push</tt> timing test - <a href="pq_performance_tests.html#msvc">msvc++</a><p>In the above figure, the names in the legends have the following meaning:</p> -<ol> -<li> -n_pq_deque- -<tt>std::priority_queue</tt> adapting <tt>std::deque</tt></li> -<li> -n_pq_vector- -<tt>std::priority_queue</tt> adapting <tt>std::vector</tt></li> -<li> -binary_heap- -<a href="priority_queue.html"><tt>priority_queue</tt></a> - with <tt>Tag</tt> = <a href="binary_heap_tag.html"><tt>binary_heap_tag</tt></a> -</li> -<li> -thin_heap- -<a href="priority_queue.html"><tt>priority_queue</tt></a> - with <tt>Tag</tt> = <a href="thin_heap_tag.html"><tt>thin_heap_tag</tt></a> -</li> -<li> -rc_binomial_heap- -<a href="priority_queue.html"><tt>priority_queue</tt></a> - with <tt>Tag</tt> = <a href="rc_binomial_heap_tag.html"><tt>rc_binomial_heap_tag</tt></a> -</li> -<li> -pairing_heap- -<a href="priority_queue.html"><tt>priority_queue</tt></a> - with <tt>Tag</tt> = <a href="pairing_heap_tag.html"><tt>pairing_heap_tag</tt></a> -</li> -<li> -binomial_heap- -<a href="priority_queue.html"><tt>priority_queue</tt></a> - with <tt>Tag</tt> = <a href="binomial_heap_tag.html"><tt>binomial_heap_tag</tt></a> -</li> -</ol> -</div><div style="width: 100%; height: 20px"></div></div> -</div> -</div> -</div> -</div> -<div id="NPL_res_div"> -<div id="NPL_local"> -<div id="NPL_priority_queue_text_join_timing_test"> -<div id="NPL_pq"> -<div id="NPL_Native_tree_and__tt_pb_ds_455tt__priority_queue__tt_push_455tt__timing_test"><div style = "border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NPL" id= "NPL"><img src="priority_queue_text_join_timing_test_local.png" alt="no image" /></a></h6>NPL: Native tree and <tt>pb ds</tt> priority queue <tt>push</tt> timing test - <a href = "pq_performance_tests.html#local">local</a></div><div style = "width: 100%; height: 20px"></div></div> -</div> -</div> -</div> -</div> -<h2><a name="observations" id="observations">Observations</a></h2> -<p>In this test the node-based heaps perform <tt>join</tt> in - either logarithmic or constant time. The binary heap requires - linear time, since the well-known heapify algorithm [<a href="references.html#clrs2001">clrs2001</a>] is linear.</p> -<p>It would be possible to apply the heapify algorithm to the - STL containers, if they would support iteration (which they - don't). Barring iterators, it is still somehow possible to - perform linear-time merge on a <tt>std::vector</tt>-based STL - priority queue, using <tt>top()</tt> and <tt>size()</tt> (since - they are enough to expose the underlying array), but this is - impossible for a <tt>std::deque</tt>-based STL priority queue. - Without heapify, the cost is super-linear.</p> -</div> -</body> -</html> diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_join_timing_test_gcc.png b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_join_timing_test_gcc.png Binary files differdeleted file mode 100644 index a48bb3586..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_join_timing_test_gcc.png +++ /dev/null diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_join_timing_test_local.png b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_join_timing_test_local.png Binary files differdeleted file mode 100644 index 1701b4d8a..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_join_timing_test_local.png +++ /dev/null diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_join_timing_test_msvc.png b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_join_timing_test_msvc.png Binary files differdeleted file mode 100644 index 0575b99c0..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_join_timing_test_msvc.png +++ /dev/null diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_modify_down_timing_test.html b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_modify_down_timing_test.html deleted file mode 100644 index 7ece80bcf..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_modify_down_timing_test.html +++ /dev/null @@ -1,204 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" - "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> -<head> -<meta name="generator" content="HTML Tidy for Linux/x86 (vers 12 April 2005), see www.w3.org" /> -<title>Priority Queue Text Modify (Down) Timing Test</title> -<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" /> -</head> -<body> -<div id="page"> -<h1>Priority Queue Text <tt>modify</tt> Timing Test - II</h1> -<h2><a name="description" id="description">Description</a></h2> -<p>This test inserts a number of values with keys from an - arbitrary text ([ <a href="references.html#wickland96thirty">wickland96thirty</a> ]) into - into a container then modifies each one "down" (<i>i.e.,</i> it - makes it smaller). It uses <tt>modify</tt> for <tt>pb_ds</tt>'s - priority queues; for the STL's priority queues, it pops values - from a container until it reaches the value that should be - modified, then pushes values back in. It measures the average - time for <tt>modify</tt> as a function of the number of - values.</p> -<p>(The test was executed with <a href="http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/testsuite/performance/ext/pb_ds/priority_queue_text_modify_timing.cc"><tt>priority_queue_text_modify_down_timing_test</tt></a> - thirty_years_among_the_dead_preproc.txt 200 200 2100 f)</p> -<h2><a name="purpose" id="purpose">Purpose</a></h2> -<p>The main purpose of this test is to contrast <a href="priority_queue_text_modify_up_timing_test.html">Priority Queue - Text <tt>modify</tt> Timing Test - I</a>.</p> -<h2><a name="results" id="results">Results</a></h2> -<p>Figures <a href="#NPG">NPG</a>, <a href="#NPM">NPM</a>, and - <a href="#NPL">NPL</a> show the results for the native priority - queues and <tt>pb_ds</tt> 's priority queues in <a href="pq_performance_tests.html#gcc"><u>g++</u></a>, <a href="pq_performance_tests.html#msvc"><u>msvc++</u></a>, and - <a href="pq_performance_tests.html#local"><u>local</u></a>, - respectively; Figures <a href="#NRTG">NRTG</a>, <a href="#NRTM">NRTM</a>, and <a href="#NRTL">NRTL</a> show the results - for the pairing heap and thin heaps in <a href="pq_performance_tests.html#gcc"><u>g++</u></a>, <a href="pq_performance_tests.html#msvc"><u>msvc++</u></a>, and - <a href="pq_performance_tests.html#local"><u>local</u></a>, - respectively,</p> -<div id="NPG_res_div"> -<div id="NPG_gcc"> -<div id="NPG_priority_queue_text_modify_down_timing_test"> -<div id="NPG_pq"> -<div id="NPG_Native_and__tt_pb_ds_455tt__priority_queue__tt_modify_455tt__timing_test"><div style="border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NPG" id="NPG"><img src="priority_queue_text_modify_down_timing_test_gcc.png" alt="no image" /></a></h6>NPG: Native and <tt>pb ds</tt> priority queue <tt>modify</tt> timing test - <a href="pq_performance_tests.html#gcc">g++</a><p>In the above figure, the names in the legends have the following meaning:</p> -<ol> -<li> -n_pq_deque- -<tt>std::priority_queue</tt> adapting <tt>std::deque</tt></li> -<li> -n_pq_vector- -<tt>std::priority_queue</tt> adapting <tt>std::vector</tt></li> -<li> -binary_heap- -<a href="priority_queue.html"><tt>priority_queue</tt></a> - with <tt>Tag</tt> = <a href="binary_heap_tag.html"><tt>binary_heap_tag</tt></a> -</li> -<li> -thin_heap- -<a href="priority_queue.html"><tt>priority_queue</tt></a> - with <tt>Tag</tt> = <a href="thin_heap_tag.html"><tt>thin_heap_tag</tt></a> -</li> -<li> -rc_binomial_heap- -<a href="priority_queue.html"><tt>priority_queue</tt></a> - with <tt>Tag</tt> = <a href="rc_binomial_heap_tag.html"><tt>rc_binomial_heap_tag</tt></a> -</li> -<li> -binomial_heap- -<a href="priority_queue.html"><tt>priority_queue</tt></a> - with <tt>Tag</tt> = <a href="binomial_heap_tag.html"><tt>binomial_heap_tag</tt></a> -</li> -<li> -pairing_heap- -<a href="priority_queue.html"><tt>priority_queue</tt></a> - with <tt>Tag</tt> = <a href="pairing_heap_tag.html"><tt>pairing_heap_tag</tt></a> -</li> -</ol> -</div><div style="width: 100%; height: 20px"></div></div> -</div> -</div> -</div> -</div> -<div id="NPM_res_div"> -<div id="NPM_msvc"> -<div id="NPM_priority_queue_text_modify_down_timing_test"> -<div id="NPM_pq"> -<div id="NPM_Native_and__tt_pb_ds_455tt__priority_queue__tt_modify_455tt__timing_test"><div style="border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NPM" id="NPM"><img src="priority_queue_text_modify_down_timing_test_msvc.png" alt="no image" /></a></h6>NPM: Native and <tt>pb ds</tt> priority queue <tt>modify</tt> timing test - <a href="pq_performance_tests.html#msvc">msvc++</a><p>In the above figure, the names in the legends have the following meaning:</p> -<ol> -<li> -n_pq_deque- -<tt>std::priority_queue</tt> adapting <tt>std::deque</tt></li> -<li> -n_pq_vector- -<tt>std::priority_queue</tt> adapting <tt>std::vector</tt></li> -<li> -binary_heap- -<a href="priority_queue.html"><tt>priority_queue</tt></a> - with <tt>Tag</tt> = <a href="binary_heap_tag.html"><tt>binary_heap_tag</tt></a> -</li> -<li> -thin_heap- -<a href="priority_queue.html"><tt>priority_queue</tt></a> - with <tt>Tag</tt> = <a href="thin_heap_tag.html"><tt>thin_heap_tag</tt></a> -</li> -<li> -rc_binomial_heap- -<a href="priority_queue.html"><tt>priority_queue</tt></a> - with <tt>Tag</tt> = <a href="rc_binomial_heap_tag.html"><tt>rc_binomial_heap_tag</tt></a> -</li> -<li> -binomial_heap- -<a href="priority_queue.html"><tt>priority_queue</tt></a> - with <tt>Tag</tt> = <a href="binomial_heap_tag.html"><tt>binomial_heap_tag</tt></a> -</li> -<li> -pairing_heap- -<a href="priority_queue.html"><tt>priority_queue</tt></a> - with <tt>Tag</tt> = <a href="pairing_heap_tag.html"><tt>pairing_heap_tag</tt></a> -</li> -</ol> -</div><div style="width: 100%; height: 20px"></div></div> -</div> -</div> -</div> -</div> -<div id="NPL_res_div"> -<div id="NPL_local"> -<div id="NPL_priority_queue_text_modify_down_timing_test"> -<div id="NPL_pq"> -<div id="NPL_Native_and__tt_pb_ds_455tt__priority_queue__tt_modify_455tt__timing_test"><div style = "border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NPL" id= "NPL"><img src="priority_queue_text_modify_down_timing_test_local.png" alt="no image" /></a></h6>NPL: Native and <tt>pb ds</tt> priority queue <tt>modify</tt> timing test - <a href = "pq_performance_tests.html#local">local</a></div><div style = "width: 100%; height: 20px"></div></div> -</div> -</div> -</div> -</div> -<div id="NRTG_res_div"> -<div id="NRTG_gcc"> -<div id="NRTG_priority_queue_text_modify_down_timing_test_pairing_thin"> -<div id="NRTG_pq"> -<div id="NRTG_Pairing_and_thin__priority_queue__tt_modify_455tt__timing_test"><div style="border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NRTG" id="NRTG"><img src="priority_queue_text_modify_down_timing_test_pairing_thin_gcc.png" alt="no image" /></a></h6>NRTG: Pairing and thin priority queue <tt>modify</tt> timing test - <a href="pq_performance_tests.html#gcc">g++</a><p>In the above figure, the names in the legends have the following meaning:</p> -<ol> -<li> -thin_heap- -<a href="priority_queue.html"><tt>priority_queue</tt></a> - with <tt>Tag</tt> = <a href="thin_heap_tag.html"><tt>thin_heap_tag</tt></a> -</li> -<li> -pairing_heap- -<a href="priority_queue.html"><tt>priority_queue</tt></a> - with <tt>Tag</tt> = <a href="pairing_heap_tag.html"><tt>pairing_heap_tag</tt></a> -</li> -</ol> -</div><div style="width: 100%; height: 20px"></div></div> -</div> -</div> -</div> -</div> -<div id="NRTM_res_div"> -<div id="NRTM_msvc"> -<div id="NRTM_priority_queue_text_modify_down_timing_test_pairing_thin"> -<div id="NRTM_pq"> -<div id="NRTM_Pairing_and_thin__priority_queue__tt_modify_455tt__timing_test"><div style="border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NRTM" id="NRTM"><img src="priority_queue_text_modify_down_timing_test_pairing_thin_msvc.png" alt="no image" /></a></h6>NRTM: Pairing and thin priority queue <tt>modify</tt> timing test - <a href="pq_performance_tests.html#msvc">msvc++</a><p>In the above figure, the names in the legends have the following meaning:</p> -<ol> -<li> -thin_heap- -<a href="priority_queue.html"><tt>priority_queue</tt></a> - with <tt>Tag</tt> = <a href="thin_heap_tag.html"><tt>thin_heap_tag</tt></a> -</li> -<li> -pairing_heap- -<a href="priority_queue.html"><tt>priority_queue</tt></a> - with <tt>Tag</tt> = <a href="pairing_heap_tag.html"><tt>pairing_heap_tag</tt></a> -</li> -</ol> -</div><div style="width: 100%; height: 20px"></div></div> -</div> -</div> -</div> -</div> -<div id="NRTL_res_div"> -<div id="NRTL_local"> -<div id="NRTL_priority_queue_text_modify_down_timing_test_pairing_thin"> -<div id="NRTL_pq"> -<div id="NRTL_Pairing_and_thin__priority_queue__tt_modify_455tt__timing_test"><div style = "border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NRTL" id= "NRTL"><img src="priority_queue_text_modify_down_timing_test_pairing_thin_local.png" alt="no image" /></a></h6>NRTL: Pairing and thin priority queue <tt>modify</tt> timing test - <a href = "pq_performance_tests.html#local">local</a></div><div style = "width: 100%; height: 20px"></div></div> -</div> -</div> -</div> -</div> -<h2><a name="observations" id="observations">Observations</a></h2> -<p>Most points in these results are similar to <a href="priority_queue_text_modify_up_timing_test.html">Priority Queue - Text <tt>modify</tt> Timing Test - I</a>.</p> -<p>It is interesting to note, however, that as opposed to that - test, a thin heap (<a href="priority_queue.html"><tt>priority_queue</tt></a> with - <tt>Tag</tt> = <a href="thin_heap_tag.html"><tt>thin_heap_tag</tt></a>) is - outperformed by a pairing heap (<a href="priority_queue.html"><tt>priority_queue</tt></a> with - <tt>Tag</tt> = <a href="pairing_heap_tag.html"><tt>pairing_heap_tag</tt></a>). - In this case, both heaps essentially perform an <tt>erase</tt> - operation followed by a <tt>push</tt> operation. As the other - tests show, a pairing heap is usually far more efficient than a - thin heap, so this is not surprising.</p> -<p>Most algorithms that involve priority queues increase values - (in the sense of the priority queue's comparison functor), and - so <a href="priority_queue_text_modify_up_timing_test.html">Priority Queue - Text <tt>modify</tt> Timing Test - I</a> is more interesting - than this test.</p> -</div> -</body> -</html> diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_modify_down_timing_test_gcc.png b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_modify_down_timing_test_gcc.png Binary files differdeleted file mode 100644 index 74cbc6523..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_modify_down_timing_test_gcc.png +++ /dev/null diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_modify_down_timing_test_local.png b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_modify_down_timing_test_local.png Binary files differdeleted file mode 100644 index 2fa9c7988..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_modify_down_timing_test_local.png +++ /dev/null diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_modify_down_timing_test_msvc.png b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_modify_down_timing_test_msvc.png Binary files differdeleted file mode 100644 index 20b663736..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_modify_down_timing_test_msvc.png +++ /dev/null diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_modify_down_timing_test_pairing_thin_gcc.png b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_modify_down_timing_test_pairing_thin_gcc.png Binary files differdeleted file mode 100644 index ca901831e..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_modify_down_timing_test_pairing_thin_gcc.png +++ /dev/null diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_modify_down_timing_test_pairing_thin_local.png b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_modify_down_timing_test_pairing_thin_local.png Binary files differdeleted file mode 100644 index 977d16718..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_modify_down_timing_test_pairing_thin_local.png +++ /dev/null diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_modify_down_timing_test_pairing_thin_msvc.png b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_modify_down_timing_test_pairing_thin_msvc.png Binary files differdeleted file mode 100644 index bf68bf992..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_modify_down_timing_test_pairing_thin_msvc.png +++ /dev/null diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_modify_up_timing_test.html b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_modify_up_timing_test.html deleted file mode 100644 index 72a1e0a75..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_modify_up_timing_test.html +++ /dev/null @@ -1,222 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" - "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> -<head> -<meta name="generator" content="HTML Tidy for Linux/x86 (vers 12 April 2005), see www.w3.org" /> -<title>Priority Queue Text Modify (Up) Timing Test</title> -<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" /> -</head> -<body> -<div id="page"> -<h1>Priority Queue Text <tt>modify</tt> Timing Test - I</h1> -<h2><a name="description" id="description">Description</a></h2> -<p>This test inserts a number of values with keys from an - arbitrary text ([ <a href="references.html#wickland96thirty">wickland96thirty</a> ]) into - into a container then modifies each one "up" (<i>i.e.,</i> it - makes it larger). It uses <tt>modify</tt> for <tt>pb_ds</tt>'s - priority queues; for the STL's priority queues, it pops values - from a container until it reaches the value that should be - modified, then pushes values back in. It measures the average - time for <tt>modify</tt> as a function of the number of - values.</p> -<p>(The test was executed with <a href="http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/testsuite/performance/ext/pb_ds/priority_queue_text_modify_timing.cc"><tt>priority_queue_text_modify_up_timing_test</tt></a> - thirty_years_among_the_dead_preproc.txt 200 200 2100 t)</p> -<h2><a name="purpose" id="purpose">Purpose</a></h2> -<p>The test checks the effect of different underlying - data structures (see <a href="pq_design.html#pq_imp">Design::Priority - Queues::Implementations</a>) for graph algorithms settings. - Note that making an arbitrary value larger (in the sense of the - priority queue's comparison functor) corresponds to - decrease-key in standard graph algorithms [<a href="references.html#clrs2001">clrs2001</a>].</p> -<h2><a name="results" id="results">Results</a></h2> -<p>Figures <a href="#NPG">NPG</a>, <a href="#NPM">NPM</a>, and - <a href="#NPL">NPL</a> show the results for the native priority - queues and <tt>pb_ds</tt> 's priority queues in <a href="pq_performance_tests.html#gcc"><u>g++</u></a>, <a href="pq_performance_tests.html#msvc"><u>msvc++</u></a>, and - <a href="pq_performance_tests.html#local"><u>local</u></a>, - respectively; Figures <a href="#NRTG">NRTG</a>, <a href="#NRTM">NRTM</a>, and <a href="#NRTL">NRTL</a> show the results - for the pairing heap and thin heaps in <a href="pq_performance_tests.html#gcc"><u>g++</u></a>, <a href="pq_performance_tests.html#msvc"><u>msvc++</u></a>, and - <a href="pq_performance_tests.html#local"><u>local</u></a>, - respectively,</p> -<div id="NPG_res_div"> -<div id="NPG_gcc"> -<div id="NPG_priority_queue_text_modify_up_timing_test"> -<div id="NPG_pq"> -<div id="NPG_Native_and__tt_pb_ds_455tt__priority_queue__tt_modify_455tt__timing_test"><div style="border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NPG" id="NPG"><img src="priority_queue_text_modify_up_timing_test_gcc.png" alt="no image" /></a></h6>NPG: Native and <tt>pb ds</tt> priority queue <tt>modify</tt> timing test - <a href="pq_performance_tests.html#gcc">g++</a><p>In the above figure, the names in the legends have the following meaning:</p> -<ol> -<li> -n_pq_deque- -<tt>std::priority_queue</tt> adapting <tt>std::deque</tt></li> -<li> -n_pq_vector- -<tt>std::priority_queue</tt> adapting <tt>std::vector</tt></li> -<li> -binary_heap- -<a href="priority_queue.html"><tt>priority_queue</tt></a> - with <tt>Tag</tt> = <a href="binary_heap_tag.html"><tt>binary_heap_tag</tt></a> -</li> -<li> -rc_binomial_heap- -<a href="priority_queue.html"><tt>priority_queue</tt></a> - with <tt>Tag</tt> = <a href="rc_binomial_heap_tag.html"><tt>rc_binomial_heap_tag</tt></a> -</li> -<li> -pairing_heap- -<a href="priority_queue.html"><tt>priority_queue</tt></a> - with <tt>Tag</tt> = <a href="pairing_heap_tag.html"><tt>pairing_heap_tag</tt></a> -</li> -<li> -binomial_heap- -<a href="priority_queue.html"><tt>priority_queue</tt></a> - with <tt>Tag</tt> = <a href="binomial_heap_tag.html"><tt>binomial_heap_tag</tt></a> -</li> -<li> -thin_heap- -<a href="priority_queue.html"><tt>priority_queue</tt></a> - with <tt>Tag</tt> = <a href="thin_heap_tag.html"><tt>thin_heap_tag</tt></a> -</li> -</ol> -</div><div style="width: 100%; height: 20px"></div></div> -</div> -</div> -</div> -</div> -<div id="NPM_res_div"> -<div id="NPM_msvc"> -<div id="NPM_priority_queue_text_modify_up_timing_test"> -<div id="NPM_pq"> -<div id="NPM_Native_and__tt_pb_ds_455tt__priority_queue__tt_modify_455tt__timing_test"><div style="border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NPM" id="NPM"><img src="priority_queue_text_modify_up_timing_test_msvc.png" alt="no image" /></a></h6>NPM: Native and <tt>pb ds</tt> priority queue <tt>modify</tt> timing test - <a href="pq_performance_tests.html#msvc">msvc++</a><p>In the above figure, the names in the legends have the following meaning:</p> -<ol> -<li> -n_pq_deque- -<tt>std::priority_queue</tt> adapting <tt>std::deque</tt></li> -<li> -n_pq_vector- -<tt>std::priority_queue</tt> adapting <tt>std::vector</tt></li> -<li> -binary_heap- -<a href="priority_queue.html"><tt>priority_queue</tt></a> - with <tt>Tag</tt> = <a href="binary_heap_tag.html"><tt>binary_heap_tag</tt></a> -</li> -<li> -rc_binomial_heap- -<a href="priority_queue.html"><tt>priority_queue</tt></a> - with <tt>Tag</tt> = <a href="rc_binomial_heap_tag.html"><tt>rc_binomial_heap_tag</tt></a> -</li> -<li> -pairing_heap- -<a href="priority_queue.html"><tt>priority_queue</tt></a> - with <tt>Tag</tt> = <a href="pairing_heap_tag.html"><tt>pairing_heap_tag</tt></a> -</li> -<li> -binomial_heap- -<a href="priority_queue.html"><tt>priority_queue</tt></a> - with <tt>Tag</tt> = <a href="binomial_heap_tag.html"><tt>binomial_heap_tag</tt></a> -</li> -<li> -thin_heap- -<a href="priority_queue.html"><tt>priority_queue</tt></a> - with <tt>Tag</tt> = <a href="thin_heap_tag.html"><tt>thin_heap_tag</tt></a> -</li> -</ol> -</div><div style="width: 100%; height: 20px"></div></div> -</div> -</div> -</div> -</div> -<div id="NPL_res_div"> -<div id="NPL_local"> -<div id="NPL_priority_queue_text_modify_up_timing_test"> -<div id="NPL_pq"> -<div id="NPL_Native_and__tt_pb_ds_455tt__priority_queue__tt_modify_455tt__timing_test"><div style = "border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NPL" id= "NPL"><img src="priority_queue_text_modify_up_timing_test_local.png" alt="no image" /></a></h6>NPL: Native and <tt>pb ds</tt> priority queue <tt>modify</tt> timing test - <a href = "pq_performance_tests.html#local">local</a></div><div style = "width: 100%; height: 20px"></div></div> -</div> -</div> -</div> -</div> -<div id="NRTG_res_div"> -<div id="NRTG_gcc"> -<div id="NRTG_priority_queue_text_modify_up_timing_test_pairing_thin"> -<div id="NRTG_pq"> -<div id="NRTG_Pairing_and_thin__priority_queue__tt_modify_455tt__timing_test"><div style="border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NRTG" id="NRTG"><img src="priority_queue_text_modify_up_timing_test_pairing_thin_gcc.png" alt="no image" /></a></h6>NRTG: Pairing and thin priority queue <tt>modify</tt> timing test - <a href="pq_performance_tests.html#gcc">g++</a><p>In the above figure, the names in the legends have the following meaning:</p> -<ol> -<li> -pairing_heap- -<a href="priority_queue.html"><tt>priority_queue</tt></a> - with <tt>Tag</tt> = <a href="pairing_heap_tag.html"><tt>pairing_heap_tag</tt></a> -</li> -<li> -thin_heap- -<a href="priority_queue.html"><tt>priority_queue</tt></a> - with <tt>Tag</tt> = <a href="thin_heap_tag.html"><tt>thin_heap_tag</tt></a> -</li> -</ol> -</div><div style="width: 100%; height: 20px"></div></div> -</div> -</div> -</div> -</div> -<div id="NRTM_res_div"> -<div id="NRTM_msvc"> -<div id="NRTM_priority_queue_text_modify_up_timing_test_pairing_thin"> -<div id="NRTM_pq"> -<div id="NRTM_Pairing_and_thin__priority_queue__tt_modify_455tt__timing_test"><div style="border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NRTM" id="NRTM"><img src="priority_queue_text_modify_up_timing_test_pairing_thin_msvc.png" alt="no image" /></a></h6>NRTM: Pairing and thin priority queue <tt>modify</tt> timing test - <a href="pq_performance_tests.html#msvc">msvc++</a><p>In the above figure, the names in the legends have the following meaning:</p> -<ol> -<li> -pairing_heap- -<a href="priority_queue.html"><tt>priority_queue</tt></a> - with <tt>Tag</tt> = <a href="pairing_heap_tag.html"><tt>pairing_heap_tag</tt></a> -</li> -<li> -thin_heap- -<a href="priority_queue.html"><tt>priority_queue</tt></a> - with <tt>Tag</tt> = <a href="thin_heap_tag.html"><tt>thin_heap_tag</tt></a> -</li> -</ol> -</div><div style="width: 100%; height: 20px"></div></div> -</div> -</div> -</div> -</div> -<div id="NRTL_res_div"> -<div id="NRTL_local"> -<div id="NRTL_priority_queue_text_modify_up_timing_test_pairing_thin"> -<div id="NRTL_pq"> -<div id="NRTL_Pairing_and_thin__priority_queue__tt_modify_455tt__timing_test"><div style = "border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NRTL" id= "NRTL"><img src="priority_queue_text_modify_up_timing_test_pairing_thin_local.png" alt="no image" /></a></h6>NRTL: Pairing and thin priority queue <tt>modify</tt> timing test - <a href = "pq_performance_tests.html#local">local</a></div><div style = "width: 100%; height: 20px"></div></div> -</div> -</div> -</div> -</div> -<h2><a name="observations" id="observations">Observations</a></h2> -<p>As noted above, increasing an arbitrary value (in the sense - of the priority queue's comparison functor) is very common in - graph-related algorithms. In this case, a thin heap (<a href="priority_queue.html"><tt>priority_queue</tt></a> with - <tt>Tag</tt> = <a href="thin_heap_tag.html"><tt>thin_heap_tag</tt></a>) - outperforms a pairing heap (<a href="priority_queue.html"><tt>priority_queue</tt></a> with - <tt>Tag</tt> = <a href="pairing_heap_tag.html"><tt>pairing_heap_tag</tt></a>). - Conversely, <a href="priority_queue_text_push_timing_test.html">Priority Queue Text - <tt>push</tt> Timing Test</a>, <a href="priority_queue_text_push_pop_timing_test.html">Priority Queue - Text <tt>push</tt> and <tt>pop</tt> Timing Test</a>, <a href="priority_queue_random_int_push_timing_test.html">Priority - Queue Random Integer <tt>push</tt> Timing Test</a>, and - <a href="priority_queue_random_int_push_pop_timing_test.html">Priority - Queue Random Integer <tt>push</tt> and <tt>pop</tt> Timing - Test</a> show that the situation is reversed for other - operations. It is not clear when to prefer one of these two - different types.</p> -<p>In this test <tt>pb_ds</tt>'s binary heaps effectively - perform modify in linear time. As explained in <a href="pq_design.html#pq_traits">Priority Queue Design::Traits</a>, - given a valid point-type iterator, a binary heap can perform - <tt>modify</tt> logarithmically. The problem is that binary - heaps invalidate their find iterators with each modifying - operation, and so the only way to obtain a valid point-type - iterator is to iterate using a range-type iterator until - finding the appropriate value, then use the range-type iterator - for the <tt>modify</tt> operation.</p> -<p>The explanation for the STL's priority queues' performance - is similar to that in <a href="priority_queue_text_join_timing_test.html">Priority Queue Text - <tt>join</tt> Timing Test</a>.</p> -<p><a href="pq_performance_tests.html#pq_observations">Priority-Queue - Performance Tests::Observations</a> discusses this further and - summarizes.</p> -</div> -</body> -</html> diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_modify_up_timing_test_gcc.png b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_modify_up_timing_test_gcc.png Binary files differdeleted file mode 100644 index d9dedc20c..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_modify_up_timing_test_gcc.png +++ /dev/null diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_modify_up_timing_test_local.png b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_modify_up_timing_test_local.png Binary files differdeleted file mode 100644 index 31575b452..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_modify_up_timing_test_local.png +++ /dev/null diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_modify_up_timing_test_msvc.png b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_modify_up_timing_test_msvc.png Binary files differdeleted file mode 100644 index 4005547c8..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_modify_up_timing_test_msvc.png +++ /dev/null diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_modify_up_timing_test_pairing_thin_gcc.png b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_modify_up_timing_test_pairing_thin_gcc.png Binary files differdeleted file mode 100644 index 1aa5aba94..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_modify_up_timing_test_pairing_thin_gcc.png +++ /dev/null diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_modify_up_timing_test_pairing_thin_local.png b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_modify_up_timing_test_pairing_thin_local.png Binary files differdeleted file mode 100644 index b878dde66..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_modify_up_timing_test_pairing_thin_local.png +++ /dev/null diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_modify_up_timing_test_pairing_thin_msvc.png b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_modify_up_timing_test_pairing_thin_msvc.png Binary files differdeleted file mode 100644 index 740594384..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_modify_up_timing_test_pairing_thin_msvc.png +++ /dev/null diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_pop_mem_usage_test.html b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_pop_mem_usage_test.html deleted file mode 100644 index 2545fc07d..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_pop_mem_usage_test.html +++ /dev/null @@ -1,143 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" - "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> -<head> -<meta name="generator" content="HTML Tidy for Linux/x86 (vers 12 April 2005), see www.w3.org" /> -<title>Priority Queue Text Pop Memory Use Test</title> -<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" /> -</head> -<body> -<div id="page"> -<h1>Priority Queue Text <tt>pop</tt> Memory Use Test</h1> -<h2><a name="description" id="description">Description</a></h2> -<p>This test inserts a number of values with keys from an - arbitrary text ([ <a href="references.html#wickland96thirty">wickland96thirty</a> ]) into - a container, then pops them until only one is left in the - container. It measures the memory use as a function of the - number of values pushed to the container.</p> -<p>(The test was executed with <a href="http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/testsuite/performance/ext/pb_ds/priority_queue_text_pop_mem_usage.cc"><tt>priority_queue_text_pop_mem_usage_test</tt></a> - thirty_years_among_the_dead_preproc.txt 200 200 2100)</p> -<h2><a name="purpose" id="purpose">Purpose</a></h2> -<p>The test checks the effect of different underlying - data structures (see <a href="pq_design.html#pq_imp">Design::Priority - Queues::Implementations</a>).</p> -<h2><a name="results" id="results">Results</a></h2> -<p>Figures <a href="#NPG">NPG</a>, <a href="#NPM">NPM</a>, and - <a href="#NPL">NPL</a> show the results for the native priority - queues and <tt>pb_ds</tt> 's priority queues in <a href="pq_performance_tests.html#gcc"><u>g++</u></a>, <a href="pq_performance_tests.html#msvc"><u>msvc++</u></a>, and - <a href="pq_performance_tests.html#local"><u>local</u></a>, - respectively.</p> -<div id="NPG_res_div"> -<div id="NPG_gcc"> -<div id="NPG_priority_queue_text_pop_mem_usage_test"> -<div id="NPG_pq"> -<div id="NPG_Native_and__tt_pb_ds_455tt__priority_queue__tt_pop_455tt__memory-use_test"><div style="border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NPG" id="NPG"><img src="priority_queue_text_pop_mem_usage_test_gcc.png" alt="no image" /></a></h6>NPG: Native and <tt>pb ds</tt> priority queue <tt>pop</tt> memory-use test - <a href="pq_performance_tests.html#gcc">g++</a><p>In the above figure, the names in the legends have the following meaning:</p> -<ol> -<li> -n_pq_vector- -<tt>std::priority_queue</tt> adapting <tt>std::vector</tt></li> -<li> -n_pq_deque- -<tt>std::priority_queue</tt> adapting <tt>std::deque</tt></li> -<li> -binary_heap- -<a href="priority_queue.html"><tt>priority_queue</tt></a> - with <tt>Tag</tt> = <a href="binary_heap_tag.html"><tt>binary_heap_tag</tt></a> -</li> -<li> -thin_heap- -<a href="priority_queue.html"><tt>priority_queue</tt></a> - with <tt>Tag</tt> = <a href="thin_heap_tag.html"><tt>thin_heap_tag</tt></a> -</li> -<li> -binomial_heap- -<a href="priority_queue.html"><tt>priority_queue</tt></a> - with <tt>Tag</tt> = <a href="binomial_heap_tag.html"><tt>binomial_heap_tag</tt></a> -</li> -<li> -rc_binomial_heap- -<a href="priority_queue.html"><tt>priority_queue</tt></a> - with <tt>Tag</tt> = <a href="rc_binomial_heap_tag.html"><tt>rc_binomial_heap_tag</tt></a> -</li> -<li> -pairing_heap- -<a href="priority_queue.html"><tt>priority_queue</tt></a> - with <tt>Tag</tt> = <a href="pairing_heap_tag.html"><tt>pairing_heap_tag</tt></a> -</li> -</ol> -</div><div style="width: 100%; height: 20px"></div></div> -</div> -</div> -</div> -</div> -<div id="NPM_res_div"> -<div id="NPM_msvc"> -<div id="NPM_priority_queue_text_pop_mem_usage_test"> -<div id="NPM_pq"> -<div id="NPM_Native_and__tt_pb_ds_455tt__priority_queue__tt_pop_455tt__memory-use_test"><div style="border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NPM" id="NPM"><img src="priority_queue_text_pop_mem_usage_test_msvc.png" alt="no image" /></a></h6>NPM: Native and <tt>pb ds</tt> priority queue <tt>pop</tt> memory-use test - <a href="pq_performance_tests.html#msvc">msvc++</a><p>In the above figure, the names in the legends have the following meaning:</p> -<ol> -<li> -n_pq_vector- -<tt>std::priority_queue</tt> adapting <tt>std::vector</tt></li> -<li> -n_pq_deque- -<tt>std::priority_queue</tt> adapting <tt>std::deque</tt></li> -<li> -binary_heap- -<a href="priority_queue.html"><tt>priority_queue</tt></a> - with <tt>Tag</tt> = <a href="binary_heap_tag.html"><tt>binary_heap_tag</tt></a> -</li> -<li> -thin_heap- -<a href="priority_queue.html"><tt>priority_queue</tt></a> - with <tt>Tag</tt> = <a href="thin_heap_tag.html"><tt>thin_heap_tag</tt></a> -</li> -<li> -binomial_heap- -<a href="priority_queue.html"><tt>priority_queue</tt></a> - with <tt>Tag</tt> = <a href="binomial_heap_tag.html"><tt>binomial_heap_tag</tt></a> -</li> -<li> -rc_binomial_heap- -<a href="priority_queue.html"><tt>priority_queue</tt></a> - with <tt>Tag</tt> = <a href="rc_binomial_heap_tag.html"><tt>rc_binomial_heap_tag</tt></a> -</li> -<li> -pairing_heap- -<a href="priority_queue.html"><tt>priority_queue</tt></a> - with <tt>Tag</tt> = <a href="pairing_heap_tag.html"><tt>pairing_heap_tag</tt></a> -</li> -</ol> -</div><div style="width: 100%; height: 20px"></div></div> -</div> -</div> -</div> -</div> -<div id="NPL_res_div"> -<div id="NPL_local"> -<div id="NPL_priority_queue_text_pop_mem_usage_test"> -<div id="NPL_pq"> -<div id="NPL_Native_and__tt_pb_ds_455tt__priority_queue__tt_pop_455tt__memory-use_test"><div style = "border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NPL" id= "NPL"><img src="priority_queue_text_pop_mem_usage_test_local.png" alt="no image" /></a></h6>NPL: Native and <tt>pb ds</tt> priority queue <tt>pop</tt> memory-use test - <a href = "pq_performance_tests.html#local">local</a></div><div style = "width: 100%; height: 20px"></div></div> -</div> -</div> -</div> -</div> -<h2><a name="observations" id="observations">Observations</a></h2> -<p>The priority queue implementations (excluding the STL's) use - memory proportionally to the number of values they hold: - node-based implementations (<i>e.g.</i>, a pairing heap) do so - naturally; <tt>pb_ds</tt>'s binary heap de-allocates memory when - a certain lower threshold is exceeded.</p> -<p>Note from <a href="priority_queue_text_push_pop_timing_test.html">Priority Queue - Text <tt>push</tt> and <tt>pop</tt> Timing Test</a> and - <a href="priority_queue_random_int_push_pop_timing_test.html">Priority - Queue Random Integer <tt>push</tt> and <tt>pop</tt> Timing - Test</a> that this does not impede performance compared to the - STL's priority queues.</p> -<p>(See <a href="hash_random_int_erase_mem_usage_test.html">Hash-Based Erase - Memory Use Test</a> for a similar phenomenon regarding priority - queues.)</p> -</div> -</body> -</html> diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_pop_mem_usage_test_gcc.png b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_pop_mem_usage_test_gcc.png Binary files differdeleted file mode 100644 index 2c1918d06..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_pop_mem_usage_test_gcc.png +++ /dev/null diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_pop_mem_usage_test_local.png b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_pop_mem_usage_test_local.png Binary files differdeleted file mode 100644 index c1413fc93..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_pop_mem_usage_test_local.png +++ /dev/null diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_pop_mem_usage_test_msvc.png b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_pop_mem_usage_test_msvc.png Binary files differdeleted file mode 100644 index 9717f498b..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_pop_mem_usage_test_msvc.png +++ /dev/null diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_push_pop_timing_test.html b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_push_pop_timing_test.html deleted file mode 100644 index 3c143fe5a..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_push_pop_timing_test.html +++ /dev/null @@ -1,209 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" - "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> -<head> -<meta name="generator" content="HTML Tidy for Linux/x86 (vers 12 April 2005), see www.w3.org" /> -<title>Priority Queue Text Push Pop Timing Test</title> -<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" /> -</head> -<body> -<div id="page"> -<h1>Priority Queue Text <tt>push</tt> and <tt>pop</tt> Timing - Test</h1> -<h2><a name="description" id="description">Description</a></h2> -<p>This test inserts a number of values with keys from an - arbitrary text ([ <a href="references.html#wickland96thirty">wickland96thirty</a> ]) into - a container using <tt>push</tt> , then removes them using - <tt>pop</tt> . It measures the average time for <tt>push</tt> - as a function of the number of values.</p> -<p>(The test was executed with <a href="http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/testsuite/performance/ext/pb_ds/priority_queue_text_push_pop_timing.cc"><tt> - priority_queue_text_push_pop_timing_test</tt></a> - thirty_years_among_the_dead_preproc.txt 200 200 2100)</p> -<h2><a name="purpose" id="purpose">Purpose</a></h2> -<p>The test checks the effect of different underlying - data structures (see <a href="pq_design.html#pq_imp">Design::Priority - Queues::Implementations</a>).</p> -<h2><a name="results" id="results">Results</a></h2> -<p>Figures <a href="#NPG">NPG</a>, <a href="#NPM">NPM</a>, and - <a href="#NPL">NPL</a> show the results for the native priority - queues and <tt>pb_ds</tt> 's priority queues in <a href="pq_performance_tests.html#gcc"><u>g++</u></a>, <a href="pq_performance_tests.html#msvc"><u>msvc++</u></a>, and - <a href="pq_performance_tests.html#local"><u>local</u></a>, - respectively; Figures <a href="#NBRG">NBRG</a>, <a href="#NBRM">NBRM</a>, and <a href="#NBRL">NBRL</a> show the results - for the native priority queues and <tt>pb_ds</tt>'s pairing - queues in <a href="pq_performance_tests.html#gcc"><u>g++</u></a>, <a href="pq_performance_tests.html#msvc"><u>msvc++</u></a>, and - <a href="pq_performance_tests.html#local"><u>local</u></a>, - respectively.</p> -<div id="NPG_res_div"> -<div id="NPG_gcc"> -<div id="NPG_priority_queue_text_push_pop_timing_test"> -<div id="NPG_pq"> -<div id="NPG_Native_tree_and__tt_pb_ds_455tt__priority_queue__tt_push_455tt__and__tt_pop_455tt__timing_test"><div style="border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NPG" id="NPG"><img src="priority_queue_text_push_pop_timing_test_gcc.png" alt="no image" /></a></h6>NPG: Native tree and <tt>pb ds</tt> priority queue <tt>push</tt> and <tt>pop</tt> timing test - <a href="pq_performance_tests.html#gcc">g++</a><p>In the above figure, the names in the legends have the following meaning:</p> -<ol> -<li> -n_pq_vector- -<tt>std::priority_queue</tt> adapting <tt>std::vector</tt></li> -<li> -n_pq_deque- -<tt>std::priority_queue</tt> adapting <tt>std::deque</tt></li> -<li> -thin_heap- -<a href="priority_queue.html"><tt>priority_queue</tt></a> - with <tt>Tag</tt> = <a href="thin_heap_tag.html"><tt>thin_heap_tag</tt></a> -</li> -<li> -rc_binomial_heap- -<a href="priority_queue.html"><tt>priority_queue</tt></a> - with <tt>Tag</tt> = <a href="rc_binomial_heap_tag.html"><tt>rc_binomial_heap_tag</tt></a> -</li> -<li> -binomial_heap- -<a href="priority_queue.html"><tt>priority_queue</tt></a> - with <tt>Tag</tt> = <a href="binomial_heap_tag.html"><tt>binomial_heap_tag</tt></a> -</li> -<li> -binary_heap- -<a href="priority_queue.html"><tt>priority_queue</tt></a> - with <tt>Tag</tt> = <a href="binary_heap_tag.html"><tt>binary_heap_tag</tt></a> -</li> -<li> -pairing_heap- -<a href="priority_queue.html"><tt>priority_queue</tt></a> - with <tt>Tag</tt> = <a href="pairing_heap_tag.html"><tt>pairing_heap_tag</tt></a> -</li> -</ol> -</div><div style="width: 100%; height: 20px"></div></div> -</div> -</div> -</div> -</div> -<div id="NPM_res_div"> -<div id="NPM_msvc"> -<div id="NPM_priority_queue_text_push_pop_timing_test"> -<div id="NPM_pq"> -<div id="NPM_Native_tree_and__tt_pb_ds_455tt__priority_queue__tt_push_455tt__and__tt_pop_455tt__timing_test"><div style="border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NPM" id="NPM"><img src="priority_queue_text_push_pop_timing_test_msvc.png" alt="no image" /></a></h6>NPM: Native tree and <tt>pb ds</tt> priority queue <tt>push</tt> and <tt>pop</tt> timing test - <a href="pq_performance_tests.html#msvc">msvc++</a><p>In the above figure, the names in the legends have the following meaning:</p> -<ol> -<li> -n_pq_deque- -<tt>std::priority_queue</tt> adapting <tt>std::deque</tt></li> -<li> -n_pq_vector- -<tt>std::priority_queue</tt> adapting <tt>std::vector</tt></li> -<li> -thin_heap- -<a href="priority_queue.html"><tt>priority_queue</tt></a> - with <tt>Tag</tt> = <a href="thin_heap_tag.html"><tt>thin_heap_tag</tt></a> -</li> -<li> -rc_binomial_heap- -<a href="priority_queue.html"><tt>priority_queue</tt></a> - with <tt>Tag</tt> = <a href="rc_binomial_heap_tag.html"><tt>rc_binomial_heap_tag</tt></a> -</li> -<li> -binomial_heap- -<a href="priority_queue.html"><tt>priority_queue</tt></a> - with <tt>Tag</tt> = <a href="binomial_heap_tag.html"><tt>binomial_heap_tag</tt></a> -</li> -<li> -pairing_heap- -<a href="priority_queue.html"><tt>priority_queue</tt></a> - with <tt>Tag</tt> = <a href="pairing_heap_tag.html"><tt>pairing_heap_tag</tt></a> -</li> -<li> -binary_heap- -<a href="priority_queue.html"><tt>priority_queue</tt></a> - with <tt>Tag</tt> = <a href="binary_heap_tag.html"><tt>binary_heap_tag</tt></a> -</li> -</ol> -</div><div style="width: 100%; height: 20px"></div></div> -</div> -</div> -</div> -</div> -<div id="NPL_res_div"> -<div id="NPL_local"> -<div id="NPL_priority_queue_text_push_pop_timing_test"> -<div id="NPL_pq"> -<div id="NPL_Native_tree_and__tt_pb_ds_455tt__priority_queue__tt_push_455tt__and__tt_pop_455tt__timing_test"><div style = "border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NPL" id= "NPL"><img src="priority_queue_text_push_pop_timing_test_local.png" alt="no image" /></a></h6>NPL: Native tree and <tt>pb ds</tt> priority queue <tt>push</tt> and <tt>pop</tt> timing test - <a href = "pq_performance_tests.html#local">local</a></div><div style = "width: 100%; height: 20px"></div></div> -</div> -</div> -</div> -</div> -<div id="NBRG_res_div"> -<div id="NBRG_gcc"> -<div id="NBRG_pairing_priority_queue_text_push_pop_timing_test"> -<div id="NBRG_pq"> -<div id="NBRG_Native_tree_and__tt_pb_ds_455tt__pairing_priority_queue__tt_push_455tt__and__tt_pop_455tt__timing_test"><div style="border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NBRG" id="NBRG"><img src="pairing_priority_queue_text_push_pop_timing_test_gcc.png" alt="no image" /></a></h6>NBRG: Native tree and <tt>pb ds</tt> pairing priority queue <tt>push</tt> and <tt>pop</tt> timing test - <a href="pq_performance_tests.html#gcc">g++</a><p>In the above figure, the names in the legends have the following meaning:</p> -<ol> -<li> -n_pq_vector- -<tt>std::priority_queue</tt> adapting <tt>std::vector</tt></li> -<li> -n_pq_deque- -<tt>std::priority_queue</tt> adapting <tt>std::deque</tt></li> -<li> -pairing_heap- -<a href="priority_queue.html"><tt>priority_queue</tt></a> - with <tt>Tag</tt> = <a href="pairing_heap_tag.html"><tt>pairing_heap_tag</tt></a> -</li> -</ol> -</div><div style="width: 100%; height: 20px"></div></div> -</div> -</div> -</div> -</div> -<div id="NBRM_res_div"> -<div id="NBRM_msvc"> -<div id="NBRM_pairing_priority_queue_text_push_pop_timing_test"> -<div id="NBRM_pq"> -<div id="NBRM_Native_tree_and__tt_pb_ds_455tt__pairing_priority_queue__tt_push_455tt__and__tt_pop_455tt__timing_test"><div style="border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NBRM" id="NBRM"><img src="pairing_priority_queue_text_push_pop_timing_test_msvc.png" alt="no image" /></a></h6>NBRM: Native tree and <tt>pb ds</tt> pairing priority queue <tt>push</tt> and <tt>pop</tt> timing test - <a href="pq_performance_tests.html#msvc">msvc++</a><p>In the above figure, the names in the legends have the following meaning:</p> -<ol> -<li> -n_pq_deque- -<tt>std::priority_queue</tt> adapting <tt>std::deque</tt></li> -<li> -n_pq_vector- -<tt>std::priority_queue</tt> adapting <tt>std::vector</tt></li> -<li> -pairing_heap- -<a href="priority_queue.html"><tt>priority_queue</tt></a> - with <tt>Tag</tt> = <a href="pairing_heap_tag.html"><tt>pairing_heap_tag</tt></a> -</li> -</ol> -</div><div style="width: 100%; height: 20px"></div></div> -</div> -</div> -</div> -</div> -<div id="NBRL_res_div"> -<div id="NBRL_local"> -<div id="NBRL_pairing_priority_queue_text_push_pop_timing_test"> -<div id="NBRL_pq"> -<div id="NBRL_Native_tree_and__tt_pb_ds_455tt__pairing_priority_queue__tt_push_455tt__and__tt_pop_455tt__timing_test"><div style = "border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NBRL" id= "NBRL"><img src="pairing_priority_queue_text_push_pop_timing_test_local.png" alt="no image" /></a></h6>NBRL: Native tree and <tt>pb ds</tt> pairing priority queue <tt>push</tt> and <tt>pop</tt> timing test - <a href = "pq_performance_tests.html#local">local</a></div><div style = "width: 100%; height: 20px"></div></div> -</div> -</div> -</div> -</div> -<h2><a name="observations" id="observations">Observations</a></h2> -<p>These results are very similar to <a href="priority_queue_text_push_timing_test.html">Priority Queue Text - <tt>push</tt> Timing Test</a>. As stated there, pairing heaps - (<a href="priority_queue.html"><tt>priority_queue</tt></a> with - <tt>Tag</tt> = <a href="pairing_heap_tag.html"><tt>pairing_heap_tag</tt></a>) - are most suited for <tt>push</tt> and <tt>pop</tt> sequences of - non-primitive types such as strings. Observing these two tests, - one can note that a pairing heap outperforms the others in - terms of <tt>push</tt> operations, but equals binary heaps - (<a href="priority_queue.html"><tt>priority_queue</tt></a> with - <tt>Tag</tt> = <a href="binary_heap_tag.html"><tt>binary_heap_tag</tt></a>) if - the number of <tt>push</tt> and <tt>pop</tt> operations is - equal. As the number of <tt>pop</tt> operations is at most - equal to the number of <tt>push</tt> operations, pairing heaps - are better in this case. See <a href="priority_queue_random_int_push_pop_timing_test.html">Priority - Queue Random Integer <tt>push</tt> and <tt>pop</tt> Timing - Test</a> for a case which is different.</p> -<p><a href="pq_performance_tests.html#pq_observations">Priority-Queue - Performance Tests::Observations</a> discusses this further and - summarizes.</p> -</div> -</body> -</html> diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_push_pop_timing_test_gcc.png b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_push_pop_timing_test_gcc.png Binary files differdeleted file mode 100644 index d4886ae59..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_push_pop_timing_test_gcc.png +++ /dev/null diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_push_pop_timing_test_local.png b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_push_pop_timing_test_local.png Binary files differdeleted file mode 100644 index a7c5f8987..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_push_pop_timing_test_local.png +++ /dev/null diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_push_pop_timing_test_msvc.png b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_push_pop_timing_test_msvc.png Binary files differdeleted file mode 100644 index a5720402b..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_push_pop_timing_test_msvc.png +++ /dev/null diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_push_timing_test.html b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_push_timing_test.html deleted file mode 100644 index 542eb913c..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_push_timing_test.html +++ /dev/null @@ -1,219 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" - "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> -<head> -<meta name="generator" content="HTML Tidy for Linux/x86 (vers 12 April 2005), see www.w3.org" /> -<title>Priority Queue Text Push Timing Test</title> -<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" /> -</head> -<body> -<div id="page"> -<h1>Priority Queue Text <tt>push</tt> Timing Test</h1> -<h2><a name="description" id="description">Description</a></h2> -<p>This test inserts a number of values with keys from an - arbitrary text ([ <a href="references.html#wickland96thirty">wickland96thirty</a> ]) into - a container using <tt>push</tt> . It measures the average time - for <tt>push</tt> as a function of the number of values - pushed.</p> -<p>(The test was executed with <a href="http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/testsuite/performance/ext/pb_ds/priority_queue_text_push_timing.cc"><tt>priority_queue_text_push_timing_test</tt></a> - thirty_years_among_the_dead_preproc.txt 200 200 2100)</p> -<h2><a name="purpose" id="purpose">Purpose</a></h2> -<p>The test checks the effect of different underlying - data structures (see <a href="pq_design.html#pq_imp">Design::Priority - Queues::Implementations</a>).</p> -<h2><a name="results" id="results">Results</a></h2> -<p>Figures <a href="#NPG">NPG</a>, <a href="#NPM">NPM</a>, and - <a href="#NPL">NPL</a> show the results for the native priority - queues and <tt>pb_ds</tt> 's priority queues in <a href="pq_performance_tests.html#gcc"><u>g++</u></a>, <a href="pq_performance_tests.html#msvc"><u>msvc++</u></a>, and - <a href="pq_performance_tests.html#local"><u>local</u></a>, - respectively; Figures <a href="#NBRG">NBRG</a>, <a href="#NBRM">NBRM</a>, and <a href="#NBRL">NBRL</a> shows the - results for the binary-heap based native priority queues and - <tt>pb_ds</tt>'s pairing-heap priority queues in <a href="pq_performance_tests.html#gcc"><u>g++</u></a>, <a href="pq_performance_tests.html#msvc"><u>msvc++</u></a>, and - <a href="pq_performance_tests.html#local"><u>local</u></a>, - respectively</p> -<div id="NPG_res_div"> -<div id="NPG_gcc"> -<div id="NPG_priority_queue_text_push_timing_test"> -<div id="NPG_pq"> -<div id="NPG_Native_and__tt_pb_ds_455tt__priority_queue__tt_push_455tt__timing_test"><div style="border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NPG" id="NPG"><img src="priority_queue_text_push_timing_test_gcc.png" alt="no image" /></a></h6>NPG: Native and <tt>pb ds</tt> priority queue <tt>push</tt> timing test - <a href="pq_performance_tests.html#gcc">g++</a><p>In the above figure, the names in the legends have the following meaning:</p> -<ol> -<li> -n_pq_vector- -<tt>std::priority_queue</tt> adapting <tt>std::vector</tt></li> -<li> -n_pq_deque- -<tt>std::priority_queue</tt> adapting <tt>std::deque</tt></li> -<li> -binary_heap- -<a href="priority_queue.html"><tt>priority_queue</tt></a> - with <tt>Tag</tt> = <a href="binary_heap_tag.html"><tt>binary_heap_tag</tt></a> -</li> -<li> -rc_binomial_heap- -<a href="priority_queue.html"><tt>priority_queue</tt></a> - with <tt>Tag</tt> = <a href="rc_binomial_heap_tag.html"><tt>rc_binomial_heap_tag</tt></a> -</li> -<li> -thin_heap- -<a href="priority_queue.html"><tt>priority_queue</tt></a> - with <tt>Tag</tt> = <a href="thin_heap_tag.html"><tt>thin_heap_tag</tt></a> -</li> -<li> -binomial_heap- -<a href="priority_queue.html"><tt>priority_queue</tt></a> - with <tt>Tag</tt> = <a href="binomial_heap_tag.html"><tt>binomial_heap_tag</tt></a> -</li> -<li> -pairing_heap- -<a href="priority_queue.html"><tt>priority_queue</tt></a> - with <tt>Tag</tt> = <a href="pairing_heap_tag.html"><tt>pairing_heap_tag</tt></a> -</li> -</ol> -</div><div style="width: 100%; height: 20px"></div></div> -</div> -</div> -</div> -</div> -<div id="NPM_res_div"> -<div id="NPM_msvc"> -<div id="NPM_priority_queue_text_push_timing_test"> -<div id="NPM_pq"> -<div id="NPM_Native_and__tt_pb_ds_455tt__priority_queue__tt_push_455tt__timing_test"><div style="border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NPM" id="NPM"><img src="priority_queue_text_push_timing_test_msvc.png" alt="no image" /></a></h6>NPM: Native and <tt>pb ds</tt> priority queue <tt>push</tt> timing test - <a href="pq_performance_tests.html#msvc">msvc++</a><p>In the above figure, the names in the legends have the following meaning:</p> -<ol> -<li> -n_pq_deque- -<tt>std::priority_queue</tt> adapting <tt>std::deque</tt></li> -<li> -rc_binomial_heap- -<a href="priority_queue.html"><tt>priority_queue</tt></a> - with <tt>Tag</tt> = <a href="rc_binomial_heap_tag.html"><tt>rc_binomial_heap_tag</tt></a> -</li> -<li> -binary_heap- -<a href="priority_queue.html"><tt>priority_queue</tt></a> - with <tt>Tag</tt> = <a href="binary_heap_tag.html"><tt>binary_heap_tag</tt></a> -</li> -<li> -binomial_heap- -<a href="priority_queue.html"><tt>priority_queue</tt></a> - with <tt>Tag</tt> = <a href="binomial_heap_tag.html"><tt>binomial_heap_tag</tt></a> -</li> -<li> -n_pq_vector- -<tt>std::priority_queue</tt> adapting <tt>std::vector</tt></li> -<li> -pairing_heap- -<a href="priority_queue.html"><tt>priority_queue</tt></a> - with <tt>Tag</tt> = <a href="pairing_heap_tag.html"><tt>pairing_heap_tag</tt></a> -</li> -<li> -thin_heap- -<a href="priority_queue.html"><tt>priority_queue</tt></a> - with <tt>Tag</tt> = <a href="thin_heap_tag.html"><tt>thin_heap_tag</tt></a> -</li> -</ol> -</div><div style="width: 100%; height: 20px"></div></div> -</div> -</div> -</div> -</div> -<div id="NPL_res_div"> -<div id="NPL_local"> -<div id="NPL_priority_queue_text_push_timing_test"> -<div id="NPL_pq"> -<div id="NPL_Native_and__tt_pb_ds_455tt__priority_queue__tt_push_455tt__timing_test"><div style = "border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NPL" id= "NPL"><img src="priority_queue_text_push_timing_test_local.png" alt="no image" /></a></h6>NPL: Native and <tt>pb ds</tt> priority queue <tt>push</tt> timing test - <a href = "pq_performance_tests.html#local">local</a></div><div style = "width: 100%; height: 20px"></div></div> -</div> -</div> -</div> -</div> -<div id="NBRG_res_div"> -<div id="NBRG_gcc"> -<div id="NBRG_pairing_priority_queue_text_push_timing_test"> -<div id="NBRG_pq"> -<div id="NBRG_Native_and__tt_pb_ds_455tt__pairing_priority_queue__tt_push_455tt__timing_test"><div style="border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NBRG" id="NBRG"><img src="pairing_priority_queue_text_push_timing_test_gcc.png" alt="no image" /></a></h6>NBRG: Native and <tt>pb ds</tt> pairing priority queue <tt>push</tt> timing test - <a href="pq_performance_tests.html#gcc">g++</a><p>In the above figure, the names in the legends have the following meaning:</p> -<ol> -<li> -n_pq_vector- -<tt>std::priority_queue</tt> adapting <tt>std::vector</tt></li> -<li> -n_pq_deque- -<tt>std::priority_queue</tt> adapting <tt>std::deque</tt></li> -<li> -thin_heap- -<a href="priority_queue.html"><tt>priority_queue</tt></a> - with <tt>Tag</tt> = <a href="thin_heap_tag.html"><tt>thin_heap_tag</tt></a> -</li> -<li> -pairing_heap- -<a href="priority_queue.html"><tt>priority_queue</tt></a> - with <tt>Tag</tt> = <a href="pairing_heap_tag.html"><tt>pairing_heap_tag</tt></a> -</li> -</ol> -</div><div style="width: 100%; height: 20px"></div></div> -</div> -</div> -</div> -</div> -<div id="NBRM_res_div"> -<div id="NBRM_msvc"> -<div id="NBRM_pairing_priority_queue_text_push_timing_test"> -<div id="NBRM_pq"> -<div id="NBRM_Native_and__tt_pb_ds_455tt__pairing_priority_queue__tt_push_455tt__timing_test"><div style="border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NBRM" id="NBRM"><img src="pairing_priority_queue_text_push_timing_test_msvc.png" alt="no image" /></a></h6>NBRM: Native and <tt>pb ds</tt> pairing priority queue <tt>push</tt> timing test - <a href="pq_performance_tests.html#msvc">msvc++</a><p>In the above figure, the names in the legends have the following meaning:</p> -<ol> -<li> -n_pq_deque- -<tt>std::priority_queue</tt> adapting <tt>std::deque</tt></li> -<li> -n_pq_vector- -<tt>std::priority_queue</tt> adapting <tt>std::vector</tt></li> -<li> -pairing_heap- -<a href="priority_queue.html"><tt>priority_queue</tt></a> - with <tt>Tag</tt> = <a href="pairing_heap_tag.html"><tt>pairing_heap_tag</tt></a> -</li> -<li> -thin_heap- -<a href="priority_queue.html"><tt>priority_queue</tt></a> - with <tt>Tag</tt> = <a href="thin_heap_tag.html"><tt>thin_heap_tag</tt></a> -</li> -</ol> -</div><div style="width: 100%; height: 20px"></div></div> -</div> -</div> -</div> -</div> -<div id="NBRL_res_div"> -<div id="NBRL_local"> -<div id="NBRL_pairing_priority_queue_text_push_timing_test"> -<div id="NBRL_pq"> -<div id="NBRL_Native_and__tt_pb_ds_455tt__pairing_priority_queue__tt_push_455tt__timing_test"><div style = "border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NBRL" id= "NBRL"><img src="pairing_priority_queue_text_push_timing_test_local.png" alt="no image" /></a></h6>NBRL: Native and <tt>pb ds</tt> pairing priority queue <tt>push</tt> timing test - <a href = "pq_performance_tests.html#local">local</a></div><div style = "width: 100%; height: 20px"></div></div> -</div> -</div> -</div> -</div> -<h2><a name="observations" id="observations">Observations</a></h2> -<p>Pairing heaps (<a href="priority_queue.html"><tt>priority_queue</tt></a> with - <tt>Tag</tt> = <a href="pairing_heap_tag.html"><tt>pairing_heap_tag</tt></a>) - are the most suited for sequences of <tt>push</tt> and - <tt>pop</tt> operations of non-primitive types (<i>e.g.</i> -<tt>std::string</tt>s). (see also <a href="priority_queue_text_push_pop_timing_test.html">Priority Queue - Text <tt>push</tt> and <tt>pop</tt> Timing Test</a>.) They are - less constrained than binomial heaps, <i>e.g.</i>, and since - they are node-based, they outperform binary heaps. (See - <a href="priority_queue_random_int_push_timing_test.html">Priority - Queue Random Integer <tt>push</tt> Timing Test</a> for the case - of primitive types.)</p> -<p>The STL's priority queues do not seem to perform well in - this case: the <tt>std::vector</tt> implementation needs to - perform a logarithmic sequence of string operations for each - operation, and the deque implementation is possibly hampered by - its need to manipulate a relatively-complex type (deques - support a <i>O(1)</i> <tt>push_front</tt>, even though it is - not used by <tt>std::priority_queue</tt>.)</p> -<p><a href="pq_performance_tests.html#pq_observations">Priority-Queue - Performance Tests::Observations</a> discusses this further and - summarizes.</p> -</div> -</body> -</html> diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_push_timing_test_gcc.png b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_push_timing_test_gcc.png Binary files differdeleted file mode 100644 index 8895f507c..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_push_timing_test_gcc.png +++ /dev/null diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_push_timing_test_local.png b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_push_timing_test_local.png Binary files differdeleted file mode 100644 index da7297bff..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_push_timing_test_local.png +++ /dev/null diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_push_timing_test_msvc.png b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_push_timing_test_msvc.png Binary files differdeleted file mode 100644 index ff39ca37d..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/priority_queue_text_push_timing_test_msvc.png +++ /dev/null diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/quadratic_probe_fn.html b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/quadratic_probe_fn.html deleted file mode 100644 index 00367dac8..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/quadratic_probe_fn.html +++ /dev/null @@ -1,141 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" - "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> -<head> - <meta name="generator" content= - "HTML Tidy for Linux/x86 (vers 12 April 2005), see www.w3.org" /> - - <title>quadratic_probe_fn Interface</title> - <meta http-equiv="Content-Type" content= - "text/html; charset=us-ascii" /> - </head> - -<body> - <div id="page"> - <h1><tt>quadratic_probe_fn</tt> Interface</h1> - - <p>A probe sequence policy using square increments.</p> - - <p>Defined in: <a href= - "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/include/ext/pb_ds/hash_policy.hpp"><tt>hash_policy.hpp</tt></a></p> - - <h2><a name="link1" id="link1">Template Parameters</a></h2> - - <table class="c1" width="100%" border="1" summary= - "Template Parameters"> - <tr> - <td width="20%" align="left"><b>Parameter</b></td> - - <td width="50%" align="left"><b>Description</b></td> - - <td width="30%" align="left"><b>Default Value</b></td> - </tr> - - <tr> - <td> - <pre> -<a name="Size_Type42920436" id= -"Size_Type42920436"><b>typename</b> Size_Type </a> -</pre> - </td> - - <td> - <p>Size type.</p> - </td> - - <td>size_t</td> - </tr> - </table> - - <h2><a name="link2" id="link2">Public Types and - Constants</a></h2> - - <h3><a name="link3" id="link3">General Definitions</a></h3> - - <table class="c1" width="100%" border="1" summary="Types"> - <tr> - <td width="30%" align="left"><b>Type</b></td> - - <td width="55%" align="left"><b>Definition</b></td> - - <td width="15%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -<a name="size_type55424436" id="size_type55424436">size_type</a> -</pre> - </td> - - <td> - <pre> -<a href="#Size_Type42920436"><tt>Size_Type</tt></a> -</pre> - </td> - - <td> - <p>Size type.</p> - </td> - </tr> - </table> - - <h2><a name="link4" id="link4">Public Methods</a></h2> - - <h3><a name="link5" id="link5">Constructors, Destructor, and - Related</a></h3> - - <table class="c1" width="100%" border="1" summary="Methods"> - <tr> - <td width="45%" align="left"><b>Method</b></td> - - <td width="55%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -<b>void</b> - swap - (<span class= -"c2"><tt>quadratic_probe_fn</tt></span> &other) -</pre> - </td> - - <td> - <p>Swaps content.</p> - </td> - </tr> - </table> - - <h2><a name="link6" id="link6">Protected Methods</a></h2> - - <h3><a name="link7" id="link7">Offset Methods</a></h3> - - <table class="c1" width="100%" border="1" summary="Methods"> - <tr> - <td width="45%" align="left"><b>Method</b></td> - - <td width="55%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -<b>inline</b> <a href="#size_type55424436"><tt>size_type</tt></a> - <b>operator</b>() - (<a href= -"#size_type55424436"><tt>size_type</tt></a> i) <b>const</b> -</pre> - </td> - - <td> - <p>Returns the <span class="c1"><tt>i</tt></span>-th - offset from the hash value.</p> - </td> - </tr> - </table> - </div> -</body> -</html> diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/random_int_find_find_timing_test_tree_gcc.png b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/random_int_find_find_timing_test_tree_gcc.png Binary files differdeleted file mode 100644 index 61962704f..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/random_int_find_find_timing_test_tree_gcc.png +++ /dev/null diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/random_int_find_find_timing_test_tree_local.png b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/random_int_find_find_timing_test_tree_local.png Binary files differdeleted file mode 100644 index 83105202a..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/random_int_find_find_timing_test_tree_local.png +++ /dev/null diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/random_int_find_find_timing_test_tree_msvc.png b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/random_int_find_find_timing_test_tree_msvc.png Binary files differdeleted file mode 100644 index 2206cef5a..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/random_int_find_find_timing_test_tree_msvc.png +++ /dev/null diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/range_invalidation_guarantee.html b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/range_invalidation_guarantee.html deleted file mode 100644 index 7bfba19e8..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/range_invalidation_guarantee.html +++ /dev/null @@ -1,52 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" - "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> -<head> - <meta name="generator" content= - "HTML Tidy for Linux/x86 (vers 12 April 2005), see www.w3.org" /> - - <title>range_invalidation_guarantee Interface</title> - <meta http-equiv="Content-Type" content= - "text/html; charset=us-ascii" /> - </head> - -<body> - <div id="page"> - <h1><tt>range_invalidation_guarantee</tt> Interface</h1> - - <p>Signifies an invalidation guarantee that includes all those - of its base, and additionally, that any range-type iterator - (including the returns of begin() and end()) is in the correct - relative positions to other range-type iterators as long as its - corresponding entry has not be erased, regardless of - modifications to the container object.</p> - - <p>Defined in: <a href= - "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/include/ext/pb_ds/tag_and_trait.hpp"><tt>tag_and_trait.hpp</tt></a></p> - - <h2><a name="link1" id="link1">Base Classes</a></h2> - - <table class="c1" width="100%" border="1" summary="Bases"> - <tr> - <td width="80%" align="left"><b>Class</b></td> - - <td width="20%" align="left"><b>Derivation Type</b></td> - </tr> - - <tr> - <td> - <pre> -<a href="point_invalidation_guarantee.html"><span class= -"c2"><tt>point_invalidation_guarantee</tt></span></a> -</pre> - </td> - - <td> - <p>public</p> - </td> - </tr> - </table> - </div> -</body> -</html> diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/rationale_null_node_updator.png b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/rationale_null_node_updator.png Binary files differdeleted file mode 100644 index 438748915..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/rationale_null_node_updator.png +++ /dev/null diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/rb_tree_tag.html b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/rb_tree_tag.html deleted file mode 100644 index 2adbd09bf..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/rb_tree_tag.html +++ /dev/null @@ -1,47 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" - "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> -<head> - <meta name="generator" content= - "HTML Tidy for Linux/x86 (vers 12 April 2005), see www.w3.org" /> - - <title>rb_tree_tag Interface</title> - <meta http-equiv="Content-Type" content= - "text/html; charset=us-ascii" /> - </head> - -<body> - <div id="page"> - <h1><tt>rb_tree_tag</tt> Interface</h1> - - <p>Red-black tree data structure tag.</p> - - <p>Defined in: <a href= - "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/include/ext/pb_ds/tag_and_trait.hpp"><tt>tag_and_trait.hpp</tt></a></p> - - <h2><a name="link1" id="link1">Base Classes</a></h2> - - <table class="c1" width="100%" border="1" summary="Bases"> - <tr> - <td width="80%" align="left"><b>Class</b></td> - - <td width="20%" align="left"><b>Derivation Type</b></td> - </tr> - - <tr> - <td> - <pre> -<a href="tree_tag.html"><span class= -"c2"><tt>tree_tag</tt></span></a> -</pre> - </td> - - <td> - <p>public</p> - </td> - </tr> - </table> - </div> -</body> -</html> diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/rc_binomial_heap_tag.html b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/rc_binomial_heap_tag.html deleted file mode 100644 index 1a4ba9f2e..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/rc_binomial_heap_tag.html +++ /dev/null @@ -1,47 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" - "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> -<head> - <meta name="generator" content= - "HTML Tidy for Linux/x86 (vers 12 April 2005), see www.w3.org" /> - - <title>rc_binomial_heap_tag Interface</title> - <meta http-equiv="Content-Type" content= - "text/html; charset=us-ascii" /> - </head> - -<body> - <div id="page"> - <h1><tt>rc_binomial_heap_tag</tt> Interface</h1> - - <p>Redundant-counter binomial-heap data structure tag.</p> - - <p>Defined in: <a href= - "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/include/ext/pb_ds/tag_and_trait.hpp"><tt>tag_and_trait.hpp</tt></a></p> - - <h2><a name="link1" id="link1">Base Classes</a></h2> - - <table class="c1" width="100%" border="1" summary="Bases"> - <tr> - <td width="80%" align="left"><b>Class</b></td> - - <td width="20%" align="left"><b>Derivation Type</b></td> - </tr> - - <tr> - <td> - <pre> -<a href="priority_queue_tag.html"><span class= -"c2"><tt>priority_queue_tag</tt></span></a> -</pre> - </td> - - <td> - <p>public</p> - </td> - </tr> - </table> - </div> -</body> -</html> diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/references.html b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/references.html deleted file mode 100644 index b96827bd3..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/references.html +++ /dev/null @@ -1,258 +0,0 @@ -<!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" xml:lang="en" lang="en"> -<head> - <meta name="generator" content= - "HTML Tidy for Linux/x86 (vers 12 April 2005), see www.w3.org" /> - - <title>References</title> - <meta http-equiv="Content-Type" content= - "text/html; charset=us-ascii" /> - </head> - -<body> - <div id="page"> - <h1>References</h1> - - <ol> - <li>[<a name="abrahams97exception" id= - "abrahams97exception">abrahams97exception</a>] Dave Abrahams, - STL Exception Handling Contract, <a href= - "http://anubis.dkuug.dk/jtc1/sc22/wg21/docs/papers/1997/N1075.pdf"> - http://anubis.dkuug.dk/jtc1/sc22/wg21/docs/papers/1997/N1075.pdf</a></li> - - <li>[<a name="alexandrescu01modern" id= - "alexandrescu01modern">alexandrescu01modern</a>] Andrei - Alexandrescu, <i>Modern C++ Design: Generic Programming and - Design Patterns Applied</i>, Addison-Wesley Publishing - Company, 2001</li> - - <li>[<a name="andrew04mtf" id="andrew04mtf">andrew04mtf</a>] - K. Andrew and D. Gleich, "MTF, Bit, and COMB: A Guide to - Deterministic and Randomized Algorithms for the List Update - Problem"</li> - - <li>[<a name="austern00noset" id= - "austern00noset">austern00noset</a>] Matthew Austern, "Why - You shouldn't use <tt>set</tt> - and What You Should Use - Instead", C++ Report, April, 2000</li> - - <li>[<a name="austern01htprop" id= - "austern01htprop">austern01htprop</a>] Matthew Austern, "A - Proposal to Add Hashtables to the Standard Library", <a href= - "http://anubis.dkuug.dk/jtc1/sc22/wg21/docs/papers/2001/n1326l.html"> - http://anubis.dkuug.dk/jtc1/sc22/wg21/docs/papers/2001/n1326l.html</a></li> - - <li>[<a name="austern98segmented" id= - "austern98segmented">austern98segmented</a>] Matthew Austern, - "Segmented iterators and hierarchical algorithms", Generic - Programming, April 1998, pp. 80-90</li> - - <li>[<a name="boost_timer" id="boost_timer">boost_timer</a>], - "Boost timer library", <a href= - "http://www.boost.org/">http://www.boost.org</a> by Beman - Dawes</li> - - <li>[<a name="boost_pool" id="boost_pool">boost_pool</a>], - "Boost pool library", <a href= - "http://www.boost.org/">http://www.boost.org</a> by Stephen - Cleary</li> - - <li>[<a name="boost_type_traits" id= - "boost_type_traits">boost_type_traits</a>], "Boost - <tt>type_traits</tt> library", <a href= - "http://www.boost.org/">http://www.boost.org</a> by John - Maddock, Steve Cleary, <i>et. al.</i></li> - - <li>[<a name="brodal96priority" id= - "brodal96priority">brodal96priority</a>] Gerth Stolting - Brodal, <a href= - "http://portal.acm.org/citation.cfm?id=313883">Worst-case - efficient priority queues</a></li> - - <li>[<a name="bulka99efficient" id= - "bulka99efficient">bulka99efficient</a>] D. Bulka, and D. - Mayhew, "Efficient C++ Programming Techniques.", - Addison-Wesley Publishing Company, Addison-Wesley, 1997</li> - - <li>[<a name="clrs2001" id="clrs2001">clrs2001</a>] T. H. - Cormen, C. E., Leiserson, R. L. Rivest, C. and Stein, - "Introduction to Algorithms, 2nd ed.", MIT Press, 2001</li> - - <li>[<a name="dinkumware_stl" id= - "dinkumware_stl">dinkumware_stl</a>], "Dinkumware C++ Library - Reference", <a href= - "http://www.dinkumware.com/htm_cpl/index.html">http://www.dinkumware.com/htm_cpl/index.html</a></li> - - <li>[<a name="dubhashi98neg" id= - "dubhashi98neg">dubhashi98neg</a>] D. Dubashi, and D. Ranjan, - "Balls and bins: A study in negative dependence.", Random - Structures and Algorithms 13, 2 (1998), 99-124</li> - - <li>[<a name="fagin79extendible" id= - "fagin79extendible">fagin79extendible</a>] R. Fagin, J. - Nievergelt, N. Pippenger, and H. R. Strong, "Extendible - hashing - a fast access method for dynamic files", ACM Trans. - Database Syst. 4, 3 (1979), 315-344</li> - - <li>[<a name="filliatre2000ptset" id= - "filliatre2000ptset">filliatre2000ptset</a>], J. C. - Filliatre, "Ptset: Sets of integers implemented as Patricia - trees", <a href= - "http://www.lri.fr/~filliatr/ftp/ocaml/misc/ptset.ml">http://www.lri.fr/~filliatr/ftp/ocaml/misc/ptset.ml</a></li> - - <li>[<a name="fredman86pairing" id= - "fredman86pairing">fredman86pairing</a>], M. L. Fredman, R - Sedgewick, D. D. Sleator, R. E. Tarjan, <a href= - "http://www.cs.cmu.edu/~sleator/papers/pairing-heaps.pdf">The - pairing heap: a new form of self-adjusting heap</a></li> - - <li>[<a name="gamma95designpatterns" id= - "gamma95designpatterns">gamma95designpatterns</a>] E. Gamma, - R. Helm, R. Johnson, and J. Vlissides, "Design Patterns - - Elements of Reusable Object-Oriented Software", - Addison-Wesley Publishing Company, Addison-Wesley, 1995</li> - - <li>[<a name="garg86order" id="garg86order">garg86order</a>] - A. K. Garg and C. C. Gotlieb, "Order-preserving key - transformations", Trans. Database Syst. 11, 2 (1986), - 213-234</li> - - <li>[<a name="hyslop02making" id= - "hyslop02making">hyslop02making</a>] J. Hyslop, and H. - Sutter, "Making a real hash of things", C++ Report, May - 2002</li> - - <li>[<a name="jossutis01stl" id= - "jossutis01stl">jossutis01stl</a>] N. M. Jossutis, "The C++ - Standard Library - A Tutorial and Reference", Addison-Wesley - Publishing Company, Addison-Wesley, 2001</li> - - <li>[<a name="kt99fat_heaps" id= - "kt99fat_heaps">kt99fat_heas</a>] Haim Kaplan and Robert E. - Tarjan, <a href= - "http://www.cs.princeton.edu/research/techreps/TR-597-99">New - Heap Data Structures</a></li> - - <li>[<a name="kleft00sets" id="kleft00sets">kleft00sets</a>] - Klaus Kleft and Angelika Langer, "Are Set Iterators Mutable - or Immutable?", C/C++ Users Jornal, October 2000</li> - - <li>[<a name="knuth98sorting" id= - "knuth98sorting">knuth98sorting</a>] D. E. Knuth, "The Art of - Computer Programming - Sorting and Searching", Addison-Wesley - Publishing Company, Addison-Wesley, 1998</li> - - <li>[<a name="liskov98data" id= - "liskov98data">liskov98data</a>] B. Liskov, "Data abstraction - and hierarchy", SIGPLAN Notices 23, 5 (May 1998)</li> - - <li>[<a name="litwin80lh" id="litwin80lh">litwin80lh</a>] W. - Litwin, "Linear hashing: A new tool for file and table - addressing", Proceedings of International Conference on Very - Large Data Bases (June 1980), pp. 212-223</li> - - <li>[<a name="maverik_lowerbounds" id= - "maverik_lowerbounds">maverik_lowerbounds</a>] Maverik Woo, - <a href= - "http://magic.aladdin.cs.cmu.edu/2005/08/01/deamortization-part-2-binomial-heaps/"> - Deamortization - Part 2: Binomial Heaps</a></li> - - <li>[<a name="metrowerks_stl" id= - "metrowerks_stl">metrowerks_stl</a>], "Metrowerks CodeWarrior - Pro 7 MSL C++ Reference Manual",</li> - - <li>[<a name="meyers96more" id= - "meyers96more">meyers96more</a>] S. Meyers, "More Effective - C++: 35 New Ways to Improve Your Programs and Designs - 2nd - ed.", Addison-Wesley Publishing Company, Addison-Wesley, - 1996</li> - - <li>[<a name="meyers00nonmember" id= - "meyers00nonmember">meyers00nonmember</a>] S. Meyers, "How - Non-Member Functions Improve Encapsulation", C/C++ Users - Journal, 2000</li> - - <li>[<a name="meyers01stl" id="meyers01stl">meyers01stl</a>] - S. Meyers, "Effective STL: 50 Specific Ways to Improve Your - Use of the Standard Template Library", Addison-Wesley - Publishing Company, Addison-Wesley, 2001</li> - - <li>[<a name="meyers02both" id= - "meyers02both">meyers02both</a>] S. Meyers, "Class Template, - Member Template - or Both?", C/C++ Users Journal, 2003</li> - - <li>[<a name="motwani95random" id= - "motwani95random">motwani95random</a>] R. Motwani, and P. - Raghavan, "Randomized Algorithms", Cambridge University - Press</li> - - <li>[<a name="mscom" id="mscom">mscom</a>] <a href= - "http://www.microsoft.com/com">COM: Component Model Object - Technologies</a></li> - - <li>[<a name="musser95rationale" id= - "musser95rationale">musser95rationale</a>], David R. Musser, - "Rationale for Adding Hash Tables to the C++ Standard - Template Library"</li> - - <li>[<a name="musser96stltutorial" id= - "musser96stltutorial">musser96stltutorial</a>] D. R. Musser - and A. Saini, "STL Tutorial and Reference Guide", - Addison-Wesley Publishing Company, Addison-Wesley, 1996</li> - - <li>[<a name="nelson96stlpq" id= - "nelson96stlpq">nelson96stlpql</a>] Mark Nelson, <a href= - "http://www.dogma.net/markn/articles/pq_stl/priority.htm">Priority - Queues and the STL</a>, Dr. Dobbs Journal, January, 1996</li> - - <li>[<a name="okasaki98mereable" id= - "okasaki98mereable">okasaki98mereable</a>] C. Okasaki and A. - Gill, "Fast mergeable integer maps", In Workshop on ML, pages - 77--86, September 1998. 95</li> - - <li>[<a name="sgi_stl" id="sgi_stl">sgi_stl</a>] SGI, - "Standard Template Library Programmer's Guide", <a href= - "http://www.sgi.com/tech/stl">http://www.sgi.com/tech/stl</a></li> - - <li>[<a name="select_man" id="select_man">select_man</a>] - <a href= - "http://www.scit.wlv.ac.uk/cgi-bin/mansec?3C+select"><tt>select</tt> - man page.</a></li> - - <li>[<a name="sleator84amortized" id= - "sleator84amortized">sleator84amortized</a>] D. D. Sleator - and R. E. Tarjan, "Amortized Efficiency of List Update - Problems", ACM Symposium on Theory of Computing, 1984</li> - - <li>[<a name="sleator85self" id= - "sleator85self">sleator85self</a>] D. D. Sleator and R. E. - Tarjan, "Self-Adjusting Binary Search Trees", ACM Symposium - on Theory of Computing, 1985</li> - - <li>[<a name="stepanov94standard" id= - "stepanov94standard">stepanov94standard</a>] A. A. Stepanov - and M. Lee", "The Standard Template Library"</li> - - <li>[<a name="stroustrup97cpp" id= - "stroustrup97cpp">stroustrup97cpp</a>] Bjarne Stroustrup, - <i>The C++ Programming Langugage -3rd ed.</i>, Addison-Wesley - Publishing Company,Reading, MA, USA, 1997</li> - - <li>[<a name="vandevoorde2002cpptemplates" id= - "vandevoorde2002cpptemplates">vandevoorde2002cpptemplates</a>] - D. Vandevoorde, and N. M. Josuttis, "C++ Templates: The - Complete Guide", Addison-Wesley Publishing Company, - Addison-Wesley, 2002</li> - - <li>[<a name="wickland96thirty" id= - "wickland96thirty">wickland96thirty</a>] C. A. Wickland, - "Thirty Years Among the Dead", National Psychological - Institute, Los Angeles, 1996,<a href= - "http://myweb.wvnet.edu/~gsa00121/books/amongdead30.zip">http://myweb.wvnet.edu/gsa00121/books/amongdead30.zip</a></li> - </ol> - <hr /> - </div> -</body> -</html> diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/resize_error.html b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/resize_error.html deleted file mode 100644 index 6aab88c15..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/resize_error.html +++ /dev/null @@ -1,50 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" - "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> -<head> -<meta name="generator" content= - "HTML Tidy for Linux/x86 (vers 12 April 2005), see www.w3.org" /> - -<title>resize_error Interface</title> -<meta http-equiv="Content-Type" content= - "text/html; charset=us-ascii" /> -</head> - -<body> -<div id="page"> -<h1><tt>resize_error</tt> Interface</h1> - -<p>A container cannot be resized.</p> - -<p>Exception thrown when a size policy cannot supply an - adequate size for an external resize.</p> - - <p>Defined in: <a href= - "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/include/ext/pb_ds/exception.hpp"><tt>exception.hpp</tt></a></p> - - <h2><a name="link1" id="link1">Base Classes</a></h2> - - <table class="c1" width="100%" border="1" summary="Bases"> - <tr> - <td width="80%" align="left"><b>Class</b></td> - - <td width="20%" align="left"><b>Derivation Type</b></td> - </tr> - - <tr> - <td> - <pre> - <a href="exceptions.html"><span class= - "c2"><tt>resize_error</tt></span></a> - </pre> - </td> - - <td> - <p>public</p> - </td> - </tr> - </table> - </div> - </body> - </html> diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/resize_policy_cd.png b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/resize_policy_cd.png Binary files differdeleted file mode 100644 index 338e33c15..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/resize_policy_cd.png +++ /dev/null diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/restoring_node_invariants.png b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/restoring_node_invariants.png Binary files differdeleted file mode 100644 index 33ba84bfe..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/restoring_node_invariants.png +++ /dev/null diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/sample_probe_fn.html b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/sample_probe_fn.html deleted file mode 100644 index 51dccce5c..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/sample_probe_fn.html +++ /dev/null @@ -1,152 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" - "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> -<head> - <meta name="generator" content= - "HTML Tidy for Linux/x86 (vers 12 April 2005), see www.w3.org" /> - - <title>sample_probe_fn Interface</title> - <meta http-equiv="Content-Type" content= - "text/html; charset=us-ascii" /> - </head> - -<body> - <div id="page"> - <h1><tt>sample_probe_fn</tt> Interface</h1> - - <p>A sample probe policy.</p> - - <p>This class serves to show the interface a probe functor - needs to support.</p> - - <p>Defined in: <a href= - "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/include/ext/pb_ds/detail/hash_fn/sample_probe_fn.hpp"><tt>sample_probe_fn.hpp</tt></a></p> - - <h2><a name="link1" id="link1">Public Types and - Constants</a></h2> - - <h3><a name="link2" id="link2">General definitions.</a></h3> - - <table class="c1" width="100%" border="1" summary="Types"> - <tr> - <td width="30%" align="left"><b>Type</b></td> - - <td width="55%" align="left"><b>Definition</b></td> - - <td width="15%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -<a name="size_type55424436" id="size_type55424436">size_type</a> -</pre> - </td> - - <td> - <pre> -size_t, e.g. -</pre> - </td> - - <td> - <p>Size type.</p> - </td> - </tr> - </table> - - <h2><a name="link3" id="link3">Public Methods</a></h2> - - <h3><a name="link4" id="link4">Constructors, destructor, and - related.</a></h3> - - <table class="c1" width="100%" border="1" summary="Methods"> - <tr> - <td width="45%" align="left"><b>Method</b></td> - - <td width="55%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> - sample_probe_fn - () -</pre> - </td> - - <td> - <p>Default constructor.</p> - - <p>Must be default constructable.</p> - </td> - </tr> - - <tr> - <td> - <pre> - sample_probe_fn - (<b>const</b> sample_probe_fn &other) -</pre> - </td> - - <td> - <p>Copy constructor.</p> - - <p>Must be copy constructable.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<b>inline</b> <b>void</b> - swap - (sample_probe_fn &other) -</pre> - </td> - - <td> - <p>Swaps content.</p> - - <p>Must be swappable (if there is such a word).</p> - </td> - </tr> - </table> - - <h2><a name="link5" id="link5">Protected Methods</a></h2> - - <h3><a name="link6" id="link6">Offset methods.</a></h3> - - <table class="c1" width="100%" border="1" summary="Methods"> - <tr> - <td width="45%" align="left"><b>Method</b></td> - - <td width="55%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -<b>inline</b> <a href="#size_type55424436"><tt>size_type</tt></a> - <b>operator</b>() - (const_key_reference r_key, - <a href= -"#size_type55424436"><tt>size_type</tt></a> i) <b>const</b> -</pre> - </td> - - <td> - <p>Returns the <span class="c1"><tt>i</tt></span>-th - offset from the hash value of some key <span class= - "c1"><tt>r_key</tt></span>.</p> - - <p><tt>size_type</tt> is the size type on which the - functor operates.</p> - </td> - </tr> - </table> - </div> -</body> -</html> diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/sample_range_hashing.html b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/sample_range_hashing.html deleted file mode 100644 index 85051873c..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/sample_range_hashing.html +++ /dev/null @@ -1,172 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" - "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> -<head> - <meta name="generator" content= - "HTML Tidy for Linux/x86 (vers 12 April 2005), see www.w3.org" /> - - <title>sample_range_hashing Interface</title> - <meta http-equiv="Content-Type" content= - "text/html; charset=us-ascii" /> - </head> - -<body> - <div id="page"> - <h1><tt>sample_range_hashing</tt> Interface</h1> - - <p>A sample range-hashing functor.</p> - - <p>This class serves to show the interface a range-hashing - functor needs to support.</p> - - <p>Defined in: <a href= - "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/include/ext/pb_ds/detail/hash_fn/sample_range_hashing.hpp"><tt>sample_range_hashing.hpp</tt></a></p> - - <h2><a name="link1" id="link1">Public Types and - Constants</a></h2> - - <h3><a name="link2" id="link2">General definitions.</a></h3> - - <table class="c1" width="100%" border="1" summary="Types"> - <tr> - <td width="30%" align="left"><b>Type</b></td> - - <td width="55%" align="left"><b>Definition</b></td> - - <td width="15%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -<a name="size_type55424436" id="size_type55424436">size_type</a> -</pre> - </td> - - <td> - <pre> -size_t, e.g. -</pre> - </td> - - <td> - <p>Size type.</p> - </td> - </tr> - </table> - - <h2><a name="link3" id="link3">Public Methods</a></h2> - - <h3><a name="link4" id="link4">Constructors, destructor, and - related.</a></h3> - - <table class="c1" width="100%" border="1" summary="Methods"> - <tr> - <td width="45%" align="left"><b>Method</b></td> - - <td width="55%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> - sample_range_hashing - () -</pre> - </td> - - <td> - <p>Default constructor.</p> - - <p>Must be default constructable.</p> - </td> - </tr> - - <tr> - <td> - <pre> - sample_range_hashing - (<b>const</b> sample_range_hashing &other) -</pre> - </td> - - <td> - <p>Copy constructor.</p> - - <p>Must be copy constructable.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<b>inline</b> <b>void</b> - swap - (sample_range_hashing &other) -</pre> - </td> - - <td> - <p>Swaps content.</p> - - <p>Must be swappable (if there is such a word).</p> - </td> - </tr> - </table> - - <h2><a name="link5" id="link5">Protected Methods</a></h2> - - <h3><a name="link6" id="link6">Notification methods.</a></h3> - - <table class="c1" width="100%" border="1" summary="Methods"> - <tr> - <td width="45%" align="left"><b>Method</b></td> - - <td width="55%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -<b>void</b> - notify_resized - (<a href="#size_type55424436"><tt>size_type</tt></a> size) -</pre> - </td> - - <td> - <p>Notifies the policy object that the container's size - has changed to <span class="c1"><tt>size</tt></span>.</p> - </td> - </tr> - </table> - - <h3><a name="link7" id="link7">Operators.</a></h3> - - <table class="c1" width="100%" border="1" summary="Methods"> - <tr> - <td width="45%" align="left"><b>Method</b></td> - - <td width="55%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -<b>inline</b> <a href="#size_type55424436"><tt>size_type</tt></a> - <b>operator</b>() - (<a href= -"#size_type55424436"><tt>size_type</tt></a> hash) <b>const</b> -</pre> - </td> - - <td> - <p>Transforms the hash value <span class= - "c1"><tt>hash</tt></span> into a ranged-hash value.</p> - </td> - </tr> - </table> - </div> -</body> -</html> diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/sample_ranged_hash_fn.html b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/sample_ranged_hash_fn.html deleted file mode 100644 index 834f49650..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/sample_ranged_hash_fn.html +++ /dev/null @@ -1,171 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" - "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> -<head> - <meta name="generator" content= - "HTML Tidy for Linux/x86 (vers 12 April 2005), see www.w3.org" /> - - <title>sample_ranged_hash_fn Interface</title> - <meta http-equiv="Content-Type" content= - "text/html; charset=us-ascii" /> - </head> - -<body> - <div id="page"> - <h1><tt>sample_ranged_hash_fn</tt> Interface</h1> - - <p>A sample ranged-hash functor.</p> - - <p>This class serves to show the interface a ranged-hash - functor needs to support.</p> - - <p>Defined in: <a href= - "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/include/ext/pb_ds/detail/hash_fn/sample_ranged_hash_fn.hpp"><tt>sample_ranged_hash_fn.hpp</tt></a></p> - - <h2><a name="link1" id="link1">Public Types and - Constants</a></h2> - - <h3><a name="link2" id="link2">General definitions.</a></h3> - - <table class="c1" width="100%" border="1" summary="Types"> - <tr> - <td width="30%" align="left"><b>Type</b></td> - - <td width="55%" align="left"><b>Definition</b></td> - - <td width="15%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -<a name="size_type55424436" id="size_type55424436">size_type</a> -</pre> - </td> - - <td> - <pre> -size_t, e.g. -</pre> - </td> - - <td> - <p>Size type.</p> - </td> - </tr> - </table> - - <h2><a name="link3" id="link3">Public Methods</a></h2> - - <h3><a name="link4" id="link4">Constructors, destructor, and - related.</a></h3> - - <table class="c1" width="100%" border="1" summary="Methods"> - <tr> - <td width="45%" align="left"><b>Method</b></td> - - <td width="55%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> - sample_ranged_hash_fn - () -</pre> - </td> - - <td> - <p>Default constructor.</p> - - <p>Must be default constructable.</p> - </td> - </tr> - - <tr> - <td> - <pre> - sample_ranged_hash_fn - (<b>const</b> sample_ranged_hash_fn &other) -</pre> - </td> - - <td> - <p>Copy constructor.</p> - - <p>Must be copy constructable.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<b>inline</b> <b>void</b> - swap - (sample_ranged_hash_fn &other) -</pre> - </td> - - <td> - <p>Swaps content.</p> - - <p>Must be swappable (if there is such a word).</p> - </td> - </tr> - </table> - - <h2><a name="link5" id="link5">Protected Methods</a></h2> - - <h3><a name="link6" id="link6">Notification methods.</a></h3> - - <table class="c1" width="100%" border="1" summary="Methods"> - <tr> - <td width="45%" align="left"><b>Method</b></td> - - <td width="55%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -<b>void</b> - notify_resized - (<a href="#size_type55424436"><tt>size_type</tt></a> size) -</pre> - </td> - - <td> - <p>Notifies the policy object that the container's size - has changed to <span class="c1"><tt>size</tt></span>.</p> - </td> - </tr> - </table> - - <h3><a name="link7" id="link7">Operators.</a></h3> - - <table class="c1" width="100%" border="1" summary="Methods"> - <tr> - <td width="45%" align="left"><b>Method</b></td> - - <td width="55%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -<b>inline</b> <a href="#size_type55424436"><tt>size_type</tt></a> - <b>operator</b>() - (const_key_reference r_key) <b>const</b> -</pre> - </td> - - <td> - <p>Transforms <span class="c1"><tt>r_key</tt></span> into - a position within the table.</p> - </td> - </tr> - </table> - </div> -</body> -</html> diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/sample_ranged_probe_fn.html b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/sample_ranged_probe_fn.html deleted file mode 100644 index ee1bc0664..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/sample_ranged_probe_fn.html +++ /dev/null @@ -1,178 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" - "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> -<head> - <meta name="generator" content= - "HTML Tidy for Linux/x86 (vers 12 April 2005), see www.w3.org" /> - - <title>sample_ranged_probe_fn Interface</title> - <meta http-equiv="Content-Type" content= - "text/html; charset=us-ascii" /> - </head> - -<body> - <div id="page"> - <h1><tt>sample_ranged_probe_fn</tt> Interface</h1> - - <p>A sample ranged-probe functor.</p> - - <p>This class serves to show the interface a ranged-probe - functor needs to support.</p> - - <p>Defined in: <a href= - "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/include/ext/pb_ds/detail/hash_fn/sample_ranged_probe_fn.hpp"><tt>sample_ranged_probe_fn.hpp</tt></a></p> - - <h2><a name="link1" id="link1">Public Types and - Constants</a></h2> - - <h3><a name="link2" id="link2">General definitions.</a></h3> - - <table class="c1" width="100%" border="1" summary="Types"> - <tr> - <td width="30%" align="left"><b>Type</b></td> - - <td width="55%" align="left"><b>Definition</b></td> - - <td width="15%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -<a name="size_type55424436" id="size_type55424436">size_type</a> -</pre> - </td> - - <td> - <pre> -size_t, e.g. -</pre> - </td> - - <td> - <p>Size type.</p> - </td> - </tr> - </table> - - <h2><a name="link3" id="link3">Public Methods</a></h2> - - <h3><a name="link4" id="link4">Constructors, destructor, and - related.</a></h3> - - <table class="c1" width="100%" border="1" summary="Methods"> - <tr> - <td width="45%" align="left"><b>Method</b></td> - - <td width="55%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> - sample_ranged_probe_fn - () -</pre> - </td> - - <td> - <p>Default constructor.</p> - - <p>Must be default constructable.</p> - </td> - </tr> - - <tr> - <td> - <pre> - sample_ranged_probe_fn - (<b>const</b> sample_ranged_probe_fn &other) -</pre> - </td> - - <td> - <p>Copy constructor.</p> - - <p>Must be copy constructable.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<b>inline</b> <b>void</b> - swap - (sample_ranged_probe_fn &other) -</pre> - </td> - - <td> - <p>Swaps content.</p> - - <p>Must be swappable (if there is such a word).</p> - </td> - </tr> - </table> - - <h2><a name="link5" id="link5">Protected Methods</a></h2> - - <h3><a name="link6" id="link6">Notification methods.</a></h3> - - <table class="c1" width="100%" border="1" summary="Methods"> - <tr> - <td width="45%" align="left"><b>Method</b></td> - - <td width="55%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -<b>void</b> - notify_resized - (<a href="#size_type55424436"><tt>size_type</tt></a> size) -</pre> - </td> - - <td> - <p>Notifies the policy object that the container's size - has changed to <span class="c1"><tt>size</tt></span>.</p> - </td> - </tr> - </table> - - <h3><a name="link7" id="link7">Operators.</a></h3> - - <table class="c1" width="100%" border="1" summary="Methods"> - <tr> - <td width="45%" align="left"><b>Method</b></td> - - <td width="55%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -<b>inline</b> <a href="#size_type55424436"><tt>size_type</tt></a> - <b>operator</b>() - (const_key_reference r_key, - size_t hash, - <a href= -"#size_type55424436"><tt>size_type</tt></a> i) <b>const</b> -</pre> - </td> - - <td> - <p>Transforms the <tt><b>const</b></tt> key reference - <span class="c1"><tt>r_key</tt></span> <span class= - "c1"><tt>into the </tt></span><span class= - "c1"><tt>i-th </tt></span>position within the table. This - method <span class="c1"><tt>i</tt></span>s called for - each collision within the probe sequence.</p> - </td> - </tr> - </table> - </div> -</body> -</html> diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/sample_resize_policy.html b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/sample_resize_policy.html deleted file mode 100644 index 61ff09ba0..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/sample_resize_policy.html +++ /dev/null @@ -1,413 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" - "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> -<head> - <meta name="generator" content= - "HTML Tidy for Linux/x86 (vers 12 April 2005), see www.w3.org" /> - - <title>sample_resize_policy Interface</title> - <meta http-equiv="Content-Type" content= - "text/html; charset=us-ascii" /> - </head> - -<body> - <div id="page"> - <h1><tt>sample_resize_policy</tt> Interface</h1> - - <p>A sample resize policy.</p> - - <p>This class serves to show the interface a resize policy - needs to support.</p> - - <p>Defined in: <a href= - "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/include/ext/pb_ds/detail/resize_policy/sample_resize_policy.hpp"><tt>sample_resize_policy.hpp</tt></a></p> - - <h2><a name="link1" id="link1">Public Types and - Constants</a></h2> - - <h3><a name="link2" id="link2">General definitions.</a></h3> - - <table class="c1" width="100%" border="1" summary="Types"> - <tr> - <td width="30%" align="left"><b>Type</b></td> - - <td width="55%" align="left"><b>Definition</b></td> - - <td width="15%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -<a name="size_type55424436" id="size_type55424436">size_type</a> -</pre> - </td> - - <td> - <pre> -size_t, e.g. -</pre> - </td> - - <td> - <p>Size type.</p> - </td> - </tr> - </table> - - <h2><a name="link3" id="link3">Public Methods</a></h2> - - <h3><a name="link4" id="link4">Constructors, destructor, and - related.</a></h3> - - <table class="c1" width="100%" border="1" summary="Methods"> - <tr> - <td width="45%" align="left"><b>Method</b></td> - - <td width="55%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> - sample_resize_policy - () -</pre> - </td> - - <td> - <p>Default constructor.</p> - - <p>Must be default constructable.</p> - </td> - </tr> - - <tr> - <td> - <pre> - sample_range_hashing - (<b>const</b> sample_resize_policy &other) -</pre> - </td> - - <td> - <p>Copy constructor.</p> - - <p>Must be copy constructable.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<b>inline</b> <b>void</b> - swap - (sample_resize_policy &other) -</pre> - </td> - - <td> - <p>Swaps content.</p> - - <p>Must be swappable (if there is such a word).</p> - </td> - </tr> - </table> - - <h2><a name="link5" id="link5">Protected Methods</a></h2> - - <h3><a name="link6" id="link6">Insert search - notifications.</a></h3> - - <p>Notifications called during an insert operation.</p> - - <table class="c1" width="100%" border="1" summary="Methods"> - <tr> - <td width="45%" align="left"><b>Method</b></td> - - <td width="55%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -<b>inline</b> <b>void</b> - notify_insert_search_start - () -</pre> - </td> - - <td> - <p>Notifies a search started.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<b>inline</b> <b>void</b> - notify_insert_search_collision - () -</pre> - </td> - - <td> - <p>Notifies a search encountered a collision.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<b>inline</b> <b>void</b> - notify_insert_search_end - () -</pre> - </td> - - <td> - <p>Notifies a search ended.</p> - </td> - </tr> - </table> - - <h3><a name="link7" id="link7">Find search - notifications.</a></h3> - - <p>Notifications called during a find operation.</p> - - <table class="c1" width="100%" border="1" summary="Methods"> - <tr> - <td width="45%" align="left"><b>Method</b></td> - - <td width="55%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -<b>inline</b> <b>void</b> - notify_find_search_start - () -</pre> - </td> - - <td> - <p>Notifies a search started.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<b>inline</b> <b>void</b> - notify_find_search_collision - () -</pre> - </td> - - <td> - <p>Notifies a search encountered a collision.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<b>inline</b> <b>void</b> - notify_find_search_end - () -</pre> - </td> - - <td> - <p>Notifies a search ended.</p> - </td> - </tr> - </table> - - <h3><a name="link8" id="link8">Erase search - notifications.</a></h3> - - <p>Notifications called during an insert operation.</p> - - <table class="c1" width="100%" border="1" summary="Methods"> - <tr> - <td width="45%" align="left"><b>Method</b></td> - - <td width="55%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -<b>inline</b> <b>void</b> - notify_erase_search_start - () -</pre> - </td> - - <td> - <p>Notifies a search started.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<b>inline</b> <b>void</b> - notify_erase_search_collision - () -</pre> - </td> - - <td> - <p>Notifies a search encountered a collision.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<b>inline</b> <b>void</b> - notify_erase_search_end - () -</pre> - </td> - - <td> - <p>Notifies a search ended.</p> - </td> - </tr> - </table> - - <h3><a name="link9" id="link9">Content change - notifications.</a></h3> - - <p>Notifications called when the content of the table changes - in a way that can affect the resize policy.</p> - - <table class="c1" width="100%" border="1" summary="Methods"> - <tr> - <td width="45%" align="left"><b>Method</b></td> - - <td width="55%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -<b>inline</b> <b>void</b> - notify_inserted - (<a href="#size_type55424436"><tt>size_type</tt></a> num_e) -</pre> - </td> - - <td> - <p>Notifies an element was inserted.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<b>inline</b> <b>void</b> - notify_erased - (<a href="#size_type55424436"><tt>size_type</tt></a> num_e) -</pre> - </td> - - <td> - <p>Notifies an element was erased.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<b>void</b> - notify_cleared - () -</pre> - </td> - - <td> - <p>Notifies the table was cleared.</p> - </td> - </tr> - </table> - - <h3><a name="link10" id="link10">Size change - notifications.</a></h3> - - <p>Notifications called when the table changes size.</p> - - <table class="c1" width="100%" border="1" summary="Methods"> - <tr> - <td width="45%" align="left"><b>Method</b></td> - - <td width="55%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -<b>void</b> - notify_resized - (<a href="#size_type55424436"><tt>size_type</tt></a> new_size) -</pre> - </td> - - <td> - <p>Notifies the table was resized to <span class= - "c1"><tt>new_size</tt></span>.</p> - </td> - </tr> - </table> - - <h3><a name="link11" id="link11">Queries.</a></h3> - - <p>Called to query whether/how to resize.</p> - - <table class="c1" width="100%" border="1" summary="Methods"> - <tr> - <td width="45%" align="left"><b>Method</b></td> - - <td width="55%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -<b>inline</b> <b>bool</b> - is_resize_needed - () <b>const</b> -</pre> - </td> - - <td> - <p>Queries whether a resize is needed.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<a href="#size_type55424436"><tt>size_type</tt></a> - get_new_size - (<a href="#size_type55424436"><tt>size_type</tt></a> size, - <a href= -"#size_type55424436"><tt>size_type</tt></a> num_used_e) <b>const</b> -</pre> - </td> - - <td> - <p>Queries what the new <span class= - "c1"><tt>size</tt></span> should be.</p> - </td> - </tr> - </table> - </div> -</body> -</html> diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/sample_resize_trigger.html b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/sample_resize_trigger.html deleted file mode 100644 index 5c8173c8e..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/sample_resize_trigger.html +++ /dev/null @@ -1,462 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" - "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> -<head> - <meta name="generator" content= - "HTML Tidy for Linux/x86 (vers 12 April 2005), see www.w3.org" /> - - <title>sample_resize_trigger Interface</title> - <meta http-equiv="Content-Type" content= - "text/html; charset=us-ascii" /> - </head> - -<body> - <div id="page"> - <h1><tt>sample_resize_trigger</tt> Interface</h1> - - <p>A sample resize trigger policy.</p> - - <p>This class serves to show the interface a trigger policy - needs to support.</p> - - <p>Defined in: <a href= - "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/include/ext/pb_ds/detail/resize_policy/sample_resize_trigger.hpp"><tt> - sample_resize_trigger.hpp</tt></a></p> - - <h2><a name="link1" id="link1">Public Types and - Constants</a></h2> - - <h3><a name="link2" id="link2">General definitions.</a></h3> - - <table class="c1" width="100%" border="1" summary="Types"> - <tr> - <td width="30%" align="left"><b>Type</b></td> - - <td width="55%" align="left"><b>Definition</b></td> - - <td width="15%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -<a name="size_type55424436" id="size_type55424436">size_type</a> -</pre> - </td> - - <td> - <pre> -size_t, e.g. -</pre> - </td> - - <td> - <p>Size type.</p> - </td> - </tr> - </table> - - <h2><a name="link3" id="link3">Public Methods</a></h2> - - <h3><a name="link4" id="link4">Constructors, destructor, and - related.</a></h3> - - <table class="c1" width="100%" border="1" summary="Methods"> - <tr> - <td width="45%" align="left"><b>Method</b></td> - - <td width="55%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> - sample_resize_trigger - () -</pre> - </td> - - <td> - <p>Default constructor.</p> - - <p>Must be default constructable.</p> - </td> - </tr> - - <tr> - <td> - <pre> - sample_range_hashing - (<b>const</b> sample_resize_trigger &other) -</pre> - </td> - - <td> - <p>Copy constructor.</p> - - <p>Must be copy constructable.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<b>inline</b> <b>void</b> - swap - (sample_resize_trigger &other) -</pre> - </td> - - <td> - <p>Swaps content.</p> - - <p>Must be swappable (if there is such a word).</p> - </td> - </tr> - </table> - - <h2><a name="link5" id="link5">Protected Methods</a></h2> - - <h3><a name="link6" id="link6">Insert search - notifications.</a></h3> - - <p>Notifications called during an insert operation.</p> - - <table class="c1" width="100%" border="1" summary="Methods"> - <tr> - <td width="45%" align="left"><b>Method</b></td> - - <td width="55%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -<b>inline</b> <b>void</b> - notify_insert_search_start - () -</pre> - </td> - - <td> - <p>Notifies a search started.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<b>inline</b> <b>void</b> - notify_insert_search_collision - () -</pre> - </td> - - <td> - <p>Notifies a search encountered a collision.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<b>inline</b> <b>void</b> - notify_insert_search_end - () -</pre> - </td> - - <td> - <p>Notifies a search ended.</p> - </td> - </tr> - </table> - - <h3><a name="link7" id="link7">Find search - notifications.</a></h3> - - <p>Notifications called during a find operation.</p> - - <table class="c1" width="100%" border="1" summary="Methods"> - <tr> - <td width="45%" align="left"><b>Method</b></td> - - <td width="55%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -<b>inline</b> <b>void</b> - notify_find_search_start - () -</pre> - </td> - - <td> - <p>Notifies a search started.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<b>inline</b> <b>void</b> - notify_find_search_collision - () -</pre> - </td> - - <td> - <p>Notifies a search encountered a collision.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<b>inline</b> <b>void</b> - notify_find_search_end - () -</pre> - </td> - - <td> - <p>Notifies a search ended.</p> - </td> - </tr> - </table> - - <h3><a name="link8" id="link8">Erase search - notifications.</a></h3> - - <p>Notifications called during an insert operation.</p> - - <table class="c1" width="100%" border="1" summary="Methods"> - <tr> - <td width="45%" align="left"><b>Method</b></td> - - <td width="55%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -<b>inline</b> <b>void</b> - notify_erase_search_start - () -</pre> - </td> - - <td> - <p>Notifies a search started.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<b>inline</b> <b>void</b> - notify_erase_search_collision - () -</pre> - </td> - - <td> - <p>Notifies a search encountered a collision.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<b>inline</b> <b>void</b> - notify_erase_search_end - () -</pre> - </td> - - <td> - <p>Notifies a search ended.</p> - </td> - </tr> - </table> - - <h3><a name="link9" id="link9">Content change - notifications.</a></h3> - - <p>Notifications called when the content of the table changes - in a way that can affect the resize policy.</p> - - <table class="c1" width="100%" border="1" summary="Methods"> - <tr> - <td width="45%" align="left"><b>Method</b></td> - - <td width="55%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -<b>inline</b> <b>void</b> - notify_inserted - (<a href="#size_type55424436"><tt>size_type</tt></a> num_entries) -</pre> - </td> - - <td> - <p>Notifies an element was inserted. the total number of - entries in the table is <span class= - "c1"><tt>num_entries</tt></span>.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<b>inline</b> <b>void</b> - notify_erased - (<a href="#size_type55424436"><tt>size_type</tt></a> num_entries) -</pre> - </td> - - <td> - <p>Notifies an element was erased.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<b>void</b> - notify_cleared - () -</pre> - </td> - - <td> - <p>Notifies the table was cleared.</p> - </td> - </tr> - </table> - - <h3><a name="link10" id="link10">Size change - notifications.</a></h3> - - <p>Notifications called when the table changes size.</p> - - <table class="c1" width="100%" border="1" summary="Methods"> - <tr> - <td width="45%" align="left"><b>Method</b></td> - - <td width="55%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -<b>void</b> - notify_resized - (<a href="#size_type55424436"><tt>size_type</tt></a> new_size) -</pre> - </td> - - <td> - <p>Notifies the table was resized as a result of this - object's signifying that a resize is needed.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<b>void</b> - notify_externally_resized - (<a href="#size_type55424436"><tt>size_type</tt></a> new_size) -</pre> - </td> - - <td> - <p>Notifies the table was resized externally.</p> - </td> - </tr> - </table> - - <h3><a name="link11" id="link11">Queries.</a></h3> - - <p>Called to query whether/how to resize.</p> - - <table class="c1" width="100%" border="1" summary="Methods"> - <tr> - <td width="45%" align="left"><b>Method</b></td> - - <td width="55%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -<b>inline</b> <b>bool</b> - is_resize_needed - () <b>const</b> -</pre> - </td> - - <td> - <p>Queries whether a resize is needed.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<b>inline</b> <b>bool</b> - is_grow_needed - (<a href="#size_type55424436"><tt>size_type</tt></a> size, - <a href= -"#size_type55424436"><tt>size_type</tt></a> num_entries) <b>const</b> -</pre> - </td> - - <td> - <p>Queries whether a grow is needed.</p> - - <p>This method is called only if this object indicated - resize is needed. The actual <span class= - "c1"><tt>size</tt></span> of the table is <span class= - "c1"><tt>size</tt></span>, and the number of entries in - it is <span class="c1"><tt>num_entries</tt></span>.</p> - </td> - </tr> - </table> - - <h2><a name="link12" id="link12">Private Methods</a></h2> - - <h3><a name="link13" id="link13">Overrides.</a></h3> - - <table class="c1" width="100%" border="1" summary="Methods"> - <tr> - <td width="45%" align="left"><b>Method</b></td> - - <td width="55%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -<b>virtual</b> <b>void</b> - do_resize - (<a href="#size_type55424436"><tt>size_type</tt></a> new_size) -</pre> - </td> - - <td> - <p>Resizes to <span class= - "c1"><tt>new_size</tt></span>.</p> - </td> - </tr> - </table> - </div> -</body> -</html> diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/sample_size_policy.html b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/sample_size_policy.html deleted file mode 100644 index ebb14d30b..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/sample_size_policy.html +++ /dev/null @@ -1,163 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" - "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> -<head> - <meta name="generator" content= - "HTML Tidy for Linux/x86 (vers 12 April 2005), see www.w3.org" /> - - <title>sample_size_policy Interface</title> - <meta http-equiv="Content-Type" content= - "text/html; charset=us-ascii" /> - </head> - -<body> - <div id="page"> - <h1><tt>sample_size_policy</tt> Interface</h1> - - <p>A sample size policy.</p> - - <p>This class serves to show the interface a size policy needs - to support.</p> - - <p>Defined in: <a href= - "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/include/ext/pb_ds/detail/resize_policy/sample_size_policy.hpp"><tt>sample_size_policy.hpp</tt></a></p> - - <h2><a name="link1" id="link1">Public Types and - Constants</a></h2> - - <h3><a name="link2" id="link2">General definitions.</a></h3> - - <table class="c1" width="100%" border="1" summary="Types"> - <tr> - <td width="30%" align="left"><b>Type</b></td> - - <td width="55%" align="left"><b>Definition</b></td> - - <td width="15%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -<a name="size_type55424436" id="size_type55424436">size_type</a> -</pre> - </td> - - <td> - <pre> -size_t, e.g. -</pre> - </td> - - <td> - <p>Size type.</p> - </td> - </tr> - </table> - - <h2><a name="link3" id="link3">Public Methods</a></h2> - - <h3><a name="link4" id="link4">Constructors, destructor, and - related.</a></h3> - - <table class="c1" width="100%" border="1" summary="Methods"> - <tr> - <td width="45%" align="left"><b>Method</b></td> - - <td width="55%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> - sample_size_policy - () -</pre> - </td> - - <td> - <p>Default constructor.</p> - - <p>Must be default constructable.</p> - </td> - </tr> - - <tr> - <td> - <pre> - sample_range_hashing - (<b>const</b> sample_size_policy &other) -</pre> - </td> - - <td> - <p>Copy constructor.</p> - - <p>Must be copy constructable.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<b>inline</b> <b>void</b> - swap - (sample_size_policy &other) -</pre> - </td> - - <td> - <p>Swaps content.</p> - - <p>Must be swappable (if there is such a word).</p> - </td> - </tr> - </table> - - <h2><a name="link5" id="link5">Protected Methods</a></h2> - - <h3><a name="link6" id="link6">Size methods</a></h3> - - <table class="c1" width="100%" border="1" summary="Methods"> - <tr> - <td width="45%" align="left"><b>Method</b></td> - - <td width="55%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -<b>inline</b> <a href="#size_type55424436"><tt>size_type</tt></a> - get_nearest_larger_size - (<a href= -"#size_type55424436"><tt>size_type</tt></a> size) <b>const</b> -</pre> - </td> - - <td> - <p>Given a size <span class="c1"><tt>size</tt></span>, - returns a size that is larger.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<b>inline</b> <a href="#size_type55424436"><tt>size_type</tt></a> - get_nearest_smaller_size - (<a href= -"#size_type55424436"><tt>size_type</tt></a> size) <b>const</b> -</pre> - </td> - - <td> - <p>Given a size <span class="c1"><tt>size</tt></span>, - returns a size that is smaller.</p> - </td> - </tr> - </table> - </div> -</body> -</html> diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/sample_tree_node_update.html b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/sample_tree_node_update.html deleted file mode 100644 index aefd67056..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/sample_tree_node_update.html +++ /dev/null @@ -1,193 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" - "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> -<head> - <meta name="generator" content= - "HTML Tidy for Linux/x86 (vers 12 April 2005), see www.w3.org" /> - - <title>sample_tree_node_update Interface</title> - <meta http-equiv="Content-Type" content= - "text/html; charset=us-ascii" /> - </head> - -<body> - <div id="page"> - <h1><tt>sample_tree_node_update</tt> Interface</h1> - - <p>A sample node updater.</p> - - <p>This class serves to show the interface a node update - functor needs to support.</p> - - <p>Defined in: <a href= - "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/include/ext/pb_ds/detail/tree_policy/sample_tree_node_update.hpp"><tt> - sample_tree_node_update.hpp</tt></a></p> - - <h2><a name="link1" id="link1">Template Parameters</a></h2> - - <table class="c1" width="100%" border="1" summary= - "Template Parameters"> - <tr> - <td width="20%" align="left"><b>Parameter</b></td> - - <td width="50%" align="left"><b>Description</b></td> - - <td width="30%" align="left"><b>Default Value</b></td> - </tr> - - <tr> - <td> - <pre> -<a name="Const_Node_Iterator1933878761" id= -"Const_Node_Iterator1933878761"><b>class</b> Const_Node_Iterator</a> -</pre> - </td> - - <td> - <p>Const node iterator type.</p> - </td> - - <td>-</td> - </tr> - - <tr> - <td> - <pre> -<a name="Node_Iterator4206909839" id= -"Node_Iterator4206909839"><b>class</b> Node_Iterator</a> -</pre> - </td> - - <td> - <p>Node iterator type.</p> - </td> - - <td>-</td> - </tr> - - <tr> - <td> - <pre> -<a name="Cmp_Fn294335" id="Cmp_Fn294335"><b>class</b> Cmp_Fn</a> -</pre> - </td> - - <td> - <p>Comparison functor.</p> - </td> - - <td>-</td> - </tr> - - <tr> - <td> - <pre> -<a name="Allocator35940069" id= -"Allocator35940069"><b>class</b> Allocator</a> -</pre> - </td> - - <td> - <p>Allocator type.</p> - </td> - - <td>-</td> - </tr> - </table> - - <h2><a name="link2" id="link2">Public Types and - Constants</a></h2> - - <h3><a name="link3" id="link3">Metadata definitions.</a></h3> - - <table class="c1" width="100%" border="1" summary="Types"> - <tr> - <td width="30%" align="left"><b>Type</b></td> - - <td width="55%" align="left"><b>Definition</b></td> - - <td width="15%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -<a name="metadata_type2849297114" id= -"metadata_type2849297114">metadata_type</a> -</pre> - </td> - - <td> - <pre> -size_t -</pre> - </td> - - <td> - <p>Metadata type.</p> - - <p>This can be any type; size_t is merely an example.</p> - </td> - </tr> - </table> - - <h2><a name="link4" id="link4">Protected Methods</a></h2> - - <h3><a name="link5" id="link5">Conclassors, declassor, and - related.</a></h3> - - <table class="c1" width="100%" border="1" summary="Methods"> - <tr> - <td width="45%" align="left"><b>Method</b></td> - - <td width="55%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> - sample_tree_node_update - () -</pre> - </td> - - <td> - <p>Default constructor.</p> - - <p>Must be default constructable.</p> - </td> - </tr> - </table> - - <h3><a name="link6" id="link6">Operators.</a></h3> - - <table class="c1" width="100%" border="1" summary="Methods"> - <tr> - <td width="45%" align="left"><b>Method</b></td> - - <td width="55%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -<b>inline</b> <b>void</b> - <b>operator</b>() - (node_iterator node_it, - const_node_iterator end_nd_it) <b>const</b> -</pre> - </td> - - <td> - <p>Updates the rank of a node through a <span class= - "c1"><tt>node_iterator</tt></span> <span class= - "c1"><tt>node_it</tt></span>; <span class= - "c1"><tt>end_nd_it</tt></span> is the end node - iterator.</p> - </td> - </tr> - </table> - </div> -</body> -</html> diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/sample_trie_e_access_traits.html b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/sample_trie_e_access_traits.html deleted file mode 100644 index a46c91b1d..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/sample_trie_e_access_traits.html +++ /dev/null @@ -1,231 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" - "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> -<head> - <meta name="generator" content= - "HTML Tidy for Linux/x86 (vers 12 April 2005), see www.w3.org" /> - - <title>sample_trie_e_access_traits Interface</title> - <meta http-equiv="Content-Type" content= - "text/html; charset=us-ascii" /> - </head> - -<body> - <div id="page"> - <h1><tt>sample_trie_e_access_traits</tt> Interface</h1> - - <p>A sample trie element-access traits.</p> - - <p>This class serves to show the interface an element- access - traits class needs to support.</p> - - <p>Defined in: <a href= - "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/include/ext/pb_ds/detail/trie_policy/sample_trie_e_access_traits.hpp"> - <tt>sample_trie_e_access_traits.hpp</tt></a></p> - - <h2><a name="link1" id="link1">Public Types and - Constants</a></h2> - - <h3><a name="link2" id="link2">General definitions.</a></h3> - - <table class="c1" width="100%" border="1" summary="Types"> - <tr> - <td width="30%" align="left"><b>Type</b></td> - - <td width="55%" align="left"><b>Definition</b></td> - - <td width="15%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -<a name="size_type55424436" id="size_type55424436">size_type</a> -</pre> - </td> - - <td> - <pre> -size_t, e.g. -</pre> - </td> - - <td> - <p>Size type.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<a name="key_type10393186" id="key_type10393186">key_type</a> -</pre> - </td> - - <td> - <pre> -std::string, e.g. -</pre> - </td> - - <td> - <p>Key type.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<a name="const_key_reference3185471705" id= -"const_key_reference3185471705">const_key_reference</a> -</pre> - </td> - - <td> - <pre> -const string &, e.g. -</pre> - </td> - - <td> - <p>Const key reference type.</p> - </td> - </tr> - </table> - - <h3><a name="link3" id="link3">Element definitions.</a></h3> - - <table class="c1" width="100%" border="1" summary="Types"> - <tr> - <td width="30%" align="left"><b>Type</b></td> - - <td width="55%" align="left"><b>Definition</b></td> - - <td width="15%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -<a name="const_iterator98626788" id= -"const_iterator98626788">const_iterator</a> -</pre> - </td> - - <td> - <pre> -string::const_iterator, e.g. -</pre> - </td> - - <td> - <p>Element <tt><b>const</b></tt> iterator type.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<a name="e_type393186" id="e_type393186">e_type</a> -</pre> - </td> - - <td> - <pre> -char, e.g. -</pre> - </td> - - <td> - <p>Element type.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<a name="max_size10483336" id="max_size10483336">max_size</a> -</pre> - </td> - - <td> - <pre> -4, e.g. -</pre> - </td> - - <td> - <p>Number of distinct elements.</p> - </td> - </tr> - </table> - - <h2><a name="link4" id="link4">Public Methods</a></h2> - - <h3><a name="link5" id="link5">Access methods.</a></h3> - - <table class="c1" width="100%" border="1" summary="Methods"> - <tr> - <td width="45%" align="left"><b>Method</b></td> - - <td width="55%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -<b>inline</b> <b>static</b> <a href= -"#const_iterator98626788"><tt>const_iterator</tt></a> - begin - (<a href= -"#const_key_reference3185471705"><tt>const_key_reference</tt></a> r_key) -</pre> - </td> - - <td> - <p>Returns a <a href= - "#const_iterator98626788"><tt>const_iterator</tt></a> to - the first element of <span class= - "c1"><tt>r_key</tt></span>.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<b>inline</b> <b>static</b> <a href= -"#const_iterator98626788"><tt>const_iterator</tt></a> - end - (<a href= -"#const_key_reference3185471705"><tt>const_key_reference</tt></a> r_key) -</pre> - </td> - - <td> - <p>Returns a <a href= - "#const_iterator98626788"><tt>const_iterator</tt></a> to - the after-last element of <span class= - "c1"><tt>r_key</tt></span>.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<b>inline</b> <b>static</b> <a href= -"#size_type55424436"><tt>size_type</tt></a> - e_pos - (<a href="#e_type393186"><tt>e_type</tt></a> e) -</pre> - </td> - - <td> - <p>Maps an <span class="c1"><tt>element</tt></span> to a - position.</p> - </td> - </tr> - </table> - </div> -</body> -</html> diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/sample_trie_node_update.html b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/sample_trie_node_update.html deleted file mode 100644 index 61b6b407f..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/sample_trie_node_update.html +++ /dev/null @@ -1,194 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" - "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> -<head> - <meta name="generator" content= - "HTML Tidy for Linux/x86 (vers 12 April 2005), see www.w3.org" /> - - <title>sample_trie_node_update Interface</title> - <meta http-equiv="Content-Type" content= - "text/html; charset=us-ascii" /> - </head> - -<body> - <div id="page"> - <h1><tt>sample_trie_node_update</tt> Interface</h1> - - <p>A sample node updater.</p> - - <p>This class serves to show the interface a node update - functor needs to support.</p> - - <p>Defined in: <a href= - "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/include/ext/pb_ds/detail/trie_policy/sample_trie_node_update.hpp"><tt> - sample_trie_node_update.hpp</tt></a></p> - - <h2><a name="link1" id="link1">Template Parameters</a></h2> - - <table class="c1" width="100%" border="1" summary= - "Template Parameters"> - <tr> - <td width="20%" align="left"><b>Parameter</b></td> - - <td width="50%" align="left"><b>Description</b></td> - - <td width="30%" align="left"><b>Default Value</b></td> - </tr> - - <tr> - <td> - <pre> -<a name="Const_Node_Iterator1933878761" id= -"Const_Node_Iterator1933878761"><b>class</b> Const_Node_Iterator</a> -</pre> - </td> - - <td> - <p>Const node iterator type.</p> - </td> - - <td>-</td> - </tr> - - <tr> - <td> - <pre> -<a name="Node_Iterator4206909839" id= -"Node_Iterator4206909839"><b>class</b> Node_Iterator</a> -</pre> - </td> - - <td> - <p>Node iterator type.</p> - </td> - - <td>-</td> - </tr> - - <tr> - <td> - <pre> -<a name="E_Access_Traits686553840" id= -"E_Access_Traits686553840"><b>class</b> E_Access_Traits</a> -</pre> - </td> - - <td> - <p>Comparison functor.</p> - </td> - - <td>-</td> - </tr> - - <tr> - <td> - <pre> -<a name="Allocator35940069" id= -"Allocator35940069"><b>class</b> Allocator</a> -</pre> - </td> - - <td> - <p>Allocator type.</p> - </td> - - <td>-</td> - </tr> - </table> - - <h2><a name="link2" id="link2">Public Types and - Constants</a></h2> - - <h3><a name="link3" id="link3">Metadata definitions.</a></h3> - - <table class="c1" width="100%" border="1" summary="Types"> - <tr> - <td width="30%" align="left"><b>Type</b></td> - - <td width="55%" align="left"><b>Definition</b></td> - - <td width="15%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -<a name="metadata_type2849297114" id= -"metadata_type2849297114">metadata_type</a> -</pre> - </td> - - <td> - <pre> -size_t -</pre> - </td> - - <td> - <p>Metadata type.</p> - - <p>This can be any type; size_t is merely an example.</p> - </td> - </tr> - </table> - - <h2><a name="link4" id="link4">Protected Methods</a></h2> - - <h3><a name="link5" id="link5">Conclassors, declassor, and - related.</a></h3> - - <table class="c1" width="100%" border="1" summary="Methods"> - <tr> - <td width="45%" align="left"><b>Method</b></td> - - <td width="55%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> - sample_trie_node_update - () -</pre> - </td> - - <td> - <p>Default constructor.</p> - - <p>Must be default constructable.</p> - </td> - </tr> - </table> - - <h3><a name="link6" id="link6">Operators.</a></h3> - - <table class="c1" width="100%" border="1" summary="Methods"> - <tr> - <td width="45%" align="left"><b>Method</b></td> - - <td width="55%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -<b>inline</b> <b>void</b> - <b>operator</b>() - (node_iterator node_it, - const_node_iterator end_nd_it) <b>const</b> -</pre> - </td> - - <td> - <p>Updates the rank of a node through a <span class= - "c1"><tt>node_iterator</tt></span> <span class= - "c1"><tt>node_it</tt></span>; <span class= - "c1"><tt>end_nd_it</tt></span> is the end node - iterator.</p> - </td> - </tr> - </table> - </div> -</body> -</html> diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/sample_update_policy.html b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/sample_update_policy.html deleted file mode 100644 index 8a286c74c..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/sample_update_policy.html +++ /dev/null @@ -1,178 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" - "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> -<head> - <meta name="generator" content= - "HTML Tidy for Linux/x86 (vers 12 April 2005), see www.w3.org" /> - - <title>sample_update_policy Interface</title> - <meta http-equiv="Content-Type" content= - "text/html; charset=us-ascii" /> - </head> - -<body> - <div id="page"> - <h1><tt>sample_update_policy</tt> Interface</h1> - - <p>A sample list-update policy.</p> - - <p>This class serves to show the interface a list update - functor needs to support.</p> - - <p>Defined in: <a href= - "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/include/ext/pb_ds/detail/list_update_policy/sample_update_policy.hpp"><tt>sample_update_policy.hpp</tt></a></p> - - <h2><a name="link1" id="link1">Public Methods</a></h2> - - <h3><a name="link2" id="link2">Constructors, destructor, and - related.</a></h3> - - <table class="c1" width="100%" border="1" summary="Methods"> - <tr> - <td width="45%" align="left"><b>Method</b></td> - - <td width="55%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> - sample_update_policy - () -</pre> - </td> - - <td> - <p>Default constructor.</p> - - <p>Must be default constructable.</p> - </td> - </tr> - - <tr> - <td> - <pre> - sample_update_policy - (<b>const</b> sample_update_policy &other) -</pre> - </td> - - <td> - <p>Copy constructor.</p> - - <p>Must be copy constructable.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<b>inline</b> <b>void</b> - swap - (sample_update_policy &other) -</pre> - </td> - - <td> - <p>Swaps content.</p> - - <p>Must be swappable (if there is such a word).</p> - </td> - </tr> - </table> - - <h2><a name="link3" id="link3">Protected Types and - Constants</a></h2> - - <h3><a name="link4" id="link4">Metadata definitions.</a></h3> - - <table class="c1" width="100%" border="1" summary="Types"> - <tr> - <td width="30%" align="left"><b>Type</b></td> - - <td width="55%" align="left"><b>Definition</b></td> - - <td width="15%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -<a name="metadata_type2849297114" id= -"metadata_type2849297114">metadata_type</a> -</pre> - </td> - - <td> - <pre> -Some metadata type. -</pre> - </td> - - <td> - <p>Metadata on which this functor operates.</p> - - <p>The <tt><b>class</b></tt> must declare the metadata - type on which it operates; the list-update based - containers will append to each node an object of this - type.</p> - </td> - </tr> - </table> - - <h2><a name="link5" id="link5">Protected Methods</a></h2> - - <h3><a name="link6" id="link6">Metadata operations.</a></h3> - - <table class="c1" width="100%" border="1" summary="Methods"> - <tr> - <td width="45%" align="left"><b>Method</b></td> - - <td width="55%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -<a href="#metadata_type2849297114"><tt>metadata_type</tt></a> - <b>operator</b>() - () <b>const</b> -</pre> - </td> - - <td> - <p>Creates a metadata object.</p> - - <p>A list-update based container object will call this - method to create a metadata type when a node is - created.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<b>bool</b> - <b>operator</b>() - (metadata_reference r_data) <b>const</b> -</pre> - </td> - - <td> - <p>Decides whether a metadata object should be moved to - the front of the list. A list-update based containers - object will call this method to decide whether to move a - node to the front of the list. The method should return - <tt><b>true</b></tt> if the node should be moved to the - front of the list.</p> - - <p><tt>metadata_reference</tt> is a reference to a - <a href= - "#metadata_type2849297114"><tt>metadata_type</tt></a>.</p> - </td> - </tr> - </table> - </div> -</body> -</html> diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/simple_list.png b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/simple_list.png Binary files differdeleted file mode 100644 index 9a05d3f5e..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/simple_list.png +++ /dev/null diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/splay_tree_tag.html b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/splay_tree_tag.html deleted file mode 100644 index 3e6a64b1c..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/splay_tree_tag.html +++ /dev/null @@ -1,47 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" - "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> -<head> - <meta name="generator" content= - "HTML Tidy for Linux/x86 (vers 12 April 2005), see www.w3.org" /> - - <title>splay_tree_tag Interface</title> - <meta http-equiv="Content-Type" content= - "text/html; charset=us-ascii" /> - </head> - -<body> - <div id="page"> - <h1><tt>splay_tree_tag</tt> Interface</h1> - - <p>Splay tree data structure tag.</p> - - <p>Defined in: <a href= - "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/include/ext/pb_ds/tag_and_trait.hpp"><tt>tag_and_trait.hpp</tt></a></p> - - <h2><a name="link1" id="link1">Base Classes</a></h2> - - <table class="c1" width="100%" border="1" summary="Bases"> - <tr> - <td width="80%" align="left"><b>Class</b></td> - - <td width="20%" align="left"><b>Derivation Type</b></td> - </tr> - - <tr> - <td> - <pre> -<a href="tree_tag.html"><span class= -"c2"><tt>tree_tag</tt></span></a> -</pre> - </td> - - <td> - <p>public</p> - </td> - </tr> - </table> - </div> -</body> -</html> diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/string_trie_e_access_traits.html b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/string_trie_e_access_traits.html deleted file mode 100644 index 4ce9e864a..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/string_trie_e_access_traits.html +++ /dev/null @@ -1,400 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" - "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> -<head> - <meta name="generator" content= - "HTML Tidy for Linux/x86 (vers 12 April 2005), see www.w3.org" /> - - <title>string_trie_e_access_traits Interface</title> - <meta http-equiv="Content-Type" content= - "text/html; charset=us-ascii" /> - </head> - -<body> - <div id="page"> - <h1><tt>string_trie_e_access_traits</tt> Interface</h1> - - <p>Element access traits for string types.</p> - - <p>Defined in: <a href= - "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/include/ext/pb_ds/trie_policy.hpp"><tt>trie_policy.hpp</tt></a></p> - - <h2><a name="link1" id="link1">Template Parameters</a></h2> - - <table class="c1" width="100%" border="1" summary= - "Template Parameters"> - <tr> - <td width="20%" align="left"><b>Parameter</b></td> - - <td width="50%" align="left"><b>Description</b></td> - - <td width="30%" align="left"><b>Default Value</b></td> - </tr> - - <tr> - <td> - <pre> -<a name="String349403" id="String349403"><b>class</b> String </a> -</pre> - </td> - - <td> - <p>String type.</p> - </td> - - <td><tt>std::string</tt></td> - </tr> - - <tr> - <td> - <pre> -<a name="Min_E_Val40354618" id= -"Min_E_Val40354618"><b>typename</b> </a><a href= -"#String349403"><tt>String</tt></a>::value_type Min_E_Val -</pre> - </td> - - <td> - <p>Minimal element.</p> - </td> - - <td><tt>SCHAR_MIN</tt></td> - </tr> - - <tr> - <td> - <pre> -<a name="Max_E_Val39885868" id= -"Max_E_Val39885868"><b>typename</b> </a><a href= -"#String349403"><tt>String</tt></a>::value_type Max_E_Val -</pre> - </td> - - <td> - <p>Maximal element.</p> - </td> - - <td><tt>SCHAR_MAX</tt></td> - </tr> - - <tr> - <td> - <pre> -<a name="Reverse1686776" id= -"Reverse1686776"><b>bool</b> Reverse </a> -</pre> - </td> - - <td> - <p>Indicates whether reverse iteration should be - used.</p> - </td> - - <td><tt><b>false</b></tt></td> - </tr> - - <tr> - <td> - <pre> -<a name="Allocator35940069" id= -"Allocator35940069"><b>class</b> Allocator </a> -</pre> - </td> - - <td> - <p>Allocator type.</p> - </td> - - <td> - <pre> -std::allocator<<b>char</b>> -</pre> - </td> - </tr> - </table> - - <h2><a name="link2" id="link2">Public Types and - Constants</a></h2> - - <h3><a name="link3" id="link3">General Definitions</a></h3> - - <table class="c1" width="100%" border="1" summary="Types"> - <tr> - <td width="30%" align="left"><b>Type</b></td> - - <td width="55%" align="left"><b>Definition</b></td> - - <td width="15%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -<a name="size_type55424436" id="size_type55424436">size_type</a> -</pre> - </td> - - <td> - <pre> -<b>typename</b> <a href= -"#Allocator35940069"><tt>Allocator</tt></a>::size_type -</pre> - </td> - - <td> - <p>Size type.</p> - </td> - </tr> - </table> - - <h3><a name="link4" id="link4">Key-Type Definitions</a></h3> - - <table class="c1" width="100%" border="1" summary="Types"> - <tr> - <td width="30%" align="left"><b>Type</b></td> - - <td width="55%" align="left"><b>Definition</b></td> - - <td width="15%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -<a name="key_type10393186" id="key_type10393186">key_type</a> -</pre> - </td> - - <td> - <pre> -<a href="#String349403"><tt>String</tt></a> -</pre> - </td> - - <td> - <p>Key type.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<a name="const_key_reference3185471705" id= -"const_key_reference3185471705">const_key_reference</a> -</pre> - </td> - - <td> - <pre> -<b>typename</b> <a href= -"#Allocator35940069"><tt>Allocator</tt></a>::<b>template</b> rebind< - <a href= -"#key_type10393186"><tt>key_type</tt></a>>::other::const_reference -</pre> - </td> - - <td> - <p>Const key reference type.</p> - </td> - </tr> - </table> - - <h3><a name="link5" id="link5">Element-Type - Definitions</a></h3> - - <table class="c1" width="100%" border="1" summary="Types"> - <tr> - <td width="30%" align="left"><b>Type</b></td> - - <td width="55%" align="left"><b>Definition</b></td> - - <td width="15%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -<a name="reverse2186776" id="reverse2186776">reverse</a> -</pre> - </td> - - <td> - <pre> -<a href="#Reverse1686776"><tt>Reverse</tt></a> -</pre> - </td> - - <td> - <p><a href="#Reverse1686776"><tt>Reverse</tt></a> - iteration indicator.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<a name="const_iterator98626788" id= -"const_iterator98626788">const_iterator</a> -</pre> - </td> - - <td> - <pre> -<b>typename</b> __gnu_pbds::detail::__conditional_type< - <a href="#Reverse1686776"><tt>Reverse</tt></a>, - <b>typename</b> <a href= -"#String349403"><tt>String</tt></a>::const_reverse_iterator, - <b>typename</b> <a href= -"#String349403"><tt>String</tt></a>::const_iterator>::__type -</pre> - </td> - - <td> - <p>Element <tt><b>const</b></tt> iterator type.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<a name="e_type393186" id="e_type393186">e_type</a> -</pre> - </td> - - <td> - <pre> -<b>typename</b> std::iterator_traits<<a href= -"#const_iterator98626788"><tt>const_iterator</tt></a>>::value_type -</pre> - </td> - - <td> - <p>Element type.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<a name="min_e_val52875418" id="min_e_val52875418">min_e_val</a> -</pre> - </td> - - <td> - <pre> -<a href="#Min_E_Val40354618"><tt>Min_E_Val</tt></a> -</pre> - </td> - - <td> - <p>Minimal element.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<a name="max_e_val52406668" id="max_e_val52406668">max_e_val</a> -</pre> - </td> - - <td> - <pre> -<a href="#Max_E_Val39885868"><tt>Max_E_Val</tt></a> -</pre> - </td> - - <td> - <p>Maximal element.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<a name="max_size10483336" id="max_size10483336">max_size</a> -</pre> - </td> - - <td> - <pre> -<a href="#max_e_val52406668"><tt>max_e_val</tt></a> - <a href= -"#min_e_val52875418"><tt>min_e_val</tt></a> + 1 -</pre> - </td> - - <td> - <p>Number of distinct elements.</p> - </td> - </tr> - </table> - - <h2><a name="link6" id="link6">Public Methods</a></h2> - - <h3><a name="link7" id="link7">Access Methods</a></h3> - - <table class="c1" width="100%" border="1" summary="Methods"> - <tr> - <td width="45%" align="left"><b>Method</b></td> - - <td width="55%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -<b>inline</b> <b>static</b> <a href= -"#const_iterator98626788"><tt>const_iterator</tt></a> - begin - (<a href= -"#const_key_reference3185471705"><tt>const_key_reference</tt></a> r_key) -</pre> - </td> - - <td> - <p>Returns a <a href= - "#const_iterator98626788"><tt>const_iterator</tt></a> to - the first element of <span class= - "c1"><tt>r_key</tt></span>.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<b>inline</b> <b>static</b> <a href= -"#const_iterator98626788"><tt>const_iterator</tt></a> - end - (<a href= -"#const_key_reference3185471705"><tt>const_key_reference</tt></a> r_key) -</pre> - </td> - - <td> - <p>Returns a <a href= - "#const_iterator98626788"><tt>const_iterator</tt></a> to - the after-last element of <span class= - "c1"><tt>r_key</tt></span>.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<b>inline</b> <b>static</b> <a href= -"#size_type55424436"><tt>size_type</tt></a> - e_pos - (<a href="#e_type393186"><tt>e_type</tt></a> e) -</pre> - </td> - - <td> - <p>Maps an <span class="c1"><tt>e</tt></span>element to a - position.</p> - </td> - </tr> - </table> - </div> -</body> -</html> diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/tests.html b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/tests.html deleted file mode 100644 index ab5d54bb4..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/tests.html +++ /dev/null @@ -1,24 +0,0 @@ -<!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" xml:lang="en" lang="en"> -<head> - <meta name="generator" content= - "HTML Tidy for Linux/x86 (vers 12 April 2005), see www.w3.org" /> - - <title>Tests</title> - <meta http-equiv="Content-Type" content= - "text/html; charset=us-ascii" /> - </head> - -<body> - <div id="page"> - <h1>Tests</h1> - - <p><a href="assoc_tests.html">Associative-Container Tests</a> - describes tests for associative containers; <a href= - "pq_tests.html">Priority-Queue Tests</a> describes tests for - priority queues.</p> - </div> -</body> -</html> diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/text_find_timing_test_hash_gcc.png b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/text_find_timing_test_hash_gcc.png Binary files differdeleted file mode 100644 index 59247ec6a..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/text_find_timing_test_hash_gcc.png +++ /dev/null diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/text_find_timing_test_hash_local.png b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/text_find_timing_test_hash_local.png Binary files differdeleted file mode 100644 index d85980f30..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/text_find_timing_test_hash_local.png +++ /dev/null diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/text_find_timing_test_hash_msvc.png b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/text_find_timing_test_hash_msvc.png Binary files differdeleted file mode 100644 index 227164568..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/text_find_timing_test_hash_msvc.png +++ /dev/null diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/text_find_timing_test_tree_like_gcc.png b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/text_find_timing_test_tree_like_gcc.png Binary files differdeleted file mode 100644 index 8b6c4f0f0..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/text_find_timing_test_tree_like_gcc.png +++ /dev/null diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/text_find_timing_test_tree_like_local.png b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/text_find_timing_test_tree_like_local.png Binary files differdeleted file mode 100644 index b7fdc4746..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/text_find_timing_test_tree_like_local.png +++ /dev/null diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/text_find_timing_test_tree_like_msvc.png b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/text_find_timing_test_tree_like_msvc.png Binary files differdeleted file mode 100644 index dc82a4e7e..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/text_find_timing_test_tree_like_msvc.png +++ /dev/null diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/thin_heap_tag.html b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/thin_heap_tag.html deleted file mode 100644 index c44189664..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/thin_heap_tag.html +++ /dev/null @@ -1,47 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" - "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> -<head> - <meta name="generator" content= - "HTML Tidy for Linux/x86 (vers 12 April 2005), see www.w3.org" /> - - <title>thin_heap_tag Interface</title> - <meta http-equiv="Content-Type" content= - "text/html; charset=us-ascii" /> - </head> - -<body> - <div id="page"> - <h1><tt>thin_heap_tag</tt> Interface</h1> - - <p>Thin heap data structure tag.</p> - - <p>Defined in: <a href= - "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/include/ext/pb_ds/tag_and_trait.hpp"><tt>tag_and_trait.hpp</tt></a></p> - - <h2><a name="link1" id="link1">Base Classes</a></h2> - - <table class="c1" width="100%" border="1" summary="Bases"> - <tr> - <td width="80%" align="left"><b>Class</b></td> - - <td width="20%" align="left"><b>Derivation Type</b></td> - </tr> - - <tr> - <td> - <pre> -<a href="priority_queue_tag.html"><span class= -"c2"><tt>priority_queue_tag</tt></span></a> -</pre> - </td> - - <td> - <p>public</p> - </td> - </tr> - </table> - </div> -</body> -</html> diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/tree.html b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/tree.html deleted file mode 100644 index 3202a6e9f..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/tree.html +++ /dev/null @@ -1,516 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" - "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> -<head> - <meta name="generator" content= - "HTML Tidy for Linux/x86 (vers 12 April 2005), see www.w3.org" /> - - <title>tree Interface</title> - <meta http-equiv="Content-Type" content= - "text/html; charset=us-ascii" /> - </head> - -<body> - <div id="page"> - <h1><tt>tree</tt> Interface</h1> - - <p>A concrete basic tree-based associative container.</p> - - <p>Defined in: <a href= - "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/include/ext/pb_ds/assoc_container.hpp"><tt>assoc_container.hpp</tt></a></p> - - <h2><a name="link1" id="link1">Template Parameters</a></h2> - - <table class="c1" width="100%" border="1" summary= - "Template Parameters"> - <tr> - <td width="20%" align="left"><b>Parameter</b></td> - - <td width="50%" align="left"><b>Description</b></td> - - <td width="30%" align="left"><b>Default Value</b></td> - </tr> - - <tr> - <td> - <pre> -<a name="Key2501" id="Key2501"><b>typename</b> Key</a> -</pre> - </td> - - <td> - <p>Key type.</p> - </td> - - <td>-</td> - </tr> - - <tr> - <td> - <pre> -<a name="Mapped318655" id="Mapped318655"><b>typename</b> Mapped</a> -</pre> - </td> - - <td> - <p>Mapped type.</p> - </td> - - <td>-</td> - </tr> - - <tr> - <td> - <pre> -<a name="Cmp_Fn294335" id="Cmp_Fn294335"><b>class</b> Cmp_Fn </a> -</pre> - </td> - - <td> - <p>Comparison functor.</p> - </td> - - <td> - <pre> -std::less<<a href="#Key2501"><tt>Key</tt></a>> -</pre> - </td> - </tr> - - <tr> - <td> - <pre> -<a name="Tag278938" id="Tag278938"><b>class</b> Tag </a> -</pre> - </td> - - <td> - <p>Mapped-structure tag.</p> - </td> - - <td><a href="rb_tree_tag.html"><span class= - "c2"><tt>rb_tree_tag</tt></span></a></td> - </tr> - - <tr> - <td> - <pre> -<a name="Node_Update841554648" id= -"Node_Update841554648"><b>template</b>< - <b>typename</b> Const_Node_Iterator, - <b>typename</b> Node_Iterator, - <b>class</b> Cmp_Fn_, - <b>typename</b> Allocator_> -<b>class</b> Node_Update </a> -</pre> - </td> - - <td> - <p>Node updater type.</p> - - <p><a href= - "tree_based_containers.html#invariants">Design::Tree-Based - Containers::Node Invariants</a> explains this - concept.</p> - </td> - - <td><a href="null_tree_node_update.html"><span class= - "c2"><tt>null_tree_node_update</tt></span></a></td> - </tr> - - <tr> - <td> - <pre> -<a name="Allocator35940069" id= -"Allocator35940069"><b>class</b> Allocator </a> -</pre> - </td> - - <td> - <p>Allocator type.</p> - </td> - - <td> - <pre> -std::allocator<<b>char</b>> -</pre> - </td> - </tr> - </table> - - <h2><a name="link2" id="link2">Base Classes</a></h2> - - <table class="c1" width="100%" border="1" summary="Bases"> - <tr> - <td width="80%" align="left"><b>Class</b></td> - - <td width="20%" align="left"><b>Derivation Type</b></td> - </tr> - - <tr> - <td> - <pre> -<a href="basic_tree.html"><span class= -"c2"><tt>basic_tree</tt></span></a> -</pre> - </td> - - <td> - <p>public</p> - </td> - </tr> - </table> - - <h2><a name="link3" id="link3">Public Types and - Constants</a></h2> - - <h3><a name="link4" id="link4">Policy Definitions</a></h3> - - <table class="c1" width="100%" border="1" summary="Types"> - <tr> - <td width="30%" align="left"><b>Type</b></td> - - <td width="55%" align="left"><b>Definition</b></td> - - <td width="15%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -<a name="cmp_fn394495" id="cmp_fn394495">cmp_fn</a> -</pre> - </td> - - <td> - <pre> -<a href="#Cmp_Fn294335"><tt>Cmp_Fn</tt></a> -</pre> - </td> - - <td> - <p>Comparison functor type.</p> - </td> - </tr> - </table> - - <h3><a name="link5" id="link5">Iterator Definitions</a></h3> - - <table class="c1" width="100%" border="1" summary="Types"> - <tr> - <td width="30%" align="left"><b>Type</b></td> - - <td width="55%" align="left"><b>Definition</b></td> - - <td width="15%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -<a name="const_node_iterator4205924553" id= -"const_node_iterator4205924553">const_node_iterator</a> -</pre> - </td> - - <td> - <pre> -<a href= -"tree_const_node_iterator.html"><span class= -"c2"><tt>const_node_iterator</tt></span></a> -</pre> - </td> - - <td> - <p>Const node iterator.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<a name="node_iterator3431975247" id= -"node_iterator3431975247">node_iterator</a> -</pre> - </td> - - <td> - <pre> -<a href="tree_node_iterator.html"><span class= -"c2"><tt>node_iterator</tt></span></a> -</pre> - </td> - - <td> - <p>Node iterator.</p> - </td> - </tr> - </table> - - <h2><a name="link6" id="link6">Public Methods</a></h2> - - <h3><a name="link7" id="link7">Constructors, Destructor, and - Related</a></h3> - - <table class="c1" width="100%" border="1" summary="Methods"> - <tr> - <td width="45%" align="left"><b>Method</b></td> - - <td width="55%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> - tree - () -</pre> - </td> - - <td> - <p>Default constructor.</p> - </td> - </tr> - - <tr> - <td> - <pre> - tree - (<b>const</b> <a href= -"#cmp_fn394495"><tt>cmp_fn</tt></a> &r_cmp_fn) -</pre> - </td> - - <td> - <p>Constructor taking some policy objects. <span class= - "c1"><tt>r_cmp_fn</tt></span> will be copied by the - <a href="#Cmp_Fn294335"><tt>Cmp_Fn</tt></a> object of the - container object.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<b>template</b>< - <b>class</b> It> - tree - (It first_it, - It last_it) -</pre> - </td> - - <td> - <p>Constructor taking iterators to a range of - value_types. The value_types between <span class= - "c1"><tt>first_it</tt></span> and <span class= - "c1"><tt>last_it</tt></span> will be inserted into the - container object.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<b>template</b>< - <b>class</b> It> - tree - (It first_it, - It last_it, - <b>const</b> <a href= -"#cmp_fn394495"><tt>cmp_fn</tt></a> &r_cmp_fn) -</pre> - </td> - - <td> - <p>Constructor taking iterators to a range of value_types - and some policy objects The value_types between - <span class="c1"><tt>first_it</tt></span> and - <span class="c1"><tt>last_it</tt></span> will be inserted - into the container object. <span class= - "c1"><tt>r_cmp_fn</tt></span> will be copied by the - <a href="#cmp_fn394495"><tt>cmp_fn</tt></a> object of the - container object.</p> - </td> - </tr> - - <tr> - <td> - <pre> - tree - (<b>const</b> <span class= -"c2"><tt>tree</tt></span> &other) -</pre> - </td> - - <td> - <p>Copy constructor.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<b>virtual</b> - ~tree - () -</pre> - </td> - - <td> - <p>Destructor.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<span class="c2"><tt>tree</tt></span> & - <b>operator</b>= - (<b>const</b> <span class= -"c2"><tt>tree</tt></span> &other) -</pre> - </td> - - <td> - <p>Assignment operator.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<b>void</b> - swap - (<span class= -"c2"><tt>tree</tt></span> &other) -</pre> - </td> - - <td> - <p>Swaps content.</p> - </td> - </tr> - </table> - - <h3><a name="link8" id="link8">Policy Access Methods</a></h3> - - <table class="c1" width="100%" border="1" summary="Methods"> - <tr> - <td width="45%" align="left"><b>Method</b></td> - - <td width="55%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -<a href="#cmp_fn394495"><tt>cmp_fn</tt></a> & - get_cmp_fn - () -</pre> - </td> - - <td> - <p>Access to the <a href= - "#cmp_fn394495"><tt>cmp_fn</tt></a> object.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<b>const</b> <a href="#cmp_fn394495"><tt>cmp_fn</tt></a> & - get_cmp_fn - () <b>const</b> -</pre> - </td> - - <td> - <p>Const access to the <a href= - "#cmp_fn394495"><tt>cmp_fn</tt></a> object.</p> - </td> - </tr> - </table> - - <h3><a name="link9" id="link9">Node-Iteration Methods</a></h3> - - <table class="c1" width="100%" border="1" summary="Methods"> - <tr> - <td width="45%" align="left"><b>Method</b></td> - - <td width="55%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -<a href="#node_iterator3431975247"><tt>node_iterator</tt></a> - node_begin - () -</pre> - </td> - - <td> - <p>Returns a <a href= - "#node_iterator3431975247"><tt>node_iterator</tt></a> - corresponding to the node at the root of the tree.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<a href= -"#const_node_iterator4205924553"><tt>const_node_iterator</tt></a> - node_begin - () <b>const</b> -</pre> - </td> - - <td> - <p>Returns a <a href= - "#const_node_iterator4205924553"><tt>const_node_iterator</tt></a> - corresponding to the node at the root of the tree.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<a href="#node_iterator3431975247"><tt>node_iterator</tt></a> - node_end - () -</pre> - </td> - - <td> - <p>Returns a <a href= - "#node_iterator3431975247"><tt>node_iterator</tt></a> - corresponding to a node just after a leaf of the - tree.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<a href= -"#const_node_iterator4205924553"><tt>const_node_iterator</tt></a> - node_end - () <b>const</b> -</pre> - </td> - - <td> - <p>Returns a <a href= - "#const_node_iterator4205924553"><tt>const_node_iterator</tt></a> - corresponding to a node just after a leaf of the - tree.</p> - </td> - </tr> - </table> - </div> -</body> -</html> diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/tree_based_containers.html b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/tree_based_containers.html deleted file mode 100644 index 63c7c7482..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/tree_based_containers.html +++ /dev/null @@ -1,358 +0,0 @@ -<!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" xml:lang="en" lang="en"> -<head> - <meta name="generator" content= - "HTML Tidy for Linux/x86 (vers 12 April 2005), see www.w3.org" /> - - <title>Tree-Based Containers</title> - <meta http-equiv="Content-Type" content= - "text/html; charset=us-ascii" /> - </head> - -<body> - <div id="page"> - <h1>Tree Design</h1> - - <h2><a name="overview" id="overview">Overview</a></h2> - - <p>The tree-based container has the following declaration:</p> - <pre> -<b>template</b>< - <b>typename</b> Key, - <b>typename</b> Mapped, - <b>typename</b> Cmp_Fn = std::less<Key>, - <b>typename</b> Tag = <a href="rb_tree_tag.html">rb_tree_tag</a>, - <b>template</b>< - <b>typename</b> Const_Node_Iterator, - <b>typename</b> Node_Iterator, - <b>typename</b> Cmp_Fn_, - <b>typename</b> Allocator_> - <b>class</b> Node_Update = <a href= -"null_tree_node_update.html">null_tree_node_update</a>, - <b>typename</b> Allocator = std::allocator<<b>char</b>> > -<b>class</b> <a href= -"tree.html">tree</a>; -</pre> - - <p>The parameters have the following meaning:</p> - - <ol> - <li><tt>Key</tt> is the key type.</li> - - <li><tt>Mapped</tt> is the mapped-policy.</li> - - <li><tt>Cmp_Fn</tt> is a key comparison functor</li> - - <li><tt>Tag</tt> specifies which underlying data structure - to use.</li> - - <li><tt>Node_Update</tt> is a policy for updating node - invariants. This is described in <a href="#invariants">Node - Invariants</a>.</li> - - <li><tt>Allocator</tt> is an allocator - type.</li> - </ol> - - <p>The <tt>Tag</tt> parameter specifies which underlying - data structure to use. Instantiating it by <a href= - "rb_tree_tag.html"><tt>rb_tree_tag</tt></a>, <a href= - "splay_tree_tag.html"><tt>splay_tree_tag</tt></a>, or - <a href="ov_tree_tag.html"><tt>ov_tree_tag</tt></a>, - specifies an underlying red-black tree, splay tree, or - ordered-vector tree, respectively; any other tag is illegal. - Note that containers based on the former two contain more types - and methods than the latter (<i>e.g.</i>, - <tt>reverse_iterator</tt> and <tt>rbegin</tt>), and different - exception and invalidation guarantees.</p> - - <h2><a name="invariants" id="invariants">Node - Invariants</a></h2> - - <p>Consider the two trees in Figures <a href= - "#node_invariants">Some node invariants</a> A and B. The first - is a tree of floats; the second is a tree of pairs, each - signifying a geometric line interval. Each element in a tree is refered to as a node of the tree. Of course, each of - these trees can support the usual queries: the first can easily - search for <tt>0.4</tt>; the second can easily search for - <tt>std::make_pair(10, 41)</tt>.</p> - - <p>Each of these trees can efficiently support other queries. - The first can efficiently determine that the 2rd key in the - tree is <tt>0.3</tt>; the second can efficiently determine - whether any of its intervals overlaps - <tt>std::make_pair(29,42)</tt> (useful in geometric - applications or distributed file systems with leases, for - example). (See <a href= - "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/testsuite/ext/pb_ds/example/tree_order_statistics.cc"><tt>tree_order_statistics.cc</tt></a> - and <a href= - "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/testsuite/ext/pb_ds/example/tree_intervals.cc"><tt>tree_intervals.cc</tt></a> - for examples.) It should be noted that an <tt>std::set</tt> can - only solve these types of problems with linear complexity.</p> - - <p>In order to do so, each tree stores some <i>metadata</i> in - each node, and maintains node invariants <a href= - "references.html#clrs2001">clrs2001</a>]. The first stores in - each node the size of the sub-tree rooted at the node; the - second stores at each node the maximal endpoint of the - intervals at the sub-tree rooted at the node.</p> - - <h6 class="c1"><a name="node_invariants" id= - "node_invariants"><img src="node_invariants.png" alt= - "no image" /></a></h6> - - <h6 class="c1">Some node invariants.</h6> - - <p>Supporting such trees is difficult for a number of - reasons:</p> - - <ol> - <li>There must be a way to specify what a node's metadata - should be (if any).</li> - - <li>Various operations can invalidate node invariants. - <i>E.g.</i>, Figure <a href= - "#node_invariant_invalidations">Invalidation of node - invariants</a> shows how a right rotation, performed on A, - results in B, with nodes <i>x</i> and <i>y</i> having - corrupted invariants (the grayed nodes in C); Figure <a href= - "#node_invariant_invalidations">Invalidation of node - invariants</a> shows how an insert, performed on D, results - in E, with nodes <i>x</i> and <i>y</i> having corrupted - invariants (the grayed nodes in F). It is not feasible to - know outside the tree the effect of an operation on the nodes - of the tree.</li> - - <li>The search paths of standard associative containers are - defined by comparisons between keys, and not through - metadata.</li> - - <li>It is not feasible to know in advance which methods trees - can support. Besides the usual <tt>find</tt> method, the - first tree can support a <tt>find_by_order</tt> method, while - the second can support an <tt>overlaps</tt> method.</li> - </ol> - - <h6 class="c1"><a name="node_invariant_invalidations" id= - "node_invariant_invalidations"><img src= - "node_invariant_invalidations.png" alt="no image" /></a></h6> - - <h6 class="c1">Invalidation of node invariants.</h6> - - <p>These problems are solved by a combination of two means: - node iterators, and template-template node updater - parameters.</p> - - <h3><a name="node_it" id="node_it">Node Iterators</a></h3> - - <p>Each tree-based container defines two additional iterator - types, <a href= - "tree_const_node_iterator.html"><tt>const_node_iterator</tt></a> - and <a href= - "tree_node_iterator.html"><tt>node_iterator</tt></a>. - These iterators allow descending from a node to one of its - children. Node iterator allow search paths different than those - determined by the comparison functor. <a href= - "tree.html">tree</a> - supports the methods:</p> - <pre> - <a href="tree_const_node_iterator.html"><tt>const_node_iterator</tt></a> - node_begin() <b>const</b>; - - <a href="tree_node_iterator.html"><tt>node_iterator</tt></a> - node_begin(); - - <a href="tree_const_node_iterator.html"><tt>const_node_iterator</tt></a> - node_end() <b>const</b>; - - <a href="tree_node_iterator.html"><tt>node_iterator</tt></a> - node_end(); -</pre> - - <p>The first pairs return node iterators corresponding to the - root node of the tree; the latter pair returns node iterators - corresponding to a just-after-leaf node.</p> - - <h3><a name="node_up" id="node_up">Node Updater - (Template-Template) Parameters</a></h3> - - <p>The tree-based containers are parametrized by a - <tt>Node_Update</tt> template-template parameter. A tree-based - container instantiates <tt>Node_Update</tt> to some - <tt>node_update</tt> class, and publicly - subclasses <tt>node_update</tt>. Figure - <a href="#tree_node_update_cd">A tree and its update - policy</a> shows this scheme, as well as some predefined - policies (which are explained below).</p> - - <h6 class="c1"><a name="tree_node_update_cd" id= - "tree_node_update_cd"><img src= - "tree_node_update_policy_cd.png" alt="no image" /></a></h6> - - <h6 class="c1">A tree and its update policy.</h6> - - <p><tt>node_update</tt> (an instantiation of - <tt>Node_Update</tt>) must define <tt>metadata_type</tt> as - the type of metadata it requires. For order statistics, - <i>e.g.</i>, <tt>metadata_type</tt> might be <tt>size_t</tt>. - The tree defines within each node a <tt>metadata_type</tt> - object.</p> - - <p><tt>node_update</tt> must also define the following method - for restoring node invariants:</p> - <pre> - void - operator()(<a href= -"tree_node_iterator.html"><tt>node_iterator</tt></a> nd_it, <a href= -"tree_const_node_iterator.html"><tt>const_node_iterator</tt></a> end_nd_it) -</pre> - - <p>In this method, <tt>nd_it</tt> is a <a href= - "tree_node_iterator.html"><tt>node_iterator</tt></a> - corresponding to a node whose A) all descendants have valid - invariants, and B) its own invariants might be violated; - <tt>end_nd_it</tt> is a <a href= - "tree_const_node_iterator.html"><tt>const_node_iterator</tt></a> - corresponding to a just-after-leaf node. This method should - correct the node invariants of the node pointed to by - <tt>nd_it</tt>. For example, say node <i>x</i> in Figure - <a href="#restoring_node_invariants">Restoring node - invariants</a>-A has an invalid invariant, but its' children, - <i>y</i> and <i>z</i> have valid invariants. After the - invocation, all three nodes should have valid invariants, as in - Figure <a href="#restoring_node_invariants">Restoring node - invariants</a>-B.</p> - - <h6 class="c1"><a name="restoring_node_invariants" id= - "restoring_node_invariants"><img src= - "restoring_node_invariants.png" alt="no image" /></a></h6> - - <h6 class="c1">Invalidation of node invariants.</h6> - - <p>When a tree operation might invalidate some node invariant, - it invokes this method in its <tt>node_update</tt> base to - restore the invariant. For example, Figure <a href= - "#update_seq_diagram">Insert update sequence diagram</a> shows - an <tt>insert</tt> operation (point A); the tree performs some - operations, and calls the update functor three times (points B, - C, and D). (It is well known that any <tt>insert</tt>, - <tt>erase</tt>, <tt>split</tt> or <tt>join</tt>, can restore - all node invariants by a small number of node invariant updates - [<a href="references.html#clrs2001">clrs2001</a>].)</p> - - <h6 class="c1"><a name="update_seq_diagram" id= - "update_seq_diagram"><img src="update_seq_diagram.png" alt= - "no image" /></a></h6> - - <h6 class="c1">Insert update sequence diagram.</h6> - - <p>To complete the description of the scheme, three questions - need to be answered:</p> - - <ol> - <li>How can a tree which supports order statistics define a - method such as <tt>find_by_order</tt>?</li> - - <li>How can the node updater base access methods of the - tree?</li> - - <li>How can the following cyclic dependency be resolved? - <tt>node_update</tt> is a base class of the tree, yet it - uses node iterators defined in the tree (its child).</li> - </ol> - - <p>The first two questions are answered by the fact that - <tt>node_update</tt> (an instantiation of - <tt>Node_Update</tt>) is a <tt><b>public</b></tt> base class - of the tree. Consequently:</p> - - <ol> - <li>Any public methods of <tt>node_update</tt> are - automatically methods of the tree [<a href= - "references.html#alexandrescu01modern">alexandrescu01modern</a>]. - Thus an order-statistics node updater, <a href= - "tree_order_statistics_node_update.html"><tt>tree_order_statistics_node_update</tt></a> - defines the <tt>find_by_order</tt> method; any tree - instantiated by this policy consequently supports this method - as well.</li> - - <li>In C++, if a base class declares a method as - <tt><b>virtual</b></tt>, it is <tt><b>virtual</b></tt> in its - subclasses. If <tt>node_update</tt> needs to access one of - the tree's methods, say the member function <tt>end</tt>, it simply - declares that method as <tt><b>virtual</b></tt> - abstract.</li> - </ol> - - <p>The cyclic dependency is solved through template-template - parameters. <tt>Node_Update</tt> is parametrized by the tree's node iterators, its comparison - functor, and its allocator type. Thus, - instantiations of <tt>Node_Update</tt> have all information required.</p> - - <p class="c1"><tt>pb_ds</tt> assumes that constructing a metadata object and modifying it - are exception free. Suppose that during some method, say - <tt>insert</tt>, a metadata-related operation - (<i>e.g.</i>, changing the value of a metadata) throws an - exception. Ack! Rolling back the method is unusually complex.</p> - - <p>In <a href= - "concepts.html#concepts_null_policies">Interface::Concepts::Null - Policy Classes</a> a distinction was made between <i>redundant - policies</i> and <i>null policies</i>. Node invariants show a - case where null policies are required.</p> - - <p>Assume a regular tree is required, one which need not - support order statistics or interval overlap queries. - Seemingly, in this case a redundant policy - a policy which - doesn't affect nodes' contents would suffice. This, would lead - to the following drawbacks:</p> - - <ol> - <li>Each node would carry a useless metadata object, wasting - space.</li> - - <li>The tree cannot know if its <tt>Node_Update</tt> policy - actually modifies a node's metadata (this is halting - reducible). In Figure <a href= - "#rationale_null_node_update">Useless update path</a> , - assume the shaded node is inserted. The tree would have to - traverse the useless path shown to the root, applying - redundant updates all the way.</li> - </ol> - - <h6 class="c1"><a name="rationale_null_node_update" id= - "rationale_null_node_update"><img src= - "rationale_null_node_update.png" alt="no image" /></a></h6> - - <h6 class="c1">Useless update path.</h6> - - <p>A null policy class, <a href= - "null_tree_node_update.html"><tt>null_tree_node_update</tt></a> - solves both these problems. The tree detects that node - invariants are irrelevant, and defines all accordingly.</p> - - <h2><a name="add_methods" id="add_methods">Additional - Methods</a></h2> - - <p>Tree-based containers support split and join methods. - It is possible to split a tree so that it passes - all nodes with keys larger than a given key to a different - tree. These methods have the following advantages over the - alternative of externally inserting to the destination - tree and erasing from the source tree:</p> - - <ol> - <li>These methods are efficient - red-black trees are split - and joined in poly-logarithmic complexity; ordered-vector - trees are split and joined at linear complexity. The - alternatives have super-linear complexity.</li> - - <li>Aside from orders of growth, these operations perform - few allocations and de-allocations. For red-black trees, allocations are not performed, - and the methods are exception-free. </li> - </ol> - </div> -</body> -</html> diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/tree_node_iterator.html b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/tree_node_iterator.html deleted file mode 100644 index ba09b5b4d..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/tree_node_iterator.html +++ /dev/null @@ -1,143 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" - "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> -<head> - <meta name="generator" content= - "HTML Tidy for Linux/x86 (vers 12 April 2005), see www.w3.org" /> - - <title>tree::node_iterator Interface</title> - <meta http-equiv="Content-Type" content= - "text/html; charset=us-ascii" /> - </head> - -<body> - <div id="page"> - <h1><tt><span class= - "c2"><tt>tree</tt></span>::node_iterator</tt> - Interface</h1> - - <p>Node iterator.</p> - - <p>This is an <quote>iterator to an iterator </quote> - it - iterates over nodes, and de-referencing it returns one of the - tree's iterators</p> - - <h2><a name="link1" id="link1">Base Classes</a></h2> - - <table class="c1" width="100%" border="1" summary="Bases"> - <tr> - <td width="80%" align="left"><b>Class</b></td> - - <td width="20%" align="left"><b>Derivation Type</b></td> - </tr> - - <tr> - <td> - <pre> -<a href= -"tree.html#const_node_iterator4205924553"><span class="c2"><tt>tree</tt></span>::const_node_iterator</a> -</pre> - </td> - - <td> - <p>public</p> - </td> - </tr> - </table> - - <h2><a name="link2" id="link2">Public Methods</a></h2> - - <h3><a name="link3" id="link3">Constructors, Destructor, and - Related</a></h3> - - <table class="c1" width="100%" border="1" summary="Methods"> - <tr> - <td width="45%" align="left"><b>Method</b></td> - - <td width="55%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -<b>inline</b> - node_iterator - () -</pre> - </td> - - <td> - <p>Default constructor.</p> - </td> - </tr> - </table> - - <h3><a name="link4" id="link4">Access Methods</a></h3> - - <table class="c1" width="100%" border="1" summary="Methods"> - <tr> - <td width="45%" align="left"><b>Method</b></td> - - <td width="55%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -<b>inline</b> <a href= -"container_base.html#iterator10418194"><span class= -"c2"><tt>container_base</tt></span>::iterator</a> - <b>operator</b>* - () <b>const</b> -</pre> - </td> - - <td> - <p>Access.</p> - </td> - </tr> - </table> - - <h3><a name="link5" id="link5">Movement Methods</a></h3> - - <table class="c1" width="100%" border="1" summary="Methods"> - <tr> - <td width="45%" align="left"><b>Method</b></td> - - <td width="55%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -<b>inline</b> <span class="c2"><tt>node_iterator</tt></span> - get_l_child - () <b>const</b> -</pre> - </td> - - <td> - <p>Returns the node iterator associated with the left - node.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<b>inline</b> <span class="c2"><tt>node_iterator</tt></span> - get_r_child - () <b>const</b> -</pre> - </td> - - <td> - <p>Returns the node iterator associated with the right - node.</p> - </td> - </tr> - </table> - </div> -</body> -</html> diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/tree_node_updator_policy_cd.png b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/tree_node_updator_policy_cd.png Binary files differdeleted file mode 100644 index 5cae5781a..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/tree_node_updator_policy_cd.png +++ /dev/null diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/tree_order_statistics_node_update.html b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/tree_order_statistics_node_update.html deleted file mode 100644 index f4345531f..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/tree_order_statistics_node_update.html +++ /dev/null @@ -1,678 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" - "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> -<head> - <meta name="generator" content= - "HTML Tidy for Linux/x86 (vers 12 April 2005), see www.w3.org" /> - - <title>tree_order_statistics_node_update Interface</title> - <meta http-equiv="Content-Type" content= - "text/html; charset=us-ascii" /> - </head> - -<body> - <div id="page"> - <h1><tt>tree_order_statistics_node_update</tt> Interface</h1> - - <p>Functor updating ranks of entrees.</p> - - <p>Defined in: <a href= - "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/include/ext/pb_ds/tree_policy.hpp"><tt>tree_policy.hpp</tt></a></p> - - <h2><a name="link1" id="link1">Template Parameters</a></h2> - - <table class="c1" width="100%" border="1" summary= - "Template Parameters"> - <tr> - <td width="20%" align="left"><b>Parameter</b></td> - - <td width="50%" align="left"><b>Description</b></td> - - <td width="30%" align="left"><b>Default Value</b></td> - </tr> - - <tr> - <td> - <pre> -<a name="Const_Node_Iterator1933878761" id= -"Const_Node_Iterator1933878761"><b>class</b> Const_Node_Iterator</a> -</pre> - </td> - - <td> - <p>Const node iterator type.</p> - </td> - - <td>-</td> - </tr> - - <tr> - <td> - <pre> -<a name="Node_Iterator4206909839" id= -"Node_Iterator4206909839"><b>class</b> Node_Iterator</a> -</pre> - </td> - - <td> - <p>Node iterator type.</p> - </td> - - <td>-</td> - </tr> - - <tr> - <td> - <pre> -<a name="Cmp_Fn294335" id="Cmp_Fn294335"><b>class</b> Cmp_Fn</a> -</pre> - </td> - - <td> - <p>Comparison functor.</p> - </td> - - <td>-</td> - </tr> - - <tr> - <td> - <pre> -<a name="Allocator35940069" id= -"Allocator35940069"><b>class</b> Allocator</a> -</pre> - </td> - - <td> - <p>Allocator type.</p> - </td> - - <td>-</td> - </tr> - </table> - - <h2><a name="link2" id="link2">Public Types and - Constants</a></h2> - - <h3><a name="link3" id="link3">Policy Definitions</a></h3> - - <table class="c1" width="100%" border="1" summary="Types"> - <tr> - <td width="30%" align="left"><b>Type</b></td> - - <td width="55%" align="left"><b>Definition</b></td> - - <td width="15%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -<a name="cmp_fn394495" id="cmp_fn394495">cmp_fn</a> -</pre> - </td> - - <td> - <pre> -<a href="#Cmp_Fn294335"><tt>Cmp_Fn</tt></a> -</pre> - </td> - - <td> - <p><a href="#Allocator35940069"><tt>Allocator</tt></a> - type.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<a name="allocator48440069" id="allocator48440069">allocator</a> -</pre> - </td> - - <td> - <pre> -<a href="#Allocator35940069"><tt>Allocator</tt></a> -</pre> - </td> - - <td> - <p><a href="#Allocator35940069"><tt>Allocator</tt></a> - type.</p> - </td> - </tr> - </table> - - <h3><a name="link4" id="link4">General Definitions</a></h3> - - <table class="c1" width="100%" border="1" summary="Types"> - <tr> - <td width="30%" align="left"><b>Type</b></td> - - <td width="55%" align="left"><b>Definition</b></td> - - <td width="15%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -<a name="size_type55424436" id="size_type55424436">size_type</a> -</pre> - </td> - - <td> - <pre> -<b>typename</b> <a href= -"#allocator48440069"><tt>allocator</tt></a>::size_type -</pre> - </td> - - <td> - <p>Size type.</p> - </td> - </tr> - </table> - - <h3><a name="link5" id="link5">Key-type Definitions</a></h3> - - <table class="c1" width="100%" border="1" summary="Types"> - <tr> - <td width="30%" align="left"><b>Type</b></td> - - <td width="55%" align="left"><b>Definition</b></td> - - <td width="15%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -<a name="key_type10393186" id="key_type10393186">key_type</a> -</pre> - </td> - - <td> - <pre> -The instantiating container's key type. -</pre> - </td> - - <td> - <p>Key type.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<a name="const_key_reference3185471705" id= -"const_key_reference3185471705">const_key_reference</a> -</pre> - </td> - - <td> - <pre> -The instantiating container's const key reference type. -</pre> - </td> - - <td> - <p>Const key reference.</p> - </td> - </tr> - </table> - - <h3><a name="link6" id="link6">Metadata-Type - Definitions</a></h3> - - <table class="c1" width="100%" border="1" summary="Types"> - <tr> - <td width="30%" align="left"><b>Type</b></td> - - <td width="55%" align="left"><b>Definition</b></td> - - <td width="15%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -<a name="metadata_type2849297114" id= -"metadata_type2849297114">metadata_type</a> -</pre> - </td> - - <td> - <pre> -<a href="#size_type55424436"><tt>size_type</tt></a> -</pre> - </td> - - <td> - <p>Metadata type.</p> - </td> - </tr> - </table> - - <h3><a name="link7" id="link7">Iterator Definitions</a></h3> - - <table class="c1" width="100%" border="1" summary="Types"> - <tr> - <td width="30%" align="left"><b>Type</b></td> - - <td width="55%" align="left"><b>Definition</b></td> - - <td width="15%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -<a name="const_node_iterator4205924553" id= -"const_node_iterator4205924553">const_node_iterator</a> -</pre> - </td> - - <td> - <pre> -<a href= -"#Const_Node_Iterator1933878761"><tt>Const_Node_Iterator</tt></a> -</pre> - </td> - - <td> - <p>Const node iterator type.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<a name="node_iterator3431975247" id= -"node_iterator3431975247">node_iterator</a> -</pre> - </td> - - <td> - <pre> -<a href="#Node_Iterator4206909839"><tt>Node_Iterator</tt></a> -</pre> - </td> - - <td> - <p>Node iterator type.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<a name="const_iterator98626788" id= -"const_iterator98626788">const_iterator</a> -</pre> - </td> - - <td> - <pre> -<b>typename</b> <a href= -"#const_node_iterator4205924553"><tt>const_node_iterator</tt></a>::value_type -</pre> - </td> - - <td> - <p>Const iterator type.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<a name="iterator10418194" id="iterator10418194">iterator</a> -</pre> - </td> - - <td> - <pre> -<b>typename</b> <a href= -"#node_iterator3431975247"><tt>node_iterator</tt></a>::value_type -</pre> - </td> - - <td> - <p>Iterator type.</p> - </td> - </tr> - </table> - - <h2><a name="link8" id="link8">Public Methods</a></h2> - - <h3><a name="link9" id="link9">Find-Type Methods</a></h3> - - <table class="c1" width="100%" border="1" summary="Methods"> - <tr> - <td width="45%" align="left"><b>Method</b></td> - - <td width="55%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -<b>inline</b> <a href= -"#const_iterator98626788"><tt>const_iterator</tt></a> - find_by_order - (<a href= -"#size_type55424436"><tt>size_type</tt></a> order) <b>const</b> -</pre> - </td> - - <td> - <p>Finds an entry by order. Returns a <a href= - "#const_iterator98626788"><tt>const_iterator</tt></a> to - the entry with the order <span class= - "c1"><tt>order</tt></span>, or a <a href= - "#const_iterator98626788"><tt>const_iterator</tt></a> to - the container object's end if <span class= - "c1"><tt>order</tt></span> is at least the size of the - container object.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<b>inline</b> <a href="#iterator10418194"><tt>iterator</tt></a> - find_by_order - (<a href="#size_type55424436"><tt>size_type</tt></a> order) -</pre> - </td> - - <td> - <p>Finds an entry by order. Returns an <a href= - "#iterator10418194"><tt>iterator</tt></a> to the entry - with the order <span class="c1"><tt>order</tt></span>, or - an <a href="#iterator10418194"><tt>iterator</tt></a> to - the container object's end if <span class= - "c1"><tt>order</tt></span> is at least the size of the - container object.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<b>inline</b> <a href="#size_type55424436"><tt>size_type</tt></a> - order_of_key - (<a href= -"#const_key_reference3185471705"><tt>const_key_reference</tt></a> r_key) <b>const</b> -</pre> - </td> - - <td> - <p>Returns the order of a key within a sequence. For - example, if <span class="c1"><tt>r_key</tt></span> is the - smallest key, this method will return 0; if <span class= - "c1"><tt>r_key</tt></span> is a key between the smallest - and next key, this method will return 1; if <span class= - "c1"><tt>r_key</tt></span> is a key larger than the - largest key, this method will return the size of r_c.</p> - </td> - </tr> - </table> - - <h2><a name="link10" id="link10">Protected Types and - Constants</a></h2> - - <h3><a name="link11" id="link11">Value-type - Definitions</a></h3> - - <table class="c1" width="100%" border="1" summary="Types"> - <tr> - <td width="30%" align="left"><b>Type</b></td> - - <td width="55%" align="left"><b>Definition</b></td> - - <td width="15%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -<a name="const_reference495461441" id= -"const_reference495461441">const_reference</a> -</pre> - </td> - - <td> - <pre> -The instantiating container's const reference type. -</pre> - </td> - - <td> - <p>Const reference to the container's value-type.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<a name="const_pointer878814947" id= -"const_pointer878814947">const_pointer</a> -</pre> - </td> - - <td> - <pre> -The instantiating container's const pointer type. -</pre> - </td> - - <td> - <p>Const pointer to the container's value-type.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<a name="const_metadata_reference1108857465" id= -"const_metadata_reference1108857465">const_metadata_reference</a> -</pre> - </td> - - <td> - <pre> -<b>typename</b> <a href= -"#Allocator35940069"><tt>Allocator</tt></a>::<b>template</b> rebind< - <a href= -"#metadata_type2849297114"><tt>metadata_type</tt></a>>::other::<a href="#const_reference495461441"><tt>const_reference</tt></a> -</pre> - </td> - - <td> - <p>Const metadata reference.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<a name="metadata_reference583863863" id= -"metadata_reference583863863">metadata_reference</a> -</pre> - </td> - - <td> - <pre> -<b>typename</b> <a href= -"#Allocator35940069"><tt>Allocator</tt></a>::<b>template</b> rebind< - <a href= -"#metadata_type2849297114"><tt>metadata_type</tt></a>>::other::reference -</pre> - </td> - - <td> - <p>Metadata reference.</p> - </td> - </tr> - </table> - - <h2><a name="link12" id="link12">Protected Methods</a></h2> - - <h3><a name="link13" id="link13">Operators</a></h3> - - <table class="c1" width="100%" border="1" summary="Methods"> - <tr> - <td width="45%" align="left"><b>Method</b></td> - - <td width="55%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -<b>inline</b> <b>void</b> - <b>operator</b>() - (<a href= -"#node_iterator3431975247"><tt>node_iterator</tt></a> node_it, - <a href= -"#const_node_iterator4205924553"><tt>const_node_iterator</tt></a> end_nd_it) <b>const</b> -</pre> - </td> - - <td> - <p>Updates the rank of a node through a <a href= - "#node_iterator3431975247"><tt>node_iterator</tt></a> - <span class="c1"><tt>node_it</tt></span>; <span class= - "c1"><tt>end_nd_it</tt></span> is the end node <a href= - "#iterator10418194"><tt>iterator</tt></a>.</p> - </td> - </tr> - </table> - - <h3><a name="link14" id="link14">Constructors, destructor, and - related</a></h3> - - <table class="c1" width="100%" border="1" summary="Methods"> - <tr> - <td width="45%" align="left"><b>Method</b></td> - - <td width="55%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -<b>virtual</b> - ~tree_order_statistics_node_update - () -</pre> - </td> - - <td> - <p>Destructor.</p> - </td> - </tr> - </table> - - <h2><a name="link15" id="link15">Private Methods</a></h2> - - <h3><a name="link16" id="link16">Overrides</a></h3> - - <table class="c1" width="100%" border="1" summary="Methods"> - <tr> - <td width="45%" align="left"><b>Method</b></td> - - <td width="55%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -<b>virtual</b> <a href= -"#const_node_iterator4205924553"><tt>const_node_iterator</tt></a> - node_begin - () <b>const</b> = 0 -</pre> - </td> - - <td> - <p>Returns the <a href= - "#const_node_iterator4205924553"><tt>const_node_iterator</tt></a> - associated with the tree's root node.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<b>virtual</b> <a href= -"#node_iterator3431975247"><tt>node_iterator</tt></a> - node_begin - () = 0 -</pre> - </td> - - <td> - <p>Returns the <a href= - "#node_iterator3431975247"><tt>node_iterator</tt></a> - associated with the tree's root node.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<b>virtual</b> <a href= -"#const_node_iterator4205924553"><tt>const_node_iterator</tt></a> - node_end - () <b>const</b> = 0 -</pre> - </td> - - <td> - <p>Returns the <a href= - "#const_node_iterator4205924553"><tt>const_node_iterator</tt></a> - associated with a just-after leaf node.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<b>virtual</b> <a href= -"#node_iterator3431975247"><tt>node_iterator</tt></a> - node_end - () = 0 -</pre> - </td> - - <td> - <p>Returns the <a href= - "#node_iterator3431975247"><tt>node_iterator</tt></a> - associated with a just-after leaf node.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<b>virtual</b> <a href="#cmp_fn394495"><tt>cmp_fn</tt></a> & - get_cmp_fn - () = 0 -</pre> - </td> - - <td> - <p>Access to the <a href= - "#cmp_fn394495"><tt>cmp_fn</tt></a> object.</p> - </td> - </tr> - </table> - </div> -</body> -</html> diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/tree_order_statistics_timing_test.html b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/tree_order_statistics_timing_test.html deleted file mode 100644 index ef811613e..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/tree_order_statistics_timing_test.html +++ /dev/null @@ -1,118 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" - "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> -<head> -<meta name="generator" content="HTML Tidy for Linux/x86 (vers 12 April 2005), see www.w3.org" /> -<title>Tree Order Statistics Timing Test</title> -<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" /> -</head> -<body> -<div id="page"> -<h1>Tree Order-Statistics Timing Test</h1> -<h2><a name="description" id="description">Description</a></h2> -<p>This test creates a container, inserts random integers into - the the container, and then checks the order-statistics of the - container's values. (If the container is one of <tt>pb_ds</tt> - 's trees, it does this with the <tt>order_of_key</tt> method of - <a href="tree_order_statistics_node_update.html"><tt>tree_order_statistics_node_update</tt></a> - ; otherwise, it uses the <tt>find</tt> method and - <tt>std::distance</tt> .) It measures the average time for such - queries as a function of the number of values inserted.</p> -<p>(The test was executed with <a href="http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/testsuite/performance/ext/pb_ds/tree_order_statistics_timing.cc"><tt>tree_order_statistics_timing_test</tt></a> - 200 200 2100)</p> -<h2><a name="purpose" id="purpose">Purpose</a></h2> -<p>The test checks the performance difference of policies based - on node-invariant as opposed to a external functions. (see - <a href="tree_based_containers.html#invariants">Design::Associative - Containers::Tree-Based Containers::Node Invariants</a> .)</p> -<h2><a name="results" id="results">Results</a></h2> -<p>Figures <a href="#NTG">NTG</a>, <a href="#NTM">NTM</a>, and - <a href="#NTL">NTL</a> show the results for the native and - tree-based containers in <a href="assoc_performance_tests.html#gcc"><u>g++</u></a>, <a href="assoc_performance_tests.html#msvc"><u>msvc++</u></a>, and - <a href="assoc_performance_tests.html#local"><u>local</u></a>, - respectively.</p> -<div id="NTG_res_div"> -<div id="NTG_gcc"> -<div id="NTG_tree_order_statistics_timing_test"> -<div id="NTG_assoc"> -<div id="NTG_Native_and_tree-based_container_order-statistics_queries"><div style="border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NTG" id="NTG"><img src="tree_order_statistics_timing_test_gcc.png" alt="no image" /></a></h6>NTG: Native and tree-based container order-statistics queries - <a href="assoc_performance_tests.html#gcc">g++</a><p>In the above figure, the names in the legends have the following meaning:</p> -<ol> -<li> -n_set- -<tt>std::set</tt></li> -<li> -splay_tree_ost_set- -<a href="tree.html"><tt>tree</tt></a> - with <tt>Tag</tt> = <a href="splay_tree_tag.html"><tt>splay_tree_tag</tt></a> -, and <tt>Node_Update</tt> = <a href="tree_order_statistics_node_update.html"><tt>tree_order_statistics_node_update</tt></a> -</li> -<li> -rb_tree_ost_set- -<a href="tree.html"><tt>tree</tt></a> - with <tt>Tag</tt> = <a href="rb_tree_tag.html"><tt>rb_tree_tag</tt></a> -, and <tt>Node_Update</tt> = <a href="tree_order_statistics_node_update.html"><tt>tree_order_statistics_node_update</tt></a> -</li> -</ol> -</div><div style="width: 100%; height: 20px"></div></div> -</div> -</div> -</div> -</div> -<div id="NTM_res_div"> -<div id="NTM_msvc"> -<div id="NTM_tree_order_statistics_timing_test"> -<div id="NTM_assoc"> -<div id="NTM_Native_and_tree-based_container_order-statistics_queries"><div style="border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NTM" id="NTM"><img src="tree_order_statistics_timing_test_msvc.png" alt="no image" /></a></h6>NTM: Native and tree-based container order-statistics queries - <a href="assoc_performance_tests.html#msvc">msvc++</a><p>In the above figure, the names in the legends have the following meaning:</p> -<ol> -<li> -n_set- -<tt>std::set</tt></li> -<li> -splay_tree_ost_set- -<a href="tree.html"><tt>tree</tt></a> - with <tt>Tag</tt> = <a href="splay_tree_tag.html"><tt>splay_tree_tag</tt></a> -, and <tt>Node_Update</tt> = <a href="tree_order_statistics_node_update.html"><tt>tree_order_statistics_node_update</tt></a> -</li> -<li> -rb_tree_ost_set- -<a href="tree.html"><tt>tree</tt></a> - with <tt>Tag</tt> = <a href="rb_tree_tag.html"><tt>rb_tree_tag</tt></a> -, and <tt>Node_Update</tt> = <a href="tree_order_statistics_node_update.html"><tt>tree_order_statistics_node_update</tt></a> -</li> -</ol> -</div><div style="width: 100%; height: 20px"></div></div> -</div> -</div> -</div> -</div> -<div id="NTL_res_div"> -<div id="NTL_local"> -<div id="NTL_tree_order_statistics_timing_test"> -<div id="NTL_assoc"> -<div id="NTL_Native_and_tree-based_container_order-statistics_queries"><div style = "border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NTL" id= "NTL"><img src="tree_order_statistics_timing_test_local.png" alt="no image" /></a></h6>NTL: Native and tree-based container order-statistics queries - <a href = "assoc_performance_tests.html#local">local</a></div><div style = "width: 100%; height: 20px"></div></div> -</div> -</div> -</div> -</div> -<h2><a name="observations" id="observations">Observations</a></h2> -<p>In this test, the native red-black tree can support - order-statistics queries only externally, by performing a - <tt>find</tt> (alternatively, <tt>lower_bound</tt> or - <tt>upper_bound</tt> ) and then using <tt>std::distance</tt> . - This is clearly linear, and it is not that surprising that the - cost is high.</p> -<p><tt>pb_ds</tt> 's tree-based containers use in this test the - <tt>order_of_key</tt> method of <a href="tree_order_statistics_node_update.html"><tt>tree_order_statistics_node_update</tt></a>. - This method has only linear complexity in the length of the - root-node path. Unfortunately, the average path of a splay tree - (<a href="tree.html"><tt>tree</tt></a> - with <tt>Tag =</tt> <a href="splay_tree_tag.html"><tt>splay_tree_tag</tt></a> ) can - be higher than logarithmic; the longest path of a red-black - tree (<a href="tree.html"><tt>tree</tt></a> - with <tt>Tag =</tt> <a href="rb_tree_tag.html"><tt>rb_tree_tag</tt></a> ) is - logarithmic in the number of elements. Consequently, the splay - tree has worse performance than the red-black tree.</p> -</div> -</body> -</html> diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/tree_order_statistics_timing_test_gcc.png b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/tree_order_statistics_timing_test_gcc.png Binary files differdeleted file mode 100644 index bdb00d07a..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/tree_order_statistics_timing_test_gcc.png +++ /dev/null diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/tree_order_statistics_timing_test_local.png b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/tree_order_statistics_timing_test_local.png Binary files differdeleted file mode 100644 index 2b921743f..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/tree_order_statistics_timing_test_local.png +++ /dev/null diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/tree_order_statistics_timing_test_msvc.png b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/tree_order_statistics_timing_test_msvc.png Binary files differdeleted file mode 100644 index 76dcbee44..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/tree_order_statistics_timing_test_msvc.png +++ /dev/null diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/tree_random_int_find_find_timing_test.html b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/tree_random_int_find_find_timing_test.html deleted file mode 100644 index c34354f3e..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/tree_random_int_find_find_timing_test.html +++ /dev/null @@ -1,160 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" - "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> -<head> -<meta name="generator" content="HTML Tidy for Linux/x86 (vers 12 April 2005), see www.w3.org" /> -<title>Tree Text Find Timing Test</title> -<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" /> -</head> -<body> -<div id="page"> -<h1>Tree-Based and Trie-Based Text <tt>find</tt> Find Timing - Test</h1> -<h2><a name="description" id="description">Description</a></h2> -<p>This test inserts a number of values with keys from an - arbitrary text ([<a href="references.html#wickland96thirty">wickland96thirty</a>]) into - a container, then performs a series of finds using - <tt>find</tt>. It measures the average time for <tt>find</tt> - as a function of the number of values inserted.</p> -<p>(The test was executed with <a href="http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/testsuite/performance/ext/pb_ds/text_find_timing.cc"><tt>text_find_timing_test</tt></a> - thirty_years_among_the_dead_preproc.txt 200 200 2100)</p> -<h2><a name="purpose" id="purpose">Purpose</a></h2> -<p>The test checks the effect of different underlying - data structures.</p> -<h2><a name="results" id="results">Results</a></h2> -<p>Figures <a href="#NTTG">NTTG</a>, <a href="#NTTM">NTTM</a>, - and <a href="#NTTG">NTTL</a> show the results for the native, - tree-based, and trie-based types in <a href="assoc_performance_tests.html#gcc"><u>g++</u></a>, <a href="assoc_performance_tests.html#local"><u>local</u></a>, and - <a href="assoc_performance_tests.html#local"><u>local</u></a>, - respectively.</p> -<div id="NTTG_res_div"> -<div id="NTTG_gcc"> -<div id="NTTG_random_int_find_find_timing_test_tree"> -<div id="NTTG_assoc"> -<div id="NTTG_Native_456_tree-based_456_random_int_find_timing_test_using__tt_find_455tt_"><div style="border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NTTG" id="NTTG"><img src="random_int_find_find_timing_test_tree_gcc.png" alt="no image" /></a></h6>NTTG: Native, tree-based, random int find timing test using <tt>find</tt> - <a href="assoc_performance_tests.html#gcc">g++</a><p>In the above figure, the names in the legends have the following meaning:</p> -<ol> -<li> -splay_tree_map- -<a href="tree.html"><tt>tree</tt></a> - with <tt>Tag</tt> = <a href="splay_tree_tag.html"><tt>splay_tree_tag</tt></a> -, and <tt>Node_Update</tt> = <a href="null_tree_node_update.html"><tt>null_tree_node_update</tt></a> -</li> -<li> -ov_tree_map- -<a href="tree.html"><tt>tree</tt></a> - with <tt>Tag</tt> = <a href="ov_tree_tag.html"><tt>ov_tree_tag</tt></a> -, and <tt>Node_Update</tt> = <a href="null_tree_node_update.html"><tt>null_tree_node_update</tt></a> -</li> -<li> -n_map- -<tt>std::map</tt></li> -<li> -rb_tree_map- -<a href="tree.html"><tt>tree</tt></a> - with <tt>Tag</tt> = <a href="rb_tree_tag.html"><tt>rb_tree_tag</tt></a> -, and <tt>Node_Update</tt> = <a href="null_tree_node_update.html"><tt>null_tree_node_update</tt></a> -</li> -</ol> -</div><div style="width: 100%; height: 20px"></div></div> -</div> -</div> -<div id="NTTM_res_div"> -<div id="NTTM_msvc"> -<div id="NTTM_random_int_find_find_timing_test_tree"> -<div id="NTTM_assoc"> -<div id="NTTM_Native_456_tree-based_456_random_int_find_timing_test_using__tt_find_455tt_"><div style="border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NTTM" id="NTTM"><img src="random_int_find_find_timing_test_tree_msvc.png" alt="no image" /></a></h6>NTTM: Native, tree-based, random int find timing test using <tt>find</tt> - <a href="assoc_performance_tests.html#msvc">msvc++</a><p>In the above figure, the names in the legends have the following meaning:</p> -<ol> -<li> -splay_tree_map- -<a href="tree.html"><tt>tree</tt></a> - with <tt>Tag</tt> = <a href="splay_tree_tag.html"><tt>splay_tree_tag</tt></a> -, and <tt>Node_Update</tt> = <a href="null_tree_node_update.html"><tt>null_tree_node_update</tt></a> -</li> -<li> -ov_tree_map- -<a href="tree.html"><tt>tree</tt></a> - with <tt>Tag</tt> = <a href="ov_tree_tag.html"><tt>ov_tree_tag</tt></a> -, and <tt>Node_Update</tt> = <a href="null_tree_node_update.html"><tt>null_tree_node_update</tt></a> -</li> -<li> -n_map- -<tt>std::map</tt></li> -<li> -rb_tree_map- -<a href="tree.html"><tt>tree</tt></a> - with <tt>Tag</tt> = <a href="rb_tree_tag.html"><tt>rb_tree_tag</tt></a> -, and <tt>Node_Update</tt> = <a href="null_tree_node_update.html"><tt>null_tree_node_update</tt></a> -</li> -</ol> -</div><div style="width: 100%; height: 20px"></div></div> -</div> -</div> -<div id="NTTL_res_div"> -<div id="NTTL_local"> -<div id="NTTL_random_int_find_find_timing_test_tree"> -<div id="NTTL_assoc"> -<div id="NTTL_Native_456_tree-based_456_random_int_find_timing_test_using__tt_find_455tt_"><div style = "border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NTTL" id= "NTTL"><img src="random_int_find_find_timing_test_tree_local.png" alt="no image" /></a></h6>NTTL: Native, tree-based, random int find timing test using <tt>find</tt> - <a href = "assoc_performance_tests.html#local">local</a></div><div style = "width: 100%; height: 20px"></div></div> -</div> -</div> -<h2><a name="observations" id="observations">Observations</a></h2> -<p>For this setting, a splay tree (<a href="tree.html"><tt>tree</tt></a> - with <tt>Tag =</tt> <a href="splay_tree_tag.html"><tt>splay_tree_tag</tt></a>) - does not do well. This is possibly due to two - reasons:</p> -<ol> -<li>A splay tree is not guaranteed to be balanced - [<a href="references.html#motwani95random">motwani95random</a>]. - If a splay tree contains <i>n</i> nodes, its - average root-leaf path can be <i>m >> - log(n)</i>.</li> -<li>Assume a specific root-leaf search path has - length <i>m</i>, and the search-target node has - distance <i>m'</i> from the root. A red-black - tree will require <i>m + 1</i> comparisons to - find the required node; a splay tree will require - <i>2 m'</i> comparisons. A splay tree, - consequently, can perform many more comparisons - than a red-black tree.</li> -</ol> -<p>An ordered-vector tree (<a href="tree.html"><tt>tree</tt></a> - with <tt>Tag =</tt> <a href="ov_tree_tag.html"><tt>ov_tree_tag</tt></a>), - a red-black tree (<a href="tree.html"><tt>tree</tt></a> - with <tt>Tag =</tt> <a href="splay_tree_tag.html"><tt>rb_tree_tag</tt></a>), - and the native red-black tree all share - approximately the same performance.</p> -<p>An ordered-vector tree is slightly slower than - red-black trees, since it requires, in order to - find a key, more math operations than they do. - Conversely, an ordered-vector tree requires far - lower space than the others. ([<a href="references.html#austern00noset">austern00noset</a>], - however, seems to have an implementation that is - also faster than a red-black tree).</p> -<p>A PATRICIA trie (<a href="trie.html"><tt>trie</tt></a> - with <tt>Tag =</tt> <a href="pat_trie_tag.html"><tt>pat_trie_tag</tt></a>) - has good look-up performance, due to its large - fan-out in this case. In this setting, a PATRICIA - trie has lookup performance comparable to a hash - table (see <a href="hash_text_find_find_timing_test.html">Hash-Based - Text <tt>find</tt> Find Timing Test</a>), but it is - order preserving. This is not that surprising, - since a large fan-out PATRICIA trie works like a - hash table with collisions resolved by a sub-trie. - A large fan-out PATRICIA trie does not do well on - modifications (see <a href="tree_text_insert_timing_test.html">Tree-Based and - Trie-Based Text Insert Timing Test</a>). It is - possibly beneficial to semi-static settings, - therefore.</p> -<p><a href="assoc_performance_tests.html#tree_like_based_types"> - Observations::Tree-Like-Based Container Types</a> - summarizes some observations on tree-based and - trie-based containers.</p> -</div> -</div> -</div> -</div> -</div> -</div> -</div> -</body> -</html> diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/tree_split_join_timing_test.html b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/tree_split_join_timing_test.html deleted file mode 100644 index 9164984d1..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/tree_split_join_timing_test.html +++ /dev/null @@ -1,143 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" - "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> -<head> -<meta name="generator" content="HTML Tidy for Linux/x86 (vers 12 April 2005), see www.w3.org" /> -<title>Tree Split Join Timing Test</title> -<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" /> -</head> -<body> -<div id="page"> -<h1>Tree Split-Join Timing Test</h1> -<h2><a name="description" id="description">Description</a></h2> -<p>This test a container, inserts into a number of values, - splits the container at the median, and joins the two - containers. (If the containers are one of <tt>pb_ds</tt> 's - trees, it splits and joins with the <tt>split</tt> and - <tt>join</tt> method; otherwise, it uses the <tt>erase</tt> and - <tt>insert</tt> methods.) It measures the time for splitting - and joining the containers as a function of the number of - values inserted.</p> -<p>(The test was executed with <a href="http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/testsuite/performance/ext/pb_ds/tree_split_join_timing.cc"><tt>tree_split_join_timing_test</tt></a> - 200 200 2100)</p> -<h2><a name="purpose" id="purpose">Purpose</a></h2> -<p>The test checks the performance difference of <tt>join</tt> - as opposed to a sequence of <tt>insert</tt> operations; by - implication, this test checks the most efficient way to erase a - sub-sequence from a tree-like-based container, since this can - always be performed by a small sequence of splits and joins - (see <a href="motivation.html#assoc_split_join_methods">Motivation::Associative - Containers::Slightly Different Methods::Methods Related to - Split and Join</a> and <a href="tree_based_containers.html#add_methods">Design::Associative - Containers::Tree-Based Containers::Additional Methods</a> - .)</p> -<h2><a name="results" id="results">Results</a></h2> -<p>Figures <a href="#NTG">NTG</a>, <a href="#NTM">NTM</a>, and - <a href="#NTL">NTL</a> show the results for the native and - tree-based containers in <a href="assoc_performance_tests.html#gcc"><u>g++</u></a>, <a href="assoc_performance_tests.html#msvc"><u>msvc++</u></a>, and - <a href="assoc_performance_tests.html#local"><u>local</u></a>, - respectively.</p> -<div id="NTG_res_div"> -<div id="NTG_gcc"> -<div id="NTG_tree_split_join_timing_test"> -<div id="NTG_assoc"> -<div id="NTG_Native_and_tree-based_container_splits_and_joins"><div style="border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NTG" id="NTG"><img src="tree_split_join_timing_test_gcc.png" alt="no image" /></a></h6>NTG: Native and tree-based container splits and joins - <a href="assoc_performance_tests.html#gcc">g++</a><p>In the above figure, the names in the legends have the following meaning:</p> -<ol> -<li> -n_set- -<tt>std::set</tt></li> -<li> -splay_tree_set- -<a href="tree.html"><tt>tree</tt></a> - with <tt>Tag</tt> = <a href="splay_tree_tag.html"><tt>splay_tree_tag</tt></a> -, and <tt>Node_Update</tt> = <a href="null_tree_node_update.html"><tt>null_tree_node_update</tt></a> -</li> -<li> -rb_tree_set- -<a href="tree.html"><tt>tree</tt></a> - with <tt>Tag</tt> = <a href="rb_tree_tag.html"><tt>rb_tree_tag</tt></a> -, and <tt>Node_Update</tt> = <a href="null_tree_node_update.html"><tt>null_tree_node_update</tt></a> -</li> -<li> -ov_tree_set- -<a href="tree.html"><tt>tree</tt></a> - with <tt>Tag</tt> = <a href="ov_tree_tag.html"><tt>ov_tree_tag</tt></a> -, and <tt>Node_Update</tt> = <a href="null_tree_node_update.html"><tt>null_tree_node_update</tt></a> -</li> -</ol> -</div><div style="width: 100%; height: 20px"></div></div> -</div> -</div> -</div> -</div> -<div id="NTM_res_div"> -<div id="NTM_msvc"> -<div id="NTM_tree_split_join_timing_test"> -<div id="NTM_assoc"> -<div id="NTM_Native_and_tree-based_container_splits_and_joins"><div style="border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NTM" id="NTM"><img src="tree_split_join_timing_test_msvc.png" alt="no image" /></a></h6>NTM: Native and tree-based container splits and joins - <a href="assoc_performance_tests.html#msvc">msvc++</a><p>In the above figure, the names in the legends have the following meaning:</p> -<ol> -<li> -n_set- -<tt>std::set</tt></li> -<li> -splay_tree_set- -<a href="tree.html"><tt>tree</tt></a> - with <tt>Tag</tt> = <a href="splay_tree_tag.html"><tt>splay_tree_tag</tt></a> -, and <tt>Node_Update</tt> = <a href="null_tree_node_update.html"><tt>null_tree_node_update</tt></a> -</li> -<li> -rb_tree_set- -<a href="tree.html"><tt>tree</tt></a> - with <tt>Tag</tt> = <a href="rb_tree_tag.html"><tt>rb_tree_tag</tt></a> -, and <tt>Node_Update</tt> = <a href="null_tree_node_update.html"><tt>null_tree_node_update</tt></a> -</li> -<li> -ov_tree_set- -<a href="tree.html"><tt>tree</tt></a> - with <tt>Tag</tt> = <a href="ov_tree_tag.html"><tt>ov_tree_tag</tt></a> -, and <tt>Node_Update</tt> = <a href="null_tree_node_update.html"><tt>null_tree_node_update</tt></a> -</li> -</ol> -</div><div style="width: 100%; height: 20px"></div></div> -</div> -</div> -</div> -</div> -<div id="NTL_res_div"> -<div id="NTL_local"> -<div id="NTL_tree_split_join_timing_test"> -<div id="NTL_assoc"> -<div id="NTL_Native_and_tree-based_container_splits_and_joins"><div style = "border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NTL" id= "NTL"><img src="tree_split_join_timing_test_local.png" alt="no image" /></a></h6>NTL: Native and tree-based container splits and joins - <a href = "assoc_performance_tests.html#local">local</a></div><div style = "width: 100%; height: 20px"></div></div> -</div> -</div> -</div> -</div> -<h2><a name="observations" id="observations">Observations</a></h2> -<p>In this test, the native red-black trees must be split and - joined externally, through a sequence of <tt>erase</tt> and - <tt>insert</tt> operations. This is clearly super-linear, and - it is not that surprising that the cost is high.</p> -<p><tt>pb_ds</tt> 's tree-based containers use in this test the - <tt>split</tt> and <tt>join</tt> methods, which have lower - complexity: the <tt>join</tt> method of a splay tree ( <a href="tree.html"><tt>tree</tt></a> - with <tt>Tag =</tt> <a href="splay_tree_tag.html"><tt>splay_tree_tag</tt></a> ) is - quadratic in the length of the longest root-leaf path, and - linear in the total number of elements; the <tt>join</tt> - method of a red-black tree ( <a href="tree.html"><tt>tree</tt></a> - with <tt>Tag =</tt> <a href="rb_tree_tag.html"><tt>rb_tree_tag</tt></a> ) or an - ordered-vector tree ( <a href="tree.html"><tt>tree</tt></a> - with <tt>Tag =</tt> <a href="ov_tree_tag.html"><tt>ov_tree_tag</tt></a> ) is linear - in the number of elements.</p> -<p>Asides from orders of growth, <tt>pb_ds</tt> 's trees access - their allocator very little in these operations, and some of - them do not access it at all. This leads to lower constants in - their complexity, and, for some containers, to exception-free - splits and joins (which can be determined via <a href="assoc_container_traits.html"><tt>container_traits</tt></a>).</p> -<p>It is important to note that <tt>split</tt> and - <tt>join</tt> are not esoteric methods - they are the most - efficient means of erasing a contiguous range of values from a - tree based container.</p> -</div> -</body> -</html> diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/tree_split_join_timing_test_gcc.png b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/tree_split_join_timing_test_gcc.png Binary files differdeleted file mode 100644 index 88867eca6..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/tree_split_join_timing_test_gcc.png +++ /dev/null diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/tree_split_join_timing_test_local.png b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/tree_split_join_timing_test_local.png Binary files differdeleted file mode 100644 index 131d24a1a..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/tree_split_join_timing_test_local.png +++ /dev/null diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/tree_split_join_timing_test_msvc.png b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/tree_split_join_timing_test_msvc.png Binary files differdeleted file mode 100644 index 37ed1b2e7..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/tree_split_join_timing_test_msvc.png +++ /dev/null diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/tree_tag.html b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/tree_tag.html deleted file mode 100644 index d7265ac18..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/tree_tag.html +++ /dev/null @@ -1,47 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" - "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> -<head> - <meta name="generator" content= - "HTML Tidy for Linux/x86 (vers 12 April 2005), see www.w3.org" /> - - <title>tree_tag Interface</title> - <meta http-equiv="Content-Type" content= - "text/html; charset=us-ascii" /> - </head> - -<body> - <div id="page"> - <h1><tt>tree_tag</tt> Interface</h1> - - <p>Basic tree data structure tag.</p> - - <p>Defined in: <a href= - "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/include/ext/pb_ds/tag_and_trait.hpp"><tt>tag_and_trait.hpp</tt></a></p> - - <h2><a name="link1" id="link1">Base Classes</a></h2> - - <table class="c1" width="100%" border="1" summary="Bases"> - <tr> - <td width="80%" align="left"><b>Class</b></td> - - <td width="20%" align="left"><b>Derivation Type</b></td> - </tr> - - <tr> - <td> - <pre> -<a href="basic_tree_tag.html"><span class= -"c2"><tt>basic_tree_tag</tt></span></a> -</pre> - </td> - - <td> - <p>public</p> - </td> - </tr> - </table> - </div> -</body> -</html> diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/tree_text_find_find_timing_test.html b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/tree_text_find_find_timing_test.html deleted file mode 100644 index fbfdfeffa..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/tree_text_find_find_timing_test.html +++ /dev/null @@ -1,162 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" - "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> -<head> -<meta name="generator" content="HTML Tidy for Linux/x86 (vers 12 April 2005), see www.w3.org" /> -<title>Tree Text Find Timing Test</title> -<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" /> -</head> -<body> -<div id="page"> -<h1>Tree-Based and Trie-Based Text <tt>find</tt> Find Timing - Test</h1> -<h2><a name="description" id="description">Description</a></h2> -<p>This test inserts a number of values with keys from an - arbitrary text ([<a href="references.html#wickland96thirty">wickland96thirty</a>]) into - a container, then performs a series of finds using - <tt>find</tt>. It measures the average time for <tt>find</tt> - as a function of the number of values inserted.</p> -<p>(The test was executed with <a href="http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/testsuite/performance/ext/pb_ds/text_find_timing.cc"><tt>text_find_timing_test</tt></a> - thirty_years_among_the_dead_preproc.txt 200 200 2100)</p> -<h2><a name="purpose" id="purpose">Purpose</a></h2> -<p>The test checks the effect of different underlying - data structures.</p> -<h2><a name="results" id="results">Results</a></h2> -<p>Figures <a href="#NTTG">NTTG</a>, <a href="#NTTM">NTTM</a>, - and <a href="#NTTG">NTTL</a> show the results for the native, - tree-based, and trie-based types in <a href="assoc_performance_tests.html#gcc"><u>g++</u></a>, <a href="assoc_performance_tests.html#local"><u>local</u></a>, and - <a href="assoc_performance_tests.html#local"><u>local</u></a>, - respectively.</p> -<div id="NTTG_res_div"> -<div id="NTTG_gcc"> -<div id="NTTG_text_find_timing_test_tree_like"> -<div id="NTTG_assoc"> -<div id="NTTG_Native_456_tree-based_456_and_trie-based_456_text_find_timing_test_using__tt_find_455tt_"><div style="border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NTTG" id="NTTG"><img src="text_find_timing_test_tree_like_gcc.png" alt="no image" /></a></h6>NTTG: Native, tree-based, and trie-based, text find timing test using <tt>find</tt> - <a href="assoc_performance_tests.html#gcc">g++</a><p>In the above figure, the names in the legends have the following meaning:</p> -<ol> -<li> -splay_tree_map- -<a href="tree.html"><tt>tree</tt></a> - with <tt>Tag</tt> = <a href="splay_tree_tag.html"><tt>splay_tree_tag</tt></a> -, and <tt>Node_Update</tt> = <a href="null_tree_node_update.html"><tt>null_tree_node_update</tt></a> -</li> -<li> -ov_tree_map- -<a href="tree.html"><tt>tree</tt></a> - with <tt>Tag</tt> = <a href="ov_tree_tag.html"><tt>ov_tree_tag</tt></a> -, and <tt>Node_Update</tt> = <a href="null_tree_node_update.html"><tt>null_tree_node_update</tt></a> -</li> -<li> -rb_tree_map- -<a href="tree.html"><tt>tree</tt></a> - with <tt>Tag</tt> = <a href="rb_tree_tag.html"><tt>rb_tree_tag</tt></a> -, and <tt>Node_Update</tt> = <a href="null_tree_node_update.html"><tt>null_tree_node_update</tt></a> -</li> -<li> -n_map- -<tt>std::map</tt></li> -<li> -pat_trie_map- -<a href="trie.html"><tt>trie</tt></a> - with <tt>Tag</tt> = <a href="pat_trie_tag.html"><tt>pat_trie_tag</tt></a> -, and <tt>Node_Update</tt> = <a href="null_trie_node_update.html"><tt>null_trie_node_update</tt></a> -</li> -</ol> -</div><div style="width: 100%; height: 20px"></div></div> -</div> -</div> -</div> -</div> -<div id="NTTM_res_div"> -<div id="NTTM_msvc"> -<div id="NTTM_text_find_timing_test_tree_like"> -<div id="NTTM_assoc"> -<div id="NTTM_Native_456_tree-based_456_and_trie-based_456_text_find_timing_test_using__tt_find_455tt_"><div style="border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NTTM" id="NTTM"><img src="text_find_timing_test_tree_like_msvc.png" alt="no image" /></a></h6>NTTM: Native, tree-based, and trie-based, text find timing test using <tt>find</tt> - <a href="assoc_performance_tests.html#msvc">msvc++</a><p>In the above figure, the names in the legends have the following meaning:</p> -<ol> -<li> -splay_tree_map- -<a href="tree.html"><tt>tree</tt></a> - with <tt>Tag</tt> = <a href="splay_tree_tag.html"><tt>splay_tree_tag</tt></a> -, and <tt>Node_Update</tt> = <a href="null_tree_node_update.html"><tt>null_tree_node_update</tt></a> -</li> -<li> -ov_tree_map- -<a href="tree.html"><tt>tree</tt></a> - with <tt>Tag</tt> = <a href="ov_tree_tag.html"><tt>ov_tree_tag</tt></a> -, and <tt>Node_Update</tt> = <a href="null_tree_node_update.html"><tt>null_tree_node_update</tt></a> -</li> -<li> -rb_tree_map- -<a href="tree.html"><tt>tree</tt></a> - with <tt>Tag</tt> = <a href="rb_tree_tag.html"><tt>rb_tree_tag</tt></a> -, and <tt>Node_Update</tt> = <a href="null_tree_node_update.html"><tt>null_tree_node_update</tt></a> -</li> -<li> -n_map- -<tt>std::map</tt></li> -<li> -pat_trie_map- -<a href="trie.html"><tt>trie</tt></a> - with <tt>Tag</tt> = <a href="pat_trie_tag.html"><tt>pat_trie_tag</tt></a> -, and <tt>Node_Update</tt> = <a href="null_trie_node_update.html"><tt>null_trie_node_update</tt></a> -</li> -</ol> -</div><div style="width: 100%; height: 20px"></div></div> -</div> -</div> -</div> -</div> -<div id="NTTL_res_div"> -<div id="NTTL_local"> -<div id="NTTL_text_find_timing_test_tree_like"> -<div id="NTTL_assoc"> -<div id="NTTL_Native_456_tree-based_456_and_trie-based_456_text_find_timing_test_using__tt_find_455tt_"><div style = "border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NTTL" id= "NTTL"><img src="text_find_timing_test_tree_like_local.png" alt="no image" /></a></h6>NTTL: Native, tree-based, and trie-based, text find timing test using <tt>find</tt> - <a href = "assoc_performance_tests.html#local">local</a></div><div style = "width: 100%; height: 20px"></div></div> -</div> -</div> -</div> -</div> -<h2><a name="observations" id="observations">Observations</a></h2> -<p>For this setting, a splay tree (<a href="tree.html"><tt>tree</tt></a> - with <tt>Tag =</tt> <a href="splay_tree_tag.html"><tt>splay_tree_tag</tt></a>) does - not do well. This is possibly due to two reasons:</p> -<ol> -<li>A splay tree is not guaranteed to be balanced [<a href="references.html#motwani95random">motwani95random</a>]. If a - splay tree contains <i>n</i> nodes, its average root-leaf - path can be <i>m >> log(n)</i>.</li> -<li>Assume a specific root-leaf search path has length - <i>m</i>, and the search-target node has distance <i>m'</i> - from the root. A red-black tree will require <i>m + 1</i> - comparisons to find the required node; a splay tree will - require <i>2 m'</i> comparisons. A splay tree, consequently, - can perform many more comparisons than a red-black tree.</li> -</ol> -<p>An ordered-vector tree (<a href="tree.html"><tt>tree</tt></a> - with <tt>Tag =</tt> <a href="ov_tree_tag.html"><tt>ov_tree_tag</tt></a>), a red-black - tree (<a href="tree.html"><tt>tree</tt></a> - with <tt>Tag =</tt> <a href="splay_tree_tag.html"><tt>rb_tree_tag</tt></a>), and the - native red-black tree all share approximately the same - performance.</p> -<p>An ordered-vector tree is slightly slower than red-black - trees, since it requires, in order to find a key, more math - operations than they do. Conversely, an ordered-vector tree - requires far lower space than the others. ([<a href="references.html#austern00noset">austern00noset</a>], however, - seems to have an implementation that is also faster than a - red-black tree).</p> -<p>A PATRICIA trie (<a href="trie.html"><tt>trie</tt></a> - with <tt>Tag =</tt> <a href="pat_trie_tag.html"><tt>pat_trie_tag</tt></a>) has good - look-up performance, due to its large fan-out in this case. In - this setting, a PATRICIA trie has look-up performance comparable - to a hash table (see <a href="hash_text_find_find_timing_test.html">Hash-Based Text - <tt>find</tt> Find Timing Test</a>), but it is order - preserving. This is not that surprising, since a large-fan-out - PATRICIA trie works like a hash table with collisions resolved - by a sub-trie. A large-fan-out PATRICIA trie does not do well on - modifications (see <a href="tree_text_insert_timing_test.html">Tree-Based and Trie-Based - Text Insert Timing Test</a>). It is possibly beneficial to - semi-static settings, therefore.</p> -<p><a href="assoc_performance_tests.html#tree_like_based_types">Observations::Tree-Like-Based - Container Types</a> summarizes some observations on tree-based - and trie-based containers.</p> -</div> -</body> -</html> diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/tree_text_insert_timing_test.html b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/tree_text_insert_timing_test.html deleted file mode 100644 index a5815fb2e..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/tree_text_insert_timing_test.html +++ /dev/null @@ -1,226 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" - "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> -<head> -<meta name="generator" content="HTML Tidy for Linux/x86 (vers 12 April 2005), see www.w3.org" /> -<title>Tree Text Insert Timing Test</title> -<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" /> -</head> -<body> -<div id="page"> -<h1>Tree-Based and Trie-Based Text Insert Timing Test</h1> -<h2><a name="description" id="description">Description</a></h2> -<p>This test inserts a number of values with keys from an - arbitrary text ([ <a href="references.html#wickland96thirty">wickland96thirty</a> ]) into - a container using <tt>insert</tt> . It measures the average - time for <tt>insert</tt> as a function of the number of values - inserted.</p> -<p>(The test was executed with <a href="http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/testsuite/performance/ext/pb_ds/tree_text_insert_timing.cc"><tt>tree_text_insert_timing_test</tt></a> - thirty_years_among_the_dead_preproc.txt 200 200 2100)</p> -<h2><a name="purpose" id="purpose">Purpose</a></h2> -<p>The test checks the effect of different underlying - data structures.</p> -<h2><a name="results" id="results">Results</a></h2> -<p>Figures <a href="#NNTG">NNTG</a>, <a href="#NVTG">NVTG</a>, - and <a href="#NPTG">NPTG</a> show the results for the native - tree and <tt>pb_ds</tt>'s node-based trees, the native tree and - <tt>pb_ds</tt>'s vector-based trees, and the native tree - and<tt>pb_ds</tt>'s PATRICIA-trie, respectively, in <a href="assoc_performance_tests.html#gcc"><u>g++</u></a>; Figures - <a href="#NNTM">NNTM</a>, <a href="#NVTM">NVTM</a>, and - <a href="#NPTM">NPTM</a> show the same in <a href="assoc_performance_tests.html#msvc"><u>msvc++</u></a>; Figures - <a href="#NNTL">NNTL</a>, <a href="#NVTL">NVTL</a>, and - <a href="#NPTL">NPTL</a> show the same in <a href="assoc_performance_tests.html#local"><u>local</u></a>.</p> -<div id="NNTG_res_div"> -<div id="NNTG_gcc"> -<div id="NNTG_tree_text_insert_timing_test_node_tree"> -<div id="NNTG_assoc"> -<div id="NNTG_Native_tree_and_node-based_trees_text_insert_timing_test_using__tt_insert_455tt_"><div style="border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NNTG" id="NNTG"><img src="tree_text_insert_timing_test_node_tree_gcc.png" alt="no image" /></a></h6>NNTG: Native tree and node-based trees text insert timing test using <tt>insert</tt> - <a href="assoc_performance_tests.html#gcc">g++</a><p>In the above figure, the names in the legends have the following meaning:</p> -<ol> -<li> -splay_tree_map- -<a href="tree.html"><tt>tree</tt></a> - with <tt>Tag</tt> = <a href="splay_tree_tag.html"><tt>splay_tree_tag</tt></a> -, and <tt>Node_Update</tt> = <a href="null_tree_node_update.html"><tt>null_tree_node_update</tt></a> -</li> -<li> -n_map- -<tt>std::map</tt></li> -<li> -rb_tree_map- -<a href="tree.html"><tt>tree</tt></a> - with <tt>Tag</tt> = <a href="rb_tree_tag.html"><tt>rb_tree_tag</tt></a> -, and <tt>Node_Update</tt> = <a href="null_tree_node_update.html"><tt>null_tree_node_update</tt></a> -</li> -</ol> -</div><div style="width: 100%; height: 20px"></div></div> -</div> -</div> -</div> -</div> -<div id="NVTG_res_div"> -<div id="NVTG_gcc"> -<div id="NVTG_tree_text_insert_timing_test_vector_tree"> -<div id="NVTG_assoc"> -<div id="NVTG_Native_tree_and_vector-based_tree_text_insert_timing_test_using__tt_insert_455tt_"><div style="border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NVTG" id="NVTG"><img src="tree_text_insert_timing_test_vector_tree_gcc.png" alt="no image" /></a></h6>NVTG: Native tree and vector-based tree text insert timing test using <tt>insert</tt> - <a href="assoc_performance_tests.html#gcc">g++</a><p>In the above figure, the names in the legends have the following meaning:</p> -<ol> -<li> -ov_tree_map- -<a href="tree.html"><tt>tree</tt></a> - with <tt>Tag</tt> = <a href="ov_tree_tag.html"><tt>ov_tree_tag</tt></a> -, and <tt>Node_Update</tt> = <a href="null_tree_node_update.html"><tt>null_tree_node_update</tt></a> -</li> -<li> -n_map- -<tt>std::map</tt></li> -</ol> -</div><div style="width: 100%; height: 20px"></div></div> -</div> -</div> -</div> -</div> -<div id="NPTG_res_div"> -<div id="NPTG_gcc"> -<div id="NPTG_tree_text_insert_timing_test_pat_trie"> -<div id="NPTG_assoc"> -<div id="NPTG_Native_tree_and_PATRICIA_trie_text_insert_timing_test_using__tt_insert_455tt_"><div style="border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NPTG" id="NPTG"><img src="tree_text_insert_timing_test_pat_trie_gcc.png" alt="no image" /></a></h6>NPTG: Native tree and PATRICIA trie text insert timing test using <tt>insert</tt> - <a href="assoc_performance_tests.html#gcc">g++</a><p>In the above figure, the names in the legends have the following meaning:</p> -<ol> -<li> -n_map- -<tt>std::map</tt></li> -<li> -pat_trie_map- -<a href="trie.html"><tt>trie</tt></a> - with <tt>Tag</tt> = <a href="pat_trie_tag.html"><tt>pat_trie_tag</tt></a> -, and <tt>Node_Update</tt> = <a href="null_trie_node_update.html"><tt>null_trie_node_update</tt></a> -</li> -</ol> -</div><div style="width: 100%; height: 20px"></div></div> -</div> -</div> -</div> -</div> -<div id="NNTM_res_div"> -<div id="NNTM_msvc"> -<div id="NNTM_tree_text_insert_timing_test_node_tree"> -<div id="NNTM_assoc"> -<div id="NNTM_Native_tree_and_node-based_trees_text_insert_timing_test_using__tt_insert_455tt_"><div style="border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NNTM" id="NNTM"><img src="tree_text_insert_timing_test_node_tree_msvc.png" alt="no image" /></a></h6>NNTM: Native tree and node-based trees text insert timing test using <tt>insert</tt> - <a href="assoc_performance_tests.html#msvc">msvc++</a><p>In the above figure, the names in the legends have the following meaning:</p> -<ol> -<li> -splay_tree_map- -<a href="tree.html"><tt>tree</tt></a> - with <tt>Tag</tt> = <a href="splay_tree_tag.html"><tt>splay_tree_tag</tt></a> -, and <tt>Node_Update</tt> = <a href="null_tree_node_update.html"><tt>null_tree_node_update</tt></a> -</li> -<li> -n_map- -<tt>std::map</tt></li> -<li> -rb_tree_map- -<a href="tree.html"><tt>tree</tt></a> - with <tt>Tag</tt> = <a href="rb_tree_tag.html"><tt>rb_tree_tag</tt></a> -, and <tt>Node_Update</tt> = <a href="null_tree_node_update.html"><tt>null_tree_node_update</tt></a> -</li> -</ol> -</div><div style="width: 100%; height: 20px"></div></div> -</div> -</div> -</div> -</div> -<div id="NVTM_res_div"> -<div id="NVTM_msvc"> -<div id="NVTM_tree_text_insert_timing_test_vector_tree"> -<div id="NVTM_assoc"> -<div id="NVTM_Native_tree_and_vector-based_tree_text_insert_timing_test_using__tt_insert_455tt_"><div style="border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NVTM" id="NVTM"><img src="tree_text_insert_timing_test_vector_tree_msvc.png" alt="no image" /></a></h6>NVTM: Native tree and vector-based tree text insert timing test using <tt>insert</tt> - <a href="assoc_performance_tests.html#msvc">msvc++</a><p>In the above figure, the names in the legends have the following meaning:</p> -<ol> -<li> -ov_tree_map- -<a href="tree.html"><tt>tree</tt></a> - with <tt>Tag</tt> = <a href="ov_tree_tag.html"><tt>ov_tree_tag</tt></a> -, and <tt>Node_Update</tt> = <a href="null_tree_node_update.html"><tt>null_tree_node_update</tt></a> -</li> -<li> -n_map- -<tt>std::map</tt></li> -</ol> -</div><div style="width: 100%; height: 20px"></div></div> -</div> -</div> -</div> -</div> -<div id="NPTM_res_div"> -<div id="NPTM_msvc"> -<div id="NPTM_tree_text_insert_timing_test_pat_trie"> -<div id="NPTM_assoc"> -<div id="NPTM_Native_tree_and_PATRICIA_trie_text_insert_timing_test_using__tt_insert_455tt_"><div style="border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NPTM" id="NPTM"><img src="tree_text_insert_timing_test_pat_trie_msvc.png" alt="no image" /></a></h6>NPTM: Native tree and PATRICIA trie text insert timing test using <tt>insert</tt> - <a href="assoc_performance_tests.html#msvc">msvc++</a><p>In the above figure, the names in the legends have the following meaning:</p> -<ol> -<li> -pat_trie_map- -<a href="trie.html"><tt>trie</tt></a> - with <tt>Tag</tt> = <a href="pat_trie_tag.html"><tt>pat_trie_tag</tt></a> -, and <tt>Node_Update</tt> = <a href="null_trie_node_update.html"><tt>null_trie_node_update</tt></a> -</li> -<li> -n_map- -<tt>std::map</tt></li> -</ol> -</div><div style="width: 100%; height: 20px"></div></div> -</div> -</div> -</div> -</div> -<div id="NNTL_res_div"> -<div id="NNTL_local"> -<div id="NNTL_tree_text_insert_timing_test_node_tree"> -<div id="NNTL_assoc"> -<div id="NNTL_Native_tree_and_node-based_trees_text_insert_timing_test_using__tt_insert_455tt_"><div style = "border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NNTL" id= "NNTL"><img src="tree_text_insert_timing_test_node_tree_local.png" alt="no image" /></a></h6>NNTL: Native tree and node-based trees text insert timing test using <tt>insert</tt> - <a href = "assoc_performance_tests.html#local">local</a></div><div style = "width: 100%; height: 20px"></div></div> -</div> -</div> -</div> -</div> -<div id="NVTL_res_div"> -<div id="NVTL_local"> -<div id="NVTL_tree_text_insert_timing_test_vector_tree"> -<div id="NVTL_assoc"> -<div id="NVTL_Native_tree_and_vector-based_tree_text_insert_timing_test_using__tt_insert_455tt_"><div style = "border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NVTL" id= "NVTL"><img src="tree_text_insert_timing_test_vector_tree_local.png" alt="no image" /></a></h6>NVTL: Native tree and vector-based tree text insert timing test using <tt>insert</tt> - <a href = "assoc_performance_tests.html#local">local</a></div><div style = "width: 100%; height: 20px"></div></div> -</div> -</div> -</div> -</div> -<div id="NPTL_res_div"> -<div id="NPTL_local"> -<div id="NPTL_tree_text_insert_timing_test_pat_trie"> -<div id="NPTL_assoc"> -<div id="NPTL_Native_tree_and_PATRICIA_trie_text_insert_timing_test_using__tt_insert_455tt_"><div style = "border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NPTL" id= "NPTL"><img src="tree_text_insert_timing_test_pat_trie_local.png" alt="no image" /></a></h6>NPTL: Native tree and PATRICIA trie text insert timing test using <tt>insert</tt> - <a href = "assoc_performance_tests.html#local">local</a></div><div style = "width: 100%; height: 20px"></div></div> -</div> -</div> -</div> -</div> -<h2><a name="observations" id="observations">Observations</a></h2> -<p>Observing Figure <a href="#NNTG">NNTG</a> , for this - setting, a splay tree, ( <a href="tree.html"><tt>tree</tt></a> - with <tt>Tag =</tt> <a href="splay_tree_tag.html"><tt>splay_tree_tag</tt></a> ) does - not do well. This was covered in <a href="tree_text_find_find_timing_test.html">Tree-Based and - Trie-Based Text <tt>find</tt> Find Timing Test</a> . The two - red-black trees perform better.</p> -<p>Observing Figure <a href="#NVTG">NVTG</a>, an ordered-vector - tree ( <a href="tree.html"><tt>tree</tt></a> - with <tt>Tag =</tt> <a href="ov_tree_tag.html"><tt>ov_tree_tag</tt></a>) performs - abysmally. Inserting into this type of tree has linear - complexity [ <a href="references.html#austern00noset">austern00noset</a>].</p> -<p>Observing Figure <a href="#NPTG">NPTG</a> , A PATRICIA trie - ( <a href="trie.html"><tt>trie</tt></a> - with <tt>Tag =</tt> <a href="pat_trie_tag.html"><tt>pat_trie_tag</tt></a> ) has - abysmal performance, as well. This is not that surprising, - since a large-fan-out PATRICIA trie works like a hash table with - collisions resolved by a sub-trie. Each time a collision is - encountered, a new "hash-table" is built A large fan-out - PATRICIA trie, however, doe does well in look-ups (see <a href="tree_text_find_find_timing_test.html">Tree-Based and - Trie-Based Text <tt>find</tt> Find Timing Test</a> ). It is - possibly beneficial to semi-static settings, therefore.</p> -<p><a href="assoc_performance_tests.html#tree_like_based_types">Observations::Tree-Like-Based - Container Types</a> summarizes some observations on tree-based - and trie-based containers.</p> -</div> -</body> -</html> diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/tree_text_insert_timing_test_node_tree_gcc.png b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/tree_text_insert_timing_test_node_tree_gcc.png Binary files differdeleted file mode 100644 index 22d8f6fc2..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/tree_text_insert_timing_test_node_tree_gcc.png +++ /dev/null diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/tree_text_insert_timing_test_node_tree_local.png b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/tree_text_insert_timing_test_node_tree_local.png Binary files differdeleted file mode 100644 index bb100084b..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/tree_text_insert_timing_test_node_tree_local.png +++ /dev/null diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/tree_text_insert_timing_test_node_tree_msvc.png b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/tree_text_insert_timing_test_node_tree_msvc.png Binary files differdeleted file mode 100644 index 18b219851..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/tree_text_insert_timing_test_node_tree_msvc.png +++ /dev/null diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/tree_text_insert_timing_test_pat_trie_gcc.png b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/tree_text_insert_timing_test_pat_trie_gcc.png Binary files differdeleted file mode 100644 index 5fe063e63..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/tree_text_insert_timing_test_pat_trie_gcc.png +++ /dev/null diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/tree_text_insert_timing_test_pat_trie_local.png b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/tree_text_insert_timing_test_pat_trie_local.png Binary files differdeleted file mode 100644 index 228de1442..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/tree_text_insert_timing_test_pat_trie_local.png +++ /dev/null diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/tree_text_insert_timing_test_pat_trie_msvc.png b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/tree_text_insert_timing_test_pat_trie_msvc.png Binary files differdeleted file mode 100644 index 9f13db0c0..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/tree_text_insert_timing_test_pat_trie_msvc.png +++ /dev/null diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/tree_text_insert_timing_test_vector_tree_gcc.png b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/tree_text_insert_timing_test_vector_tree_gcc.png Binary files differdeleted file mode 100644 index dd85dcd7c..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/tree_text_insert_timing_test_vector_tree_gcc.png +++ /dev/null diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/tree_text_insert_timing_test_vector_tree_local.png b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/tree_text_insert_timing_test_vector_tree_local.png Binary files differdeleted file mode 100644 index cecb8a107..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/tree_text_insert_timing_test_vector_tree_local.png +++ /dev/null diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/tree_text_insert_timing_test_vector_tree_msvc.png b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/tree_text_insert_timing_test_vector_tree_msvc.png Binary files differdeleted file mode 100644 index 8c0731391..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/tree_text_insert_timing_test_vector_tree_msvc.png +++ /dev/null diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/tree_text_lor_find_find_timing_test.html b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/tree_text_lor_find_find_timing_test.html deleted file mode 100644 index c577a56db..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/tree_text_lor_find_find_timing_test.html +++ /dev/null @@ -1,126 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" - "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> -<head> -<meta name="generator" content="HTML Tidy for Linux/x86 (vers 12 April 2005), see www.w3.org" /> -<title>Tree Text Locality of Reference Find Timing Test</title> -<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" /> -</head> -<body> -<div id="page"> -<h1>Tree-Based Locality-of-Reference Text <tt>find</tt> Find - Timing Test</h1> -<h2><a name="description" id="description">Description</a></h2> -<p>This test inserts a number of values with keys from an - arbitrary text ([ <a href="references.html#wickland96thirty">wickland96thirty</a> ]) into - a container, then performs a series of finds using - <tt>find</tt> . It is different than <a href="tree_text_find_find_timing_test.html">Tree-Based and - Trie-Based Text <tt>find</tt> Find Timing Test</a> in the - sequence of finds it performs: this test performs multiple - <tt>find</tt> s on the same key before moving on to the next - key. It measures the average time for <tt>find</tt> as a - function of the number of values inserted.</p> -<p>(The test was executed with <a href="http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/testsuite/performance/ext/pb_ds/tree_text_lor_find_timing.cc"><tt>tree_text_lor_find_timing_test</tt></a> - thirty_years_among_the_dead_preproc.txt 200 200 2100)</p> -<h2><a name="purpose" id="purpose">Purpose</a></h2> -<p>The test checks the effect of different underlying - data structures in a locality-of-reference setting.</p> -<h2><a name="results" id="results">Results</a></h2> -<p>Figures <a href="#NTG">NTG</a>, <a href="#NTM">NTM</a>, and - <a href="#NTL">NTL</a> show the results for the native and - <tt>pb_ds</tt> tree-based types in <a href="assoc_performance_tests.html#gcc"><u>g++</u></a>, <a href="assoc_performance_tests.html#msvc"><u>msvc++</u></a> and - <a href="assoc_performance_tests.html#local"><u>local</u></a>, - respectively.</p> -<div id="NTG_res_div"> -<div id="NTG_gcc"> -<div id="NTG_tree_text_lor_find_timing_test"> -<div id="NTG_assoc"> -<div id="NTG_Native_and_tree-based_locality-of-reference_text_find_timing_test_using__tt_find_455tt_"><div style="border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NTG" id="NTG"><img src="tree_text_lor_find_timing_test_gcc.png" alt="no image" /></a></h6>NTG: Native and tree-based locality-of-reference text find timing test using <tt>find</tt> - <a href="assoc_performance_tests.html#gcc">g++</a><p>In the above figure, the names in the legends have the following meaning:</p> -<ol> -<li> -ov_tree_map- -<a href="tree.html"><tt>tree</tt></a> - with <tt>Tag</tt> = <a href="ov_tree_tag.html"><tt>ov_tree_tag</tt></a> -, and <tt>Node_Update</tt> = <a href="null_tree_node_update.html"><tt>null_tree_node_update</tt></a> -</li> -<li> -rb_tree_map- -<a href="tree.html"><tt>tree</tt></a> - with <tt>Tag</tt> = <a href="rb_tree_tag.html"><tt>rb_tree_tag</tt></a> -, and <tt>Node_Update</tt> = <a href="null_tree_node_update.html"><tt>null_tree_node_update</tt></a> -</li> -<li> -n_map- -<tt>std::map</tt></li> -<li> -splay_tree_map- -<a href="tree.html"><tt>tree</tt></a> - with <tt>Tag</tt> = <a href="splay_tree_tag.html"><tt>splay_tree_tag</tt></a> -, and <tt>Node_Update</tt> = <a href="null_tree_node_update.html"><tt>null_tree_node_update</tt></a> -</li> -</ol> -</div><div style="width: 100%; height: 20px"></div></div> -</div> -</div> -</div> -</div> -<div id="NTM_res_div"> -<div id="NTM_msvc"> -<div id="NTM_tree_text_lor_find_timing_test"> -<div id="NTM_assoc"> -<div id="NTM_Native_and_tree-based_locality-of-reference_text_find_timing_test_using__tt_find_455tt_"><div style="border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NTM" id="NTM"><img src="tree_text_lor_find_timing_test_msvc.png" alt="no image" /></a></h6>NTM: Native and tree-based locality-of-reference text find timing test using <tt>find</tt> - <a href="assoc_performance_tests.html#msvc">msvc++</a><p>In the above figure, the names in the legends have the following meaning:</p> -<ol> -<li> -ov_tree_map- -<a href="tree.html"><tt>tree</tt></a> - with <tt>Tag</tt> = <a href="ov_tree_tag.html"><tt>ov_tree_tag</tt></a> -, and <tt>Node_Update</tt> = <a href="null_tree_node_update.html"><tt>null_tree_node_update</tt></a> -</li> -<li> -rb_tree_map- -<a href="tree.html"><tt>tree</tt></a> - with <tt>Tag</tt> = <a href="rb_tree_tag.html"><tt>rb_tree_tag</tt></a> -, and <tt>Node_Update</tt> = <a href="null_tree_node_update.html"><tt>null_tree_node_update</tt></a> -</li> -<li> -n_map- -<tt>std::map</tt></li> -<li> -splay_tree_map- -<a href="tree.html"><tt>tree</tt></a> - with <tt>Tag</tt> = <a href="splay_tree_tag.html"><tt>splay_tree_tag</tt></a> -, and <tt>Node_Update</tt> = <a href="null_tree_node_update.html"><tt>null_tree_node_update</tt></a> -</li> -</ol> -</div><div style="width: 100%; height: 20px"></div></div> -</div> -</div> -</div> -</div> -<div id="NTL_res_div"> -<div id="NTL_local"> -<div id="NTL_tree_text_lor_find_timing_test"> -<div id="NTL_assoc"> -<div id="NTL_Native_and_tree-based_locality-of-reference_text_find_timing_test_using__tt_find_455tt_"><div style = "border-style: dotted; border-width: 1px; border-color: lightgray"><h6 class="c1"><a name="NTL" id= "NTL"><img src="tree_text_lor_find_timing_test_local.png" alt="no image" /></a></h6>NTL: Native and tree-based locality-of-reference text find timing test using <tt>find</tt> - <a href = "assoc_performance_tests.html#local">local</a></div><div style = "width: 100%; height: 20px"></div></div> -</div> -</div> -</div> -</div> -<h2><a name="observations" id="observations">Observations</a></h2> -<p>For this setting, an ordered-vector tree ( <a href="tree.html"><tt>tree</tt></a> - with <tt>Tag =</tt> <a href="ov_tree_tag.html"><tt>ov_tree_tag</tt></a> ), a - red-black tree ( <a href="tree.html"><tt>tree</tt></a> - with <tt>Tag =</tt> <a href="splay_tree_tag.html"><tt>rb_tree_tag</tt></a> ), and the - native red-black tree all share approximately the same - performance.</p> -<p>A splay tree ( <a href="tree.html"><tt>tree</tt></a> - with <tt>Tag =</tt> <a href="splay_tree_tag.html"><tt>splay_tree_tag</tt></a> ) does - much better, since each (successful) find "bubbles" the - corresponding node to the root of the tree.</p> -<p><a href="assoc_performance_tests.html#tree_like_based_types">Observations::Tree-Like-Based - Container Types</a> summarizes some observations on tree-based - and trie-based containers.</p> -</div> -</body> -</html> diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/tree_text_lor_find_timing_test_gcc.png b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/tree_text_lor_find_timing_test_gcc.png Binary files differdeleted file mode 100644 index cf5174d99..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/tree_text_lor_find_timing_test_gcc.png +++ /dev/null diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/tree_text_lor_find_timing_test_local.png b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/tree_text_lor_find_timing_test_local.png Binary files differdeleted file mode 100644 index 26f71510f..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/tree_text_lor_find_timing_test_local.png +++ /dev/null diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/tree_text_lor_find_timing_test_msvc.png b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/tree_text_lor_find_timing_test_msvc.png Binary files differdeleted file mode 100644 index 583a027f3..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/tree_text_lor_find_timing_test_msvc.png +++ /dev/null diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/trie.html b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/trie.html deleted file mode 100644 index 32a2ab1b5..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/trie.html +++ /dev/null @@ -1,489 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" - "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> -<head> - <meta name="generator" content= - "HTML Tidy for Linux/x86 (vers 12 April 2005), see www.w3.org" /> - - <title>trie Interface</title> - <meta http-equiv="Content-Type" content= - "text/html; charset=us-ascii" /> - </head> - -<body> - <div id="page"> - <h1><tt>trie</tt> Interface</h1> - - <p>A concrete basic trie-based associative container.</p> - - <p>Defined in: <a href= - "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/include/ext/pb_ds/assoc_container.hpp"><tt>assoc_container.hpp</tt></a></p> - - <h2><a name="link1" id="link1">Template Parameters</a></h2> - - <table class="c1" width="100%" border="1" summary= - "Template Parameters"> - <tr> - <td width="20%" align="left"><b>Parameter</b></td> - - <td width="50%" align="left"><b>Description</b></td> - - <td width="30%" align="left"><b>Default Value</b></td> - </tr> - - <tr> - <td> - <pre> -<a name="Key2501" id="Key2501"><b>typename</b> Key</a> -</pre> - </td> - - <td> - <p>Key type.</p> - </td> - - <td>-</td> - </tr> - - <tr> - <td> - <pre> -<a name="Mapped318655" id="Mapped318655"><b>typename</b> Mapped</a> -</pre> - </td> - - <td> - <p>Mapped type.</p> - </td> - - <td>-</td> - </tr> - - <tr> - <td> - <pre> -<a name="E_Access_Traits686553840" id= -"E_Access_Traits686553840"><b>class</b> E_Access_Traits </a> -</pre> - </td> - - <td> - <p>Element-access traits.</p> - </td> - - <td>-</td> - </tr> - - <tr> - <td> - <pre> -<a name="Tag278938" id="Tag278938"><b>class</b> Tag </a> -</pre> - </td> - - <td> - <p>Data-structure tag.</p> - </td> - - <td><a href="pat_trie_tag.html"><span class= - "c2"><tt>pat_trie_tag</tt></span></a></td> - </tr> - - <tr> - <td> - <pre> -<a name="Node_Update841554648" id= -"Node_Update841554648"><b>template</b>< - <b>typename</b> Const_Node_Iterator, - <b>typename</b> Node_Iterator, - <b>class</b> E_Access_Traits_, - <b>typename</b> Allocator_> -<b>class</b> Node_Update </a> -</pre> - </td> - - <td> - <p>Node updater type.</p> - - <p><a href= - "tree_based_containers.html#invariants">Design::Tree-Based - Containers::Node Invariants</a> explains this - concept.</p> - </td> - - <td><a href="null_trie_node_update.html"><span class= - "c2"><tt>null_trie_node_update</tt></span></a></td> - </tr> - - <tr> - <td> - <pre> -<a name="Allocator35940069" id= -"Allocator35940069"><b>class</b> Allocator </a> -</pre> - </td> - - <td> - <p>Allocator type.</p> - </td> - - <td> - <pre> -std::allocator<<b>char</b>> -</pre> - </td> - </tr> - </table> - - <h2><a name="link2" id="link2">Public Types and - Constants</a></h2> - - <h3><a name="link3" id="link3">Policy Definitions</a></h3> - - <table class="c1" width="100%" border="1" summary="Types"> - <tr> - <td width="30%" align="left"><b>Type</b></td> - - <td width="55%" align="left"><b>Definition</b></td> - - <td width="15%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -<a name="e_access_traits1948190928" id= -"e_access_traits1948190928">e_access_traits</a> -</pre> - </td> - - <td> - <pre> -<a href="#E_Access_Traits686553840"><tt>E_Access_Traits</tt></a> -</pre> - </td> - - <td> - <p>Element access traits type.</p> - </td> - </tr> - </table> - - <h3><a name="link4" id="link4">Iterator Definitions</a></h3> - - <table class="c1" width="100%" border="1" summary="Types"> - <tr> - <td width="30%" align="left"><b>Type</b></td> - - <td width="55%" align="left"><b>Definition</b></td> - - <td width="15%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -<a name="const_node_iterator4205924553" id= -"const_node_iterator4205924553">const_node_iterator</a> -</pre> - </td> - - <td> - <pre> -<a href= -"trie_const_node_iterator.html"><span class= -"c2"><tt>const_node_iterator</tt></span></a> -</pre> - </td> - - <td> - <p>Const node iterator.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<a name="node_iterator3431975247" id= -"node_iterator3431975247">node_iterator</a> -</pre> - </td> - - <td> - <pre> -<a href="trie_node_iterator.html"><span class= -"c2"><tt>node_iterator</tt></span></a> -</pre> - </td> - - <td> - <p>Node iterator.</p> - </td> - </tr> - </table> - - <h2><a name="link5" id="link5">Public Methods</a></h2> - - <h3><a name="link6" id="link6">Constructors, Destructor, and - Related</a></h3> - - <table class="c1" width="100%" border="1" summary="Methods"> - <tr> - <td width="45%" align="left"><b>Method</b></td> - - <td width="55%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> - trie - () -</pre> - </td> - - <td> - <p>Default constructor.</p> - </td> - </tr> - - <tr> - <td> - <pre> - trie - (<b>const</b> <a href= -"#E_Access_Traits686553840"><tt>E_Access_Traits</tt></a> &r_e_access_traits) -</pre> - </td> - - <td> - <p>Constructor taking some policy objects. <span class= - "c1"><tt>r_e_access_traits</tt></span> will be copied by - the <a href= - "#E_Access_Traits686553840"><tt>E_Access_Traits</tt></a> - object of the container object.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<b>template</b>< - <b>class</b> It> - trie - (It first_it, - It last_it) -</pre> - </td> - - <td> - <p>Constructor taking iterators to a range of - value_types. The value_types between <span class= - "c1"><tt>first_it</tt></span> and <span class= - "c1"><tt>last_it</tt></span> will be inserted into the - container object.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<b>template</b>< - <b>class</b> It> - trie - (It first_it, - It last_it, - <b>const</b> <a href= -"#E_Access_Traits686553840"><tt>E_Access_Traits</tt></a> &r_e_access_traits) -</pre> - </td> - - <td> - <p>Constructor taking iterators to a range of value_types - and some policy objects. The value_types between - <span class="c1"><tt>first_it</tt></span> and - <span class="c1"><tt>last_it</tt></span> will be inserted - into the container object.</p> - </td> - </tr> - - <tr> - <td> - <pre> - trie - (<b>const</b> <span class= -"c2"><tt>trie</tt></span> &other) -</pre> - </td> - - <td> - <p>Copy constructor.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<b>virtual</b> - ~trie - () -</pre> - </td> - - <td> - <p>Destructor.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<span class="c2"><tt>trie</tt></span> & - <b>operator</b>= - (<b>const</b> <span class= -"c2"><tt>trie</tt></span> &other) -</pre> - </td> - - <td> - <p>Assignment operator.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<b>void</b> - swap - (<span class= -"c2"><tt>trie</tt></span> &other) -</pre> - </td> - - <td> - <p>Swaps content.</p> - </td> - </tr> - </table> - - <h3><a name="link7" id="link7">Policy Access Methods</a></h3> - - <table class="c1" width="100%" border="1" summary="Methods"> - <tr> - <td width="45%" align="left"><b>Method</b></td> - - <td width="55%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -<a href= -"#e_access_traits1948190928"><tt>e_access_traits</tt></a> & - get_e_access_traits - () -</pre> - </td> - - <td> - <p>Access to the comb_hash_fn object.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<a href= -"#e_access_traits1948190928"><tt>e_access_traits</tt></a> & - get_e_access_traits - () <b>const</b> -</pre> - </td> - - <td> - <p>Const access to the comb_hash_fn object.</p> - </td> - </tr> - </table> - - <h3><a name="link8" id="link8">Node-Iteration Methods</a></h3> - - <table class="c1" width="100%" border="1" summary="Methods"> - <tr> - <td width="45%" align="left"><b>Method</b></td> - - <td width="55%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -<a href="#node_iterator3431975247"><tt>node_iterator</tt></a> - node_begin - () -</pre> - </td> - - <td> - <p>Returns a <a href= - "#node_iterator3431975247"><tt>node_iterator</tt></a> - corresponding to the node at the root of the trie.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<a href= -"#const_node_iterator4205924553"><tt>const_node_iterator</tt></a> - node_begin - () <b>const</b> -</pre> - </td> - - <td> - <p>Returns a <a href= - "#const_node_iterator4205924553"><tt>const_node_iterator</tt></a> - corresponding to the node at the root of the trie.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<a href="#node_iterator3431975247"><tt>node_iterator</tt></a> - node_end - () -</pre> - </td> - - <td> - <p>Returns a <a href= - "#node_iterator3431975247"><tt>node_iterator</tt></a> - corresponding to a node just after a leaf of the - trie.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<a href= -"#const_node_iterator4205924553"><tt>const_node_iterator</tt></a> - node_end - () <b>const</b> -</pre> - </td> - - <td> - <p>Returns a <a href= - "#const_node_iterator4205924553"><tt>const_node_iterator</tt></a> - corresponding to a node just after a leaf of the - trie.</p> - </td> - </tr> - </table> - </div> -</body> -</html> diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/trie_based_containers.html b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/trie_based_containers.html deleted file mode 100644 index 72bdd0697..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/trie_based_containers.html +++ /dev/null @@ -1,241 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" - "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> -<head> - <meta name="generator" content= - "HTML Tidy for Linux/x86 (vers 12 April 2005), see www.w3.org" /> - - <title>Trie-Based Containers</title> - <meta http-equiv="Content-Type" content= - "text/html; charset=us-ascii" /> - </head> - -<body> - <div id="page"> - <h1>Trie Design</h1> - - <h2><a name="overview" id="overview">Overview</a></h2> - - <p>The trie-based container has the following declaration:</p> - <pre> -<b>template</b>< - <b>typename</b> Key, - <b>typename</b> Mapped, - <b>typename</b> Cmp_Fn = std::less<Key>, - <b>typename</b> Tag = <a href="pat_trie_tag.html">pat_trie_tag</a>, - <b>template</b>< - <b>typename</b> Const_Node_Iterator, - <b>typename</b> Node_Iterator, - <b>typename</b> E_Access_Traits_, - <b>typename</b> Allocator_> - <b>class</b> Node_Update = <a href= -"null_trie_node_update.html">null_trie_node_update</a>, - <b>typename</b> Allocator = std::allocator<<b>char</b>> > -<b>class</b> <a href= -"trie.html">trie</a>; -</pre> - - <p>The parameters have the following meaning:</p> - - <ol> - <li><tt>Key</tt> is the key type.</li> - - <li><tt>Mapped</tt> is the mapped-policy, and is explained in - <a href="tutorial.html#assoc_ms">Tutorial::Associative - Containers::Associative Containers Others than Maps</a>.</li> - - <li><tt>E_Access_Traits</tt> is described in <a href= - "#e_access_traits">Element-Access Traits</a>.</li> - - <li><tt>Tag</tt> specifies which underlying data structure - to use, and is described shortly.</li> - - <li><tt>Node_Update</tt> is a policy for updating node - invariants. This is described in <a href="#invariants">Node - Invariants</a>.</li> - - <li><tt>Allocator</tt> is an allocator - type.</li> - </ol> - - <p>The <tt>Tag</tt> parameter specifies which underlying - data structure to use. Instantiating it by <a href= - "pat_trie_tag.html">pat_trie_tag</a>, specifies an - underlying PATRICIA trie (explained shortly); any other tag is - currently illegal.</p> - <hr /> - - <p>Following is a description of a (PATRICIA) trie - (<tt>pb_ds</tt> follows specifically [<a href= - "references.html#okasaki98mereable">okasaki98mereable</a>] and - [<a href= - "references.html#filliatre2000ptset">filliatre2000ptset</a>]).</p> - - <p>A (PATRICIA) trie is similar to a tree, but with the - following differences:</p> - - <ol> - <li>It explicitly views keys as a sequence of elements. - <i>E.g.</i>, a trie can view a string as a sequence of - characters; a trie can view a number as a sequence of - bits.</li> - - <li>It is not (necessarily) binary. Each node has fan-out <i>n - + 1</i>, where <i>n</i> is the number of distinct - elements.</li> - - <li>It stores values only at leaf nodes.</li> - - <li>Internal nodes have the properties that A) each has at - least two children, and B) each shares the same prefix with - any of its descendant.</li> - </ol> - - <p><a href="#e_access_traits">Element-Access Traits</a> shows - an example of such a trie.</p> - - <p>A (PATRICIA) trie has some useful properties:</p> - - <ol> - <li>It can be configured to use large node fan-out, giving it - very efficient find performance (albeit at insertion - complexity and size).</li> - - <li>It works well for common-prefix keys.</li> - - <li>It can support efficiently queries such as which keys - match a certain prefix. This is sometimes useful in - file systems and routers.</li> - </ol> - - <p>(We would like to thank Matt Austern for the suggestion to - include tries.)</p> - - <h2><a name="e_access_traits" id= - "e_access_traits">Element-Access Traits</a></h2> - - <p>A trie inherently views its keys as sequences of elements. - For example, a trie can view a string as a sequence of - characters. A trie needs to map each of <i>n</i> elements to a - number in <i>{0, n - 1}</i>. For example, a trie can map a - character <tt>c</tt> to - <tt>static_cast<size_t>(c)</tt>.</p> - - <p>Seemingly, then, a trie can assume that its keys support - (const) iterators, and that the <tt>value_type</tt> of this - iterator can be cast to a <tt>size_t</tt>. There are several - reasons, though, to decouple the mechanism by which the trie - accesses its keys' elements from the trie:</p> - - <ol> - <li>In some cases, the numerical value of an element is - inappropriate. Consider a trie storing DNA strings. It is - logical to use a trie with a fan-out of <i>5 = 1 + |{'A', 'C', - 'G', 'T'}|</i>. This requires mapping 'T' to 3, though.</li> - - <li>In some cases the keys' iterators are different than what - is needed. For example, a trie can be used to search for - common <u>suffixes</u>, by using strings' - <tt>reverse_iterator</tt>. As another example, a trie mapping - UNICODE strings would have a huge fan-out if each node would - branch on a UNICODE character; instead, one can define an - iterator iterating over 8-bit (or less) groups.</li> - </ol> - - <p><a href= - "trie.html">trie</a> is, - consequently, parametrized by <tt>E_Access_Traits</tt> - - traits which instruct how to access sequences' elements. - <a href= - "string_trie_e_access_traits.html"><tt>string_trie_e_access_traits</tt></a> - is a traits class for strings. Each such traits define some - types, <i>e.g.</i>,</p> - <pre> -<b>typename</b> E_Access_Traits::const_iterator -</pre> - - <p>is a const iterator iterating over a key's elements. The - traits class must also define methods for obtaining an iterator - to the first and last element of a key.</p> - - <p>Figure <a href="#pat_trie">A PATRICIA trie</a> shows a - (PATRICIA) trie resulting from inserting the words: "I wish - that I could ever see a poem lovely as a trie" (which, - unfortunately, does not rhyme).</p> - - <p>The leaf nodes contain values; each internal node contains - two <tt><b>typename</b> E_Access_Traits::const_iterator</tt> - objects, indicating the maximal common prefix of all keys in - the sub-tree. For example, the shaded internal node roots a - sub-tree with leafs "a" and "as". The maximal common prefix is - "a". The internal node contains, consequently, to const - iterators, one pointing to <tt>'a'</tt>, and the other to - <tt>'s'</tt>.</p> - - <h6 class="c1"><a name="pat_trie" id="pat_trie"><img src= - "pat_trie.png" alt="no image" /></a></h6> - - <h6 class="c1">A PATRICIA trie.</h6> - - <h2><a name="invariants" id="invariants">Node - Invariants</a></h2> - - <p>Trie-based containers support node invariants, as do - tree-based containers (see <a href= - "tree_based_containers.html#invariants">Tree-Based - Containers::Node Invariants</a>). There are two minor - differences, though, which, unfortunately, thwart sharing them - sharing the same node-updating policies:</p> - - <ol> - <li>A trie's <tt>Node_Update</tt> template-template - parameter is parametrized by <tt>E_Access_Traits</tt>, while - a tree's <tt>Node_Update</tt> template-template parameter is - parametrized by <tt>Cmp_Fn</tt>.</li> - - <li>Tree-based containers store values in all nodes, while - trie-based containers (at least in this implementation) store - values in leafs.</li> - </ol> - - <p>Figure <a href="#trie_node_update_cd">A trie and its update - policy</a> shows the scheme, as well as some predefined - policies (which are explained below).</p> - - <h6 class="c1"><a name="trie_node_update_cd" id= - "trie_node_update_cd"><img src= - "trie_node_update_policy_cd.png" alt="no image" /></a></h6> - - <h6 class="c1">A trie and its update policy.</h6> - - <p><tt>pb_ds</tt> offers the following pre-defined trie node - updating policies:</p> - - <ol> - <li><a href= - "trie_order_statistics_node_update.html"><tt>trie_order_statistics_node_update</tt></a> - supports order statistics.</li> - - <li><a href= - "trie_prefix_search_node_update.html"><tt>trie_prefix_search_node_update</tt></a> - supports searching for ranges that match a given prefix. See - <a href= - "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/testsuite/ext/pb_ds/example/trie_prefix_search.cc"><tt>trie_prefix_search.cc</tt></a>.</li> - - <li><a href= - "null_trie_node_update.html"><tt>null_trie_node_update</tt></a> - is the null node updater.</li> - </ol> - - <h2><a name="add_methods" id="add_methods">Additional - Methods</a></h2> - - <p>Trie-based containers support split and join methods; the - rationale is equal to that of tree-based containers supporting - these methods (see <a href= - "tree_based_containers.html#add_methods">Tree-Based - Containers::Additional Methods</a>).</p> - </div> -</body> -</html> diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/trie_const_node_iterator.html b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/trie_const_node_iterator.html deleted file mode 100644 index 0869a7c2f..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/trie_const_node_iterator.html +++ /dev/null @@ -1,478 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" - "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> -<head> - <meta name="generator" content= - "HTML Tidy for Linux/x86 (vers 12 April 2005), see www.w3.org" /> - - <title>trie::const_node_iterator - Interface</title> - <meta http-equiv="Content-Type" content= - "text/html; charset=us-ascii" /> - </head> - -<body> - <div id="page"> - <h1><tt><span class= - "c2"><tt>trie</tt></span>::const_node_iterator</tt> - Interface</h1> - - <p>Const node iterator.</p> - - <p>This is an "iterator to an iterator" - it iterates over - nodes, and de-referencing it returns one of the tree's const - iterators</p> - - <h2><a name="link1" id="link1">Public Types and - Constants</a></h2> - - <h3><a name="link2" id="link2">General Container - Definitions</a></h3> - - <table class="c1" width="100%" border="1" summary="Types"> - <tr> - <td width="30%" align="left"><b>Type</b></td> - - <td width="55%" align="left"><b>Definition</b></td> - - <td width="15%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -<a name="size_type55424436" id="size_type55424436">size_type</a> -</pre> - </td> - - <td> - <pre> -<a href="container_base.html#size_type55424436"><span class= -"c2"><tt>container_base</tt></span>::size_type</a> -</pre> - </td> - - <td> - <p>Size type.</p> - </td> - </tr> - </table> - - <h3><a name="link3" id="link3">Iterator Definitions</a></h3> - - <table class="c1" width="100%" border="1" summary="Types"> - <tr> - <td width="30%" align="left"><b>Type</b></td> - - <td width="55%" align="left"><b>Definition</b></td> - - <td width="15%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -<a name="iterator_category2821876439" id= -"iterator_category2821876439">iterator_category</a> -</pre> - </td> - - <td> - <pre> -trivial_iterator_tag -</pre> - </td> - - <td> - <p>Category.</p> - - <p>This tag identifies that the iterator has none of the - STL's iterators' movement abilities.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<a name="difference_type868028452" id= -"difference_type868028452">difference_type</a> -</pre> - </td> - - <td> - <pre class="c2"> -void -</pre> - </td> - - <td> - <p>Difference type.</p> - </td> - </tr> - </table> - - <h3><a name="link4" id="link4">Value-Type Definitions</a></h3> - - <table class="c1" width="100%" border="1" summary="Types"> - <tr> - <td width="30%" align="left"><b>Type</b></td> - - <td width="55%" align="left"><b>Definition</b></td> - - <td width="15%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -<a name="value_type279018186" id= -"value_type279018186">value_type</a> -</pre> - </td> - - <td> - <pre> -<a href= -"container_base.html#const_iterator98626788"><span class="c2"><tt>container_base</tt></span>::const_iterator</a> -</pre> - </td> - - <td> - <p>Iterator's value type.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<a name="reference54418471" id="reference54418471">reference</a> -</pre> - </td> - - <td> - <pre> -<a href="#value_type279018186"><tt>value_type</tt></a> -</pre> - </td> - - <td> - <p>Iterator's reference type.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<a name="const_reference495461441" id= -"const_reference495461441">const_reference</a> -</pre> - </td> - - <td> - <pre> -<a href="#value_type279018186"><tt>value_type</tt></a> -</pre> - </td> - - <td> - <p>Iterator's const <a href= - "#reference54418471"><tt>reference</tt></a> type.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<a name="e_access_traits1948190928" id= -"e_access_traits1948190928">e_access_traits</a> -</pre> - </td> - - <td> - <pre> -<a href= -"trie.html#e_access_traits1948190928"><span class="c2"><tt>trie</tt></span>::e_access_traits</a> -</pre> - </td> - - <td> - <p>Element access traits.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<a name="const_e_iterator2450008044" id= -"const_e_iterator2450008044">const_e_iterator</a> -</pre> - </td> - - <td> - <pre> -<b>typename</b> <a href= -"#e_access_traits1948190928"><tt>e_access_traits</tt></a>::const_iterator -</pre> - </td> - - <td> - <p>A key's element const iterator.</p> - </td> - </tr> - </table> - - <h3><a name="link5" id="link5">Metadata Definitions</a></h3> - - <p>These are only defined if <a href= - "basic_tree.html#Node_Update841554648"><span class="c2"> - <tt>basic_tree</tt></span>::Node_Update</a> - is not <a href="null_trie_node_update.html"><span class= - "c2"><tt>null_trie_node_update</tt></span></a></p> - - <table class="c1" width="100%" border="1" summary="Types"> - <tr> - <td width="30%" align="left"><b>Type</b></td> - - <td width="55%" align="left"><b>Definition</b></td> - - <td width="15%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -<a name="metadata_type2849297114" id= -"metadata_type2849297114">metadata_type</a> -</pre> - </td> - - <td> - <pre> -<tt><b>typename</b></tt> <a href= -"basic_tree.html#Node_Update841554648"><span class="c2"><tt>basic_tree</tt></span>::Node_Update</a><tt>::metadata_type</tt> -</pre> - </td> - - <td> - <p>Metadata type.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<a name="const_metadata_reference1108857465" id= -"const_metadata_reference1108857465">const_metadata_reference</a> -</pre> - </td> - - <td> - <pre> -<b>typename</b> Allocator::<b>template</b> rebind< - <a href= -"#metadata_type2849297114"><tt>metadata_type</tt></a>>::other::<a href="#const_reference495461441"><tt>const_reference</tt></a> -</pre> - </td> - - <td> - <p>Const metadata <a href= - "#reference54418471"><tt>reference</tt></a> type.</p> - </td> - </tr> - </table> - - <h2><a name="link6" id="link6">Public Methods</a></h2> - - <h3><a name="link7" id="link7">Constructors, Destructor, and - Related</a></h3> - - <table class="c1" width="100%" border="1" summary="Methods"> - <tr> - <td width="45%" align="left"><b>Method</b></td> - - <td width="55%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -<b>inline</b> - const_node_iterator - () -</pre> - </td> - - <td> - <p>Default constructor.</p> - </td> - </tr> - </table> - - <h3><a name="link8" id="link8">Access Methods</a></h3> - - <table class="c1" width="100%" border="1" summary="Methods"> - <tr> - <td width="45%" align="left"><b>Method</b></td> - - <td width="55%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -<b>inline</b> std::pair< - <a href= -"#const_e_iterator2450008044"><tt>const_e_iterator</tt></a>, - <a href= -"#const_e_iterator2450008044"><tt>const_e_iterator</tt></a>> - valid_prefix - () <b>const</b> -</pre> - </td> - - <td> - <p>Subtree valid prefix.</p> - - <p>Returns the common prefix range of all nodes in this - node's subtree.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<b>inline</b> <a href= -"#const_reference495461441"><tt>const_reference</tt></a> - <b>operator</b>* - () <b>const</b> -</pre> - </td> - - <td> - <p>Const access; returns the const iterator associated - with the current leaf.</p> - - <p>Should be called only for leaf nodes.</p> - </td> - </tr> - </table> - - <h3><a name="link9" id="link9">Metadata Access Methods</a></h3> - - <p>These are only defined if <a href= - "basic_tree.html#Node_Update841554648"><span class="c2"> - <tt>basic_tree</tt></span>::Node_Update</a> - is not <a href="null_trie_node_update.html"><span class= - "c2"><tt>null_trie_node_update</tt></span></a></p> - - <table class="c1" width="100%" border="1" summary="Methods"> - <tr> - <td width="45%" align="left"><b>Method</b></td> - - <td width="55%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -<b>inline</b> <a href= -"#const_metadata_reference1108857465"><tt>const_metadata_reference</tt></a> - get_metadata - () <b>const</b> -</pre> - </td> - - <td> - <p>Metadata access.</p> - </td> - </tr> - </table> - - <h3><a name="link10" id="link10">Movement Methods</a></h3> - - <table class="c1" width="100%" border="1" summary="Methods"> - <tr> - <td width="45%" align="left"><b>Method</b></td> - - <td width="55%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -<b>inline</b> <a href="#size_type55424436"><tt>size_type</tt></a> - num_children - () <b>const</b> -</pre> - </td> - - <td> - <p>Returns the number of children in the corresponding - node.</p> - - <p>If the number of children is 0, then the corresponding - node is a leaf; otherwise, it is not a leaf.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<span class="c2"><tt>const_node_iterator</tt></span> - get_child - (<a href= -"#size_type55424436"><tt>size_type</tt></a> i) <b>const</b> -</pre> - </td> - - <td> - <p>Returns a const node iterator to the corresponding - node's <span class="c1"><tt>i</tt></span>-th child.</p> - </td> - </tr> - </table> - - <h3><a name="link11" id="link11">Comparison Methods</a></h3> - - <table class="c1" width="100%" border="1" summary="Methods"> - <tr> - <td width="45%" align="left"><b>Method</b></td> - - <td width="55%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -<b>inline</b> <b>bool</b> - <b>operator</b>== - (<b>const</b> <span class= -"c2"><tt>const_node_iterator</tt></span> &other) <b>const</b> -</pre> - </td> - - <td> - <p>Compares content to a different iterator object.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<b>inline</b> <b>bool</b> - <b>operator</b>!= - (<b>const</b> <span class= -"c2"><tt>const_node_iterator</tt></span> &other) <b>const</b> -</pre> - </td> - - <td> - <p>Compares content (negatively) to a different iterator - object.</p> - </td> - </tr> - </table> - </div> -</body> -</html> diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/trie_node_iterator.html b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/trie_node_iterator.html deleted file mode 100644 index 55029c4cb..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/trie_node_iterator.html +++ /dev/null @@ -1,235 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" - "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> -<head> - <meta name="generator" content= - "HTML Tidy for Linux/x86 (vers 12 April 2005), see www.w3.org" /> - - <title>trie::node_iterator Interface</title> - <meta http-equiv="Content-Type" content= - "text/html; charset=us-ascii" /> - </head> - -<body> - <div id="page"> - <h1><tt><span class= - "c2"><tt>trie</tt></span>::node_iterator</tt> - Interface</h1> - - <p>Node iterator.</p> - - <p>This is an "iterator to an iterator" - it iterates over - nodes, and de-referencing it returns one of the tree's - iterators</p> - - <h2><a name="link1" id="link1">Base Classes</a></h2> - - <table class="c1" width="100%" border="1" summary="Bases"> - <tr> - <td width="80%" align="left"><b>Class</b></td> - - <td width="20%" align="left"><b>Derivation Type</b></td> - </tr> - - <tr> - <td> - <pre> -<a href= -"trie.html#const_node_iterator4205924553"><span class="c2"><tt>trie</tt></span>::const_node_iterator</a> -</pre> - </td> - - <td> - <p>public</p> - </td> - </tr> - </table> - - <h2><a name="link2" id="link2">Public Types and - Constants</a></h2> - - <h3><a name="link3" id="link3">General Container - Definitions</a></h3> - - <table class="c1" width="100%" border="1" summary="Types"> - <tr> - <td width="30%" align="left"><b>Type</b></td> - - <td width="55%" align="left"><b>Definition</b></td> - - <td width="15%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -<a name="size_type55424436" id="size_type55424436">size_type</a> -</pre> - </td> - - <td> - <pre> -<b>typename</b> <a href= -"trie.html#const_node_iterator4205924553"><span class="c2"><tt>trie</tt></span>::const_node_iterator</a>::size_type -</pre> - </td> - - <td> - <p>Size type.</p> - </td> - </tr> - </table> - - <h3><a name="link4" id="link4">Value-Type Definitions</a></h3> - - <table class="c1" width="100%" border="1" summary="Types"> - <tr> - <td width="30%" align="left"><b>Type</b></td> - - <td width="55%" align="left"><b>Definition</b></td> - - <td width="15%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -<a name="value_type279018186" id= -"value_type279018186">value_type</a> -</pre> - </td> - - <td> - <pre> -<a href="container_base.html#iterator10418194"><span class= -"c2"><tt>container_base</tt></span>::iterator</a> -</pre> - </td> - - <td> - <p>Iterator's value type.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<a name="reference54418471" id="reference54418471">reference</a> -</pre> - </td> - - <td> - <pre> -<a href="#value_type279018186"><tt>value_type</tt></a> -</pre> - </td> - - <td> - <p>Iterator's reference type.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<a name="const_reference495461441" id= -"const_reference495461441">const_reference</a> -</pre> - </td> - - <td> - <pre> -<a href="#value_type279018186"><tt>value_type</tt></a> -</pre> - </td> - - <td> - <p>Iterator's const <a href= - "#reference54418471"><tt>reference</tt></a> type.</p> - </td> - </tr> - </table> - - <h2><a name="link5" id="link5">Public Methods</a></h2> - - <h3><a name="link6" id="link6">Constructors, Destructor, and - Related</a></h3> - - <table class="c1" width="100%" border="1" summary="Methods"> - <tr> - <td width="45%" align="left"><b>Method</b></td> - - <td width="55%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -<b>inline</b> - pat_trie_node_it_ - () -</pre> - </td> - - <td> - <p>Default constructor.</p> - </td> - </tr> - </table> - - <h3><a name="link7" id="link7">Access Methods</a></h3> - - <table class="c1" width="100%" border="1" summary="Methods"> - <tr> - <td width="45%" align="left"><b>Method</b></td> - - <td width="55%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -<b>inline</b> <a href="#reference54418471"><tt>reference</tt></a> - <b>operator</b>* - () <b>const</b> -</pre> - </td> - - <td> - <p>Access; returns the iterator associated with the - current leaf.</p> - - <p>Should be called only for leaf nodes.</p> - </td> - </tr> - </table> - - <h3><a name="link8" id="link8">Movement Methods</a></h3> - - <table class="c1" width="100%" border="1" summary="Methods"> - <tr> - <td width="45%" align="left"><b>Method</b></td> - - <td width="55%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -<span class="c2"><tt>node_iterator</tt></span> - get_child - (<a href= -"#size_type55424436"><tt>size_type</tt></a> i) <b>const</b> -</pre> - </td> - - <td> - <p>Returns a node iterator to the corresponding node's - <span class="c1"><tt>i</tt></span>-th child.</p> - </td> - </tr> - </table> - </div> -</body> -</html> diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/trie_node_updator_policy_cd.png b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/trie_node_updator_policy_cd.png Binary files differdeleted file mode 100644 index 4376929ec..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/trie_node_updator_policy_cd.png +++ /dev/null diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/trie_order_statistics_node_update.html b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/trie_order_statistics_node_update.html deleted file mode 100644 index 66aab26d7..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/trie_order_statistics_node_update.html +++ /dev/null @@ -1,770 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" - "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> -<head> - <meta name="generator" content= - "HTML Tidy for Linux/x86 (vers 12 April 2005), see www.w3.org" /> - - <title>trie_order_statistics_node_update Interface</title> - <meta http-equiv="Content-Type" content= - "text/html; charset=us-ascii" /> - </head> - -<body> - <div id="page"> - <h1><tt>trie_order_statistics_node_update</tt> Interface</h1> - - <p>Functor updating ranks of entrees.</p> - - <p>Defined in: <a href= - "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/include/ext/pb_ds/trie_policy.hpp"><tt>trie_policy.hpp</tt></a></p> - - <h2><a name="link1" id="link1">Template Parameters</a></h2> - - <table class="c1" width="100%" border="1" summary= - "Template Parameters"> - <tr> - <td width="20%" align="left"><b>Parameter</b></td> - - <td width="50%" align="left"><b>Description</b></td> - - <td width="30%" align="left"><b>Default Value</b></td> - </tr> - - <tr> - <td> - <pre> -<a name="Const_Node_Iterator1933878761" id= -"Const_Node_Iterator1933878761"><b>class</b> Const_Node_Iterator</a> -</pre> - </td> - - <td> - <p>Const node iterator type.</p> - </td> - - <td>-</td> - </tr> - - <tr> - <td> - <pre> -<a name="Node_Iterator4206909839" id= -"Node_Iterator4206909839"><b>class</b> Node_Iterator</a> -</pre> - </td> - - <td> - <p>Node iterator type.</p> - </td> - - <td>-</td> - </tr> - - <tr> - <td> - <pre> -<a name="E_Access_Traits686553840" id= -"E_Access_Traits686553840"><b>class</b> E_Access_Traits</a> -</pre> - </td> - - <td> - <p>Comparison functor.</p> - </td> - - <td>-</td> - </tr> - - <tr> - <td> - <pre> -<a name="Allocator35940069" id= -"Allocator35940069"><b>class</b> Allocator</a> -</pre> - </td> - - <td> - <p>Allocator type.</p> - </td> - - <td>-</td> - </tr> - </table> - - <h2><a name="link2" id="link2">Public Types and - Constants</a></h2> - - <h3><a name="link3" id="link3">Policy Definitions</a></h3> - - <table class="c1" width="100%" border="1" summary="Types"> - <tr> - <td width="30%" align="left"><b>Type</b></td> - - <td width="55%" align="left"><b>Definition</b></td> - - <td width="15%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -<a name="e_access_traits1948190928" id= -"e_access_traits1948190928">e_access_traits</a> -</pre> - </td> - - <td> - <pre> -<a href="#E_Access_Traits686553840"><tt>E_Access_Traits</tt></a> -</pre> - </td> - - <td> - <p>Element access traits.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<a name="const_e_iterator2450008044" id= -"const_e_iterator2450008044">const_e_iterator</a> -</pre> - </td> - - <td> - <pre> -<b>typename</b> <a href= -"#e_access_traits1948190928"><tt>e_access_traits</tt></a>::const_iterator -</pre> - </td> - - <td> - <p>Const element iterator.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<a name="allocator48440069" id="allocator48440069">allocator</a> -</pre> - </td> - - <td> - <pre> -<a href="#Allocator35940069"><tt>Allocator</tt></a> -</pre> - </td> - - <td> - <p><a href="#Allocator35940069"><tt>Allocator</tt></a> - type.</p> - </td> - </tr> - </table> - - <h3><a name="link4" id="link4">General Definitions</a></h3> - - <table class="c1" width="100%" border="1" summary="Types"> - <tr> - <td width="30%" align="left"><b>Type</b></td> - - <td width="55%" align="left"><b>Definition</b></td> - - <td width="15%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -<a name="size_type55424436" id="size_type55424436">size_type</a> -</pre> - </td> - - <td> - <pre> -<b>typename</b> <a href= -"#allocator48440069"><tt>allocator</tt></a>::size_type -</pre> - </td> - - <td> - <p>Size type.</p> - </td> - </tr> - </table> - - <h3><a name="link5" id="link5">Key-Type Definitions</a></h3> - - <table class="c1" width="100%" border="1" summary="Types"> - <tr> - <td width="30%" align="left"><b>Type</b></td> - - <td width="55%" align="left"><b>Definition</b></td> - - <td width="15%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -<a name="key_type10393186" id="key_type10393186">key_type</a> -</pre> - </td> - - <td> - <pre> -The instantiating container's key type. -</pre> - </td> - - <td> - <p>Key type.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<a name="const_key_reference3185471705" id= -"const_key_reference3185471705">const_key_reference</a> -</pre> - </td> - - <td> - <pre> -The instantiating container's const key reference type. -</pre> - </td> - - <td> - <p>Const key reference.</p> - </td> - </tr> - </table> - - <h3><a name="link6" id="link6">Metadata-Type - Definitions</a></h3> - - <table class="c1" width="100%" border="1" summary="Types"> - <tr> - <td width="30%" align="left"><b>Type</b></td> - - <td width="55%" align="left"><b>Definition</b></td> - - <td width="15%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -<a name="metadata_type2849297114" id= -"metadata_type2849297114">metadata_type</a> -</pre> - </td> - - <td> - <pre> -<a href="#size_type55424436"><tt>size_type</tt></a> -</pre> - </td> - - <td> - <p>Metadata type.</p> - </td> - </tr> - </table> - - <h3><a name="link7" id="link7">Iterator Definitions</a></h3> - - <table class="c1" width="100%" border="1" summary="Types"> - <tr> - <td width="30%" align="left"><b>Type</b></td> - - <td width="55%" align="left"><b>Definition</b></td> - - <td width="15%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -<a name="const_node_iterator4205924553" id= -"const_node_iterator4205924553">const_node_iterator</a> -</pre> - </td> - - <td> - <pre> -<a href= -"#Const_Node_Iterator1933878761"><tt>Const_Node_Iterator</tt></a> -</pre> - </td> - - <td> - <p>Const node iterator type.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<a name="node_iterator3431975247" id= -"node_iterator3431975247">node_iterator</a> -</pre> - </td> - - <td> - <pre> -<a href="#Node_Iterator4206909839"><tt>Node_Iterator</tt></a> -</pre> - </td> - - <td> - <p>Node iterator type.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<a name="const_iterator98626788" id= -"const_iterator98626788">const_iterator</a> -</pre> - </td> - - <td> - <pre> -<b>typename</b> <a href= -"#const_node_iterator4205924553"><tt>const_node_iterator</tt></a>::value_type -</pre> - </td> - - <td> - <p>Const iterator type.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<a name="iterator10418194" id="iterator10418194">iterator</a> -</pre> - </td> - - <td> - <pre> -<b>typename</b> <a href= -"#node_iterator3431975247"><tt>node_iterator</tt></a>::value_type -</pre> - </td> - - <td> - <p>Iterator type.</p> - </td> - </tr> - </table> - - <h2><a name="link8" id="link8">Public Methods</a></h2> - - <h3><a name="link9" id="link9">Find-Type Methods</a></h3> - - <table class="c1" width="100%" border="1" summary="Methods"> - <tr> - <td width="45%" align="left"><b>Method</b></td> - - <td width="55%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -<b>inline</b> <a href= -"#const_iterator98626788"><tt>const_iterator</tt></a> - find_by_order - (<a href= -"#size_type55424436"><tt>size_type</tt></a> order) <b>const</b> -</pre> - </td> - - <td> - <p>Finds an entry by order. Returns a <a href= - "#const_iterator98626788"><tt>const_iterator</tt></a> to - the entry with the order <span class= - "c1"><tt>order</tt></span>, or a <a href= - "#const_iterator98626788"><tt>const_iterator</tt></a> to - the container object's end if <span class= - "c1"><tt>order</tt></span> is at least the size of the - container object.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<b>inline</b> <a href="#iterator10418194"><tt>iterator</tt></a> - find_by_order - (<a href="#size_type55424436"><tt>size_type</tt></a> order) -</pre> - </td> - - <td> - <p>Finds an entry by order. Returns an <a href= - "#iterator10418194"><tt>iterator</tt></a> to the entry - with the order <span class="c1"><tt>order</tt></span>, or - an <a href="#iterator10418194"><tt>iterator</tt></a> to - the container object's end if <span class= - "c1"><tt>order</tt></span> is at least the size of the - container object.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<b>inline</b> <a href="#size_type55424436"><tt>size_type</tt></a> - order_of_key - (<a href= -"#const_key_reference3185471705"><tt>const_key_reference</tt></a> r_key) <b>const</b> -</pre> - </td> - - <td> - <p>Returns the order of a key within a sequence. For - example, if <span class="c1"><tt>r_key</tt></span> is the - smallest key, this method will return 0; if <span class= - "c1"><tt>r_key</tt></span> is a key between the smallest - and next key, this method will return 1; if <span class= - "c1"><tt>r_key</tt></span> is a key larger than the - largest key, this method will return the size of r_c.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<b>inline</b> <a href="#size_type55424436"><tt>size_type</tt></a> - order_of_prefix - (<a href= -"#const_e_iterator2450008044"><tt>const_e_iterator</tt></a> b, - <a href= -"#const_e_iterator2450008044"><tt>const_e_iterator</tt></a> e) <b>const</b> -</pre> - </td> - - <td> - <p>Returns the order of a prefix within a sequence. For - <span class="c1"><tt>e</tt></span>example, if [b, - <span class="c1"><tt>e</tt></span>] is the smallest - prefix, this method will return 0; if r_key is a key - <span class="c1"><tt>b</tt></span>between the smallest and - next key, this method will return 1; if r_key is a key - larger than the largest key, this method will return the - size of r_c.</p> - </td> - </tr> - </table> - - <h2><a name="link10" id="link10">Protected Types and - Constants</a></h2> - - <h3><a name="link11" id="link11">Value-Type - Definitions</a></h3> - - <table class="c1" width="100%" border="1" summary="Types"> - <tr> - <td width="30%" align="left"><b>Type</b></td> - - <td width="55%" align="left"><b>Definition</b></td> - - <td width="15%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -<a name="const_reference495461441" id= -"const_reference495461441">const_reference</a> -</pre> - </td> - - <td> - <pre> -The instantiating container's const reference type. -</pre> - </td> - - <td> - <p>Const reference to the container's value-type.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<a name="const_pointer878814947" id= -"const_pointer878814947">const_pointer</a> -</pre> - </td> - - <td> - <pre> -The instantiating container's const pointer type. -</pre> - </td> - - <td> - <p>Const pointer to the container's value-type.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<a name="const_metadata_reference1108857465" id= -"const_metadata_reference1108857465">const_metadata_reference</a> -</pre> - </td> - - <td> - <pre> -<b>typename</b> <a href= -"#Allocator35940069"><tt>Allocator</tt></a>::<b>template</b> rebind< - <a href= -"#metadata_type2849297114"><tt>metadata_type</tt></a>>::other::<a href="#const_reference495461441"><tt>const_reference</tt></a> -</pre> - </td> - - <td> - <p>Const metadata reference.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<a name="metadata_reference583863863" id= -"metadata_reference583863863">metadata_reference</a> -</pre> - </td> - - <td> - <pre> -<b>typename</b> <a href= -"#Allocator35940069"><tt>Allocator</tt></a>::<b>template</b> rebind< - <a href= -"#metadata_type2849297114"><tt>metadata_type</tt></a>>::other::reference -</pre> - </td> - - <td> - <p>Metadata reference.</p> - </td> - </tr> - </table> - - <h2><a name="link12" id="link12">Protected Methods</a></h2> - - <h3><a name="link13" id="link13">Operators</a></h3> - - <table class="c1" width="100%" border="1" summary="Methods"> - <tr> - <td width="45%" align="left"><b>Method</b></td> - - <td width="55%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -<b>inline</b> <b>void</b> - <b>operator</b>() - (<a href= -"#node_iterator3431975247"><tt>node_iterator</tt></a> node_it, - <a href= -"#const_node_iterator4205924553"><tt>const_node_iterator</tt></a> end_nd_it) <b>const</b> -</pre> - </td> - - <td> - <p>Updates the rank of a node through a <a href= - "#node_iterator3431975247"><tt>node_iterator</tt></a> - <span class="c1"><tt>node_it</tt></span>; <span class= - "c1"><tt>end_nd_it</tt></span> is the end node <a href= - "#iterator10418194"><tt>iterator</tt></a>.</p> - </td> - </tr> - </table> - - <h3><a name="link14" id="link14">Constructors, destructor, and - related</a></h3> - - <table class="c1" width="100%" border="1" summary="Methods"> - <tr> - <td width="45%" align="left"><b>Method</b></td> - - <td width="55%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -<b>virtual</b> - ~trie_order_statistics_node_update - () -</pre> - </td> - - <td> - <p>Destructor.</p> - </td> - </tr> - </table> - - <h2><a name="link15" id="link15">Private Methods</a></h2> - - <h3><a name="link16" id="link16">Overrides</a></h3> - - <table class="c1" width="100%" border="1" summary="Methods"> - <tr> - <td width="45%" align="left"><b>Method</b></td> - - <td width="55%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -<b>virtual</b> <b>bool</b> - empty - () <b>const</b> = 0 -</pre> - </td> - - <td> - <p>Returns <tt><b>true</b></tt> if the container is - empty.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<b>virtual</b> <a href="#iterator10418194"><tt>iterator</tt></a> - begin - () = 0 -</pre> - </td> - - <td> - <p>Returns the <a href= - "#iterator10418194"><tt>iterator</tt></a> associated with - the trie's first element.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<b>virtual</b> <a href="#iterator10418194"><tt>iterator</tt></a> - end - () = 0 -</pre> - </td> - - <td> - <p>Returns the <a href= - "#iterator10418194"><tt>iterator</tt></a> associated with - the trie's just-after-last element.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<b>virtual</b> <a href= -"#const_node_iterator4205924553"><tt>const_node_iterator</tt></a> - node_begin - () <b>const</b> = 0 -</pre> - </td> - - <td> - <p>Returns the <a href= - "#const_node_iterator4205924553"><tt>const_node_iterator</tt></a> - associated with the trie's root node.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<b>virtual</b> <a href= -"#node_iterator3431975247"><tt>node_iterator</tt></a> - node_begin - () = 0 -</pre> - </td> - - <td> - <p>Returns the <a href= - "#node_iterator3431975247"><tt>node_iterator</tt></a> - associated with the trie's root node.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<b>virtual</b> <a href= -"#const_node_iterator4205924553"><tt>const_node_iterator</tt></a> - node_end - () <b>const</b> = 0 -</pre> - </td> - - <td> - <p>Returns the <a href= - "#const_node_iterator4205924553"><tt>const_node_iterator</tt></a> - associated with a just-after leaf node.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<b>virtual</b> <a href= -"#node_iterator3431975247"><tt>node_iterator</tt></a> - node_end - () = 0 -</pre> - </td> - - <td> - <p>Returns the <a href= - "#node_iterator3431975247"><tt>node_iterator</tt></a> - associated with a just-after leaf node.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<b>virtual</b> <a href= -"#e_access_traits1948190928"><tt>e_access_traits</tt></a> & - get_e_access_traits - () = 0 -</pre> - </td> - - <td> - <p>Access to the cmp_fn object.</p> - </td> - </tr> - </table> - </div> -</body> -</html> diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/trie_prefix_search_node_update.html b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/trie_prefix_search_node_update.html deleted file mode 100644 index e136495c5..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/trie_prefix_search_node_update.html +++ /dev/null @@ -1,628 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" - "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> -<head> - <meta name="generator" content= - "HTML Tidy for Linux/x86 (vers 12 April 2005), see www.w3.org" /> - - <title>trie_prefix_search_node_update Interface</title> - <meta http-equiv="Content-Type" content= - "text/html; charset=us-ascii" /> - </head> - -<body> - <div id="page"> - <h1><tt>trie_prefix_search_node_update</tt> Interface</h1> - - <p>A node updater that allows tries to be searched for the - range of values that match a certain prefix.</p> - - <p>Defined in: <a href= - "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/include/ext/pb_ds/trie_policy.hpp"><tt>trie_policy.hpp</tt></a></p> - - <h2><a name="link1" id="link1">Template Parameters</a></h2> - - <table class="c1" width="100%" border="1" summary= - "Template Parameters"> - <tr> - <td width="20%" align="left"><b>Parameter</b></td> - - <td width="50%" align="left"><b>Description</b></td> - - <td width="30%" align="left"><b>Default Value</b></td> - </tr> - - <tr> - <td> - <pre> -<a name="Const_Node_Iterator1933878761" id= -"Const_Node_Iterator1933878761"><b>class</b> Const_Node_Iterator</a> -</pre> - </td> - - <td> - <p>Const node iterator type.</p> - </td> - - <td>-</td> - </tr> - - <tr> - <td> - <pre> -<a name="Node_Iterator4206909839" id= -"Node_Iterator4206909839"><b>class</b> Node_Iterator</a> -</pre> - </td> - - <td> - <p>Node iterator type.</p> - </td> - - <td>-</td> - </tr> - - <tr> - <td> - <pre> -<a name="E_Access_Traits686553840" id= -"E_Access_Traits686553840"><b>class</b> E_Access_Traits</a> -</pre> - </td> - - <td> - <p>Comparison functor.</p> - </td> - - <td>-</td> - </tr> - - <tr> - <td> - <pre> -<a name="Allocator35940069" id= -"Allocator35940069"><b>class</b> Allocator</a> -</pre> - </td> - - <td> - <p>Allocator type.</p> - </td> - - <td>-</td> - </tr> - </table> - - <h2><a name="link2" id="link2">Public Types and - Constants</a></h2> - - <h3><a name="link3" id="link3">Key-Type Definitions</a></h3> - - <table class="c1" width="100%" border="1" summary="Types"> - <tr> - <td width="30%" align="left"><b>Type</b></td> - - <td width="55%" align="left"><b>Definition</b></td> - - <td width="15%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -<a name="key_type10393186" id="key_type10393186">key_type</a> -</pre> - </td> - - <td> - <pre> -The instantiating container's key type. -</pre> - </td> - - <td> - <p>Key type.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<a name="const_key_reference3185471705" id= -"const_key_reference3185471705">const_key_reference</a> -</pre> - </td> - - <td> - <pre> -The instantiating container's const key reference type. -</pre> - </td> - - <td> - <p>Const key reference.</p> - </td> - </tr> - </table> - - <h3><a name="link4" id="link4">Policy Definitions</a></h3> - - <table class="c1" width="100%" border="1" summary="Types"> - <tr> - <td width="30%" align="left"><b>Type</b></td> - - <td width="55%" align="left"><b>Definition</b></td> - - <td width="15%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -<a name="e_access_traits1948190928" id= -"e_access_traits1948190928">e_access_traits</a> -</pre> - </td> - - <td> - <pre> -<a href="#E_Access_Traits686553840"><tt>E_Access_Traits</tt></a> -</pre> - </td> - - <td> - <p>Element access traits.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<a name="const_e_iterator2450008044" id= -"const_e_iterator2450008044">const_e_iterator</a> -</pre> - </td> - - <td> - <pre> -<b>typename</b> <a href= -"#e_access_traits1948190928"><tt>e_access_traits</tt></a>::const_iterator -</pre> - </td> - - <td> - <p>Const element iterator.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<a name="allocator48440069" id="allocator48440069">allocator</a> -</pre> - </td> - - <td> - <pre> -<a href="#Allocator35940069"><tt>Allocator</tt></a> -</pre> - </td> - - <td> - <p><a href="#Allocator35940069"><tt>Allocator</tt></a> - type.</p> - </td> - </tr> - </table> - - <h3><a name="link5" id="link5">General Definitions</a></h3> - - <table class="c1" width="100%" border="1" summary="Types"> - <tr> - <td width="30%" align="left"><b>Type</b></td> - - <td width="55%" align="left"><b>Definition</b></td> - - <td width="15%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -<a name="size_type55424436" id="size_type55424436">size_type</a> -</pre> - </td> - - <td> - <pre> -<b>typename</b> <a href= -"#allocator48440069"><tt>allocator</tt></a>::size_type -</pre> - </td> - - <td> - <p>Size type.</p> - </td> - </tr> - </table> - - <h3><a name="link6" id="link6">Metadata-Type - Definitions</a></h3> - - <table class="c1" width="100%" border="1" summary="Types"> - <tr> - <td width="30%" align="left"><b>Type</b></td> - - <td width="55%" align="left"><b>Definition</b></td> - - <td width="15%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -<a name="metadata_type2849297114" id= -"metadata_type2849297114">metadata_type</a> -</pre> - </td> - - <td> - <pre> -__gnu_pbds::detail::null_node_metadata -</pre> - </td> - - <td> - <p>Metadata type.</p> - </td> - </tr> - </table> - - <h3><a name="link7" id="link7">Iterator Definitions</a></h3> - - <table class="c1" width="100%" border="1" summary="Types"> - <tr> - <td width="30%" align="left"><b>Type</b></td> - - <td width="55%" align="left"><b>Definition</b></td> - - <td width="15%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -<a name="const_node_iterator4205924553" id= -"const_node_iterator4205924553">const_node_iterator</a> -</pre> - </td> - - <td> - <pre> -<a href= -"#Const_Node_Iterator1933878761"><tt>Const_Node_Iterator</tt></a> -</pre> - </td> - - <td> - <p>Const node iterator type.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<a name="node_iterator3431975247" id= -"node_iterator3431975247">node_iterator</a> -</pre> - </td> - - <td> - <pre> -<a href="#Node_Iterator4206909839"><tt>Node_Iterator</tt></a> -</pre> - </td> - - <td> - <p>Node iterator type.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<a name="const_iterator98626788" id= -"const_iterator98626788">const_iterator</a> -</pre> - </td> - - <td> - <pre> -<b>typename</b> <a href= -"#const_node_iterator4205924553"><tt>const_node_iterator</tt></a>::value_type -</pre> - </td> - - <td> - <p>Const iterator type.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<a name="iterator10418194" id="iterator10418194">iterator</a> -</pre> - </td> - - <td> - <pre> -<b>typename</b> <a href= -"#node_iterator3431975247"><tt>node_iterator</tt></a>::value_type -</pre> - </td> - - <td> - <p>Iterator type.</p> - </td> - </tr> - </table> - - <h2><a name="link8" id="link8">Public Methods</a></h2> - - <h3><a name="link9" id="link9">Find Methods</a></h3> - - <table class="c1" width="100%" border="1" summary="Methods"> - <tr> - <td width="45%" align="left"><b>Method</b></td> - - <td width="55%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -std::pair< - <a href="#const_iterator98626788"><tt>const_iterator</tt></a>, - <a href= -"#const_iterator98626788"><tt>const_iterator</tt></a>> - prefix_range - (<a href= -"#const_key_reference3185471705"><tt>const_key_reference</tt></a> r_key) <b>const</b> -</pre> - </td> - - <td> - <p>Finds the <tt><b>const</b></tt> <a href= - "#iterator10418194"><tt>iterator</tt></a> range - corresponding to all values whose prefixes match - <span class="c1"><tt>r_key</tt></span>.</p> - </td> - </tr> - - <tr> - <td> - <pre> -std::pair< - <a href="#iterator10418194"><tt>iterator</tt></a>, - <a href="#iterator10418194"><tt>iterator</tt></a>> - prefix_range - (<a href= -"#const_key_reference3185471705"><tt>const_key_reference</tt></a> r_key) -</pre> - </td> - - <td> - <p>Finds the <a href= - "#iterator10418194"><tt>iterator</tt></a> range - corresponding to all values whose prefixes match - <span class="c1"><tt>r_key</tt></span>.</p> - </td> - </tr> - - <tr> - <td> - <pre> -std::pair< - <a href="#const_iterator98626788"><tt>const_iterator</tt></a>, - <a href= -"#const_iterator98626788"><tt>const_iterator</tt></a>> - prefix_range - (<a href= -"#const_e_iterator2450008044"><tt>const_e_iterator</tt></a> b, - <a href= -"#const_e_iterator2450008044"><tt>const_e_iterator</tt></a> e) <b>const</b> -</pre> - </td> - - <td> - <p>Finds the <tt><b>const</b></tt> <a href= - "#iterator10418194"><tt>iterator</tt></a> range - corresponding to all values whose prefixes match [b, - <span class="c1"><tt>e</tt></span>).</p> - </td> - </tr> - - <tr> - <td> - <pre> -std::pair< - <a href="#iterator10418194"><tt>iterator</tt></a>, - <a href="#iterator10418194"><tt>iterator</tt></a>> - prefix_range - (<a href= -"#const_e_iterator2450008044"><tt>const_e_iterator</tt></a> b, - <a href= -"#const_e_iterator2450008044"><tt>const_e_iterator</tt></a> e) -</pre> - </td> - - <td> - <p>Finds the <a href= - "#iterator10418194"><tt>iterator</tt></a> range - corresponding to all values whose prefixes match [b, - <span class="c1"><tt>e</tt></span>).</p> - </td> - </tr> - </table> - - <h2><a name="link10" id="link10">Protected Methods</a></h2> - - <h3><a name="link11" id="link11">Operators</a></h3> - - <table class="c1" width="100%" border="1" summary="Methods"> - <tr> - <td width="45%" align="left"><b>Method</b></td> - - <td width="55%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -<b>inline</b> <b>void</b> - <b>operator</b>() - (<a href= -"#node_iterator3431975247"><tt>node_iterator</tt></a> node_it, - <a href= -"#const_node_iterator4205924553"><tt>const_node_iterator</tt></a> end_nd_it) <b>const</b> -</pre> - </td> - - <td> - <p>Called to update a node's metadata.</p> - </td> - </tr> - </table> - - <h2><a name="link12" id="link12">Private Methods</a></h2> - - <h3><a name="link13" id="link13">Overrides</a></h3> - - <table class="c1" width="100%" border="1" summary="Methods"> - <tr> - <td width="45%" align="left"><b>Method</b></td> - - <td width="55%" align="left"><b>Description</b></td> - </tr> - - <tr> - <td> - <pre> -<b>virtual</b> <a href= -"#const_iterator98626788"><tt>const_iterator</tt></a> - end - () <b>const</b> = 0 -</pre> - </td> - - <td> - <p>Returns the <tt><b>const</b></tt> <a href= - "#iterator10418194"><tt>iterator</tt></a> associated with - the just-after last element.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<b>virtual</b> <a href="#iterator10418194"><tt>iterator</tt></a> - end - () = 0 -</pre> - </td> - - <td> - <p>Returns the <a href= - "#iterator10418194"><tt>iterator</tt></a> associated with - the just-after last element.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<b>virtual</b> <a href= -"#const_node_iterator4205924553"><tt>const_node_iterator</tt></a> - node_begin - () <b>const</b> = 0 -</pre> - </td> - - <td> - <p>Returns the <a href= - "#const_node_iterator4205924553"><tt>const_node_iterator</tt></a> - associated with the trie's root node.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<b>virtual</b> <a href= -"#node_iterator3431975247"><tt>node_iterator</tt></a> - node_begin - () = 0 -</pre> - </td> - - <td> - <p>Returns the <a href= - "#node_iterator3431975247"><tt>node_iterator</tt></a> - associated with the trie's root node.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<b>virtual</b> <a href= -"#const_node_iterator4205924553"><tt>const_node_iterator</tt></a> - node_end - () <b>const</b> = 0 -</pre> - </td> - - <td> - <p>Returns the <a href= - "#const_node_iterator4205924553"><tt>const_node_iterator</tt></a> - associated with a just-after leaf node.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<b>virtual</b> <a href= -"#node_iterator3431975247"><tt>node_iterator</tt></a> - node_end - () = 0 -</pre> - </td> - - <td> - <p>Returns the <a href= - "#node_iterator3431975247"><tt>node_iterator</tt></a> - associated with a just-after leaf node.</p> - </td> - </tr> - - <tr> - <td> - <pre> -<b>virtual</b> <b>const</b> <a href= -"#e_access_traits1948190928"><tt>e_access_traits</tt></a> & - get_e_access_traits - () <b>const</b> = 0 -</pre> - </td> - - <td> - <p>Access to the cmp_fn object.</p> - </td> - </tr> - </table> - </div> -</body> -</html> diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/trie_tag.html b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/trie_tag.html deleted file mode 100644 index 62bf12454..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/trie_tag.html +++ /dev/null @@ -1,47 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" - "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> -<head> - <meta name="generator" content= - "HTML Tidy for Linux/x86 (vers 12 April 2005), see www.w3.org" /> - - <title>trie_tag Interface</title> - <meta http-equiv="Content-Type" content= - "text/html; charset=us-ascii" /> - </head> - -<body> - <div id="page"> - <h1><tt>trie_tag</tt> Interface</h1> - - <p>Basic trie data structure tag.</p> - - <p>Defined in: <a href= - "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/include/ext/pb_ds/tag_and_trait.hpp"><tt>tag_and_trait.hpp</tt></a></p> - - <h2><a name="link1" id="link1">Base Classes</a></h2> - - <table class="c1" width="100%" border="1" summary="Bases"> - <tr> - <td width="80%" align="left"><b>Class</b></td> - - <td width="20%" align="left"><b>Derivation Type</b></td> - </tr> - - <tr> - <td> - <pre> -<a href="basic_tree_tag.html"><span class= -"c2"><tt>basic_tree_tag</tt></span></a> -</pre> - </td> - - <td> - <p>public</p> - </td> - </tr> - </table> - </div> -</body> -</html> diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/trivial_iterator_tag.html b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/trivial_iterator_tag.html deleted file mode 100644 index 1f59c5102..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/trivial_iterator_tag.html +++ /dev/null @@ -1,25 +0,0 @@ -<!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" xml:lang="en" lang="en"> -<head> - <meta name="generator" content= - "HTML Tidy for Linux/x86 (vers 12 April 2005), see www.w3.org" /> - - <title>trivial_iterator_tag Interface</title> - <meta http-equiv="Content-Type" content= - "text/html; charset=us-ascii" /> - </head> - -<body> - <div id="page"> - <h1><tt>trivial_iterator_tag</tt> Interface</h1> - - <p>A \quot;trivial\quot; iterator tag. Signifies that the - iterators has none of the STL's movement abilities.</p> - - <p>Defined in: <a href= - "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/include/ext/pb_ds/tag_and_trait.hpp"><tt>tag_and_trait.hpp</tt></a></p> - </div> -</body> -</html> diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/tutorial.html b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/tutorial.html deleted file mode 100644 index 152cd57b1..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/tutorial.html +++ /dev/null @@ -1,670 +0,0 @@ -<!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 name="generator" content= - "HTML Tidy for Linux/x86 (vers 12 April 2005), see www.w3.org" /> - - <title>Tutorial</title> - <meta http-equiv="Content-Type" content= - "text/html; charset=us-ascii" /> - </head> - -<body> - <div id="page"> - <h1>Short Tutorial</h1> - - <p>Following is a short tutorial illustrating the main points - of <tt>pb_ds</tt>. <a href="concepts.html">Concepts</a> - describes and summarizes some concepts.</p> - - <h2><a name="assoc_main" id="assoc_main">Associative - Containers</a></h2> - - <h3><a name="assoc_basic" id="assoc_basic">Basic Use</a></h3> - - <p>For the most part, <tt>pb_ds</tt>'s containers have the same - interface as the STL's, except for the names used for the - container classes themselves. For example, this shows basic - operations on a collision-chaining hash-based container:</p> - - <pre> -<a href= -"cc_hash_table.html">cc_hash_table</a><<b>int</b>, <b>char</b>> c; - -c[2] = 'b'; - -assert(c.find(1) == c.end()); -</pre> - - <p>The container is called <a href= - "cc_hash_table.html"><tt>cc_hash_table</tt></a> as - opposed to <tt>unordered_map</tt>, since "unordered map" does - not necessarily mean a hash-based map (as the STL implicitly - implies). For example, list-based associative containers, which - are very useful for the construction of "multimaps" (see - <a href= - "assoc_performance_tests.html#msc">Associative-Container - Performance Tests::Observations::Mapping-Semantics - Considerations</a>), are also unordered. It is also not called - <tt>hash_map</tt> since there are more ways than one to - implement hash tables.</p> - - <p>This snippet shows a red-black tree based container:</p> - <pre> -<a href= -"tree.html">tree</a><<b>int</b>, <b>char</b>> c; - -c[2] = 'b'; - -assert(c.find(2) != c.end()); -</pre> - - <p>The container is called <a href= - "tree.html"><tt>tree</tt></a> - as opposed to <tt>map</tt>, since "map" doesn't say that - much.</p> - - <p>Most of the STL's familiar methods are unchanged. - <i>E.g.</i>, <tt>being</tt>, <tt>end</tt>, <tt>size</tt>, - <tt>empty</tt>, and <tt>clear</tt>, do just the same as is - customary. <a href= - "assoc_examples.html#basic_usage">Associative-Container - Examples::Basic use</a>, and especially <a href= - "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/testsuite/ext/pb_ds/example/basic_map.cc"><tt>basic_map.cc</tt></a>, - show examples of this.</p> - -<p>This isn't to say that things are exactly as one would expect, -given the container requirments and interfaces in the C++ -standard.</p> - - - <p>The names of containers' policies and policy accessors are - different than those of the STL. For example, if <tt>C</tt> is - some type of hash-based container, then</p> - <pre> -C::hash_fn -</pre>gives the type of its hash functor, and if <tt>c</tt> is some -hash-based container object, then - <pre> -c.get_hash_fn() -</pre> - - <p>will return a reference to its hash-functor object.</p> - - <p>Similarly, if <tt>C</tt> is some type of tree-based - container, then</p> - <pre> -C::cmp_fn -</pre>gives the type of its comparison functor, and if <tt>c</tt> -is some tree-based container object, then - <pre> -c.get_cmp_fn() -</pre> - - <p>will return a reference to its comparison-functor - object.</p> - - <p>It would be nice to give names consistent with those in the - existing C++ standard (inclusive of TR1). Unfortunately, these - standard containers don't consistently name types and - methods. For example, <tt>std::tr1::unordered_map</tt> uses - <tt>hasher</tt> for the hash functor, but <tt>std::map</tt> uses - <tt>key_compare</tt> for the comparison functor. Also, we could - not find an accessor for <tt>std::tr1::unordered_map</tt>'s hash - functor, but <tt>std::map</tt> uses <tt>compare</tt> for accessing - the comparison functor.</p> - -<p>Instead, <tt>pb_ds</tt> attempts to be internally consistent, and -uses standard-derived terminology if possible. -</p> - - <p>Another source of difference is in scope: <tt>pb_ds</tt> - contains more types of associative containers than the STL, and - more opportunities to configure these new containers, since - different types of associative containers are useful in different - settings (see <a href= - "assoc_performance_tests.html#dss_family_choice">Associative-Container - Performance Tests::Observations::Underlying Data-Structure - Families</a>).</p> - - <p><tt>pb_ds</tt> contains different classes for hash-based containers, - tree-based containers, trie-based containers, and list-based - containers. <a href= - "interface.html#containers_assoc">Inteface::Containers::Associative - Containers</a> lists the containers. <a href= - "hash_based_containers.html">Design::Associative - Containers::Hash-Based Containers</a>, <a href= - "tree_based_containers.html">Design::Associative - Containers::Tree-Based Containers</a>, <a href= - "trie_based_containers.html">Design::Associative - Containers::Trie-Based Containers</a>, and <a href= - "lu_based_containers.html">Design::Associative - Containers::List-Based Containers</a>, explain some more about - these types of containers, respectively.</p> - - <p>Since associative containers share parts of their interface, - they are organized as a class hierarchy; it is shown in Figure - <a href="#cd">Class hierarchy</a>.</p> - - <h6 class="c1"><a name="cd" id="cd"><img src="container_cd.png" alt= - "no image" /></a></h6> - - <h6 class="c1">Class hierarchy.</h6> - - <p>Each type or method is defined in the most-common ancestor - in which it makes sense: - <a href= - "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/testsuite/ext/pb_ds/example/basic_map.cc"><tt>basic_map.cc</tt></a> - shows an example of most of the associative-container - types.</p> - - - <p>For example, all associative containers support iteration. - Consequently, <a href= - "container_base.html"><tt>container_base</tt></a> has the - interface:</p> - <pre> -<b>template</b><...> -<b>class</b> <a href="container_base.html">container_base</a> -{ - ... - -<b>public</b>: - ... - - const_iterator - begin() <b>const</b>; - - iterator - begin(); - - const_iterator - end() <b>const</b>; - - iterator - end(); - - ... -}; -</pre> - - <p>and so all associative containers inherent this method. - Conversely, both collision-chaining and (general) probing - hash-based associative containers have a hash functor, so - <a href= - "basic_hash_table.html"><tt>basic_hash_table</tt></a> - has the interface:</p> - <pre> -<b>template</b><...> -<b>class</b> <a href="basic_hash_table.html">basic_hash_table</a> : <b>public</b> <a href="container_base.html">container_base</a> -{ - ... - -<b>public</b>: - ... - - const hash_fn& - get_hash_fn() const; - - hash_fn& - get_hash_fn(); - ... -}; -</pre> - - <p>and so all hash-based associative containers inherit the - same hash-functor accessor methods.</p> - - <p>This is discussed further in <a href= - "ds_gen.html">Design::Associative Containers::Data-Structure - Genericity</a>.</p> - - <h3><a name="assoc_policies" id="assoc_policies">Configuring - Associative Containers</a></h3> - - <p>In general, each of <tt>pb_ds</tt>'s containers is - parametrized by more policies than those of the STL's. For - example, the STL's hash-based container is parametrized as - follows:</p> - <pre> -<b>template</b>< - <b>typename</b> Key, - <b>typename</b> Mapped, - <b>typename</b> Hash, - <b>typename</b> Pred, - <b>typename</b> Allocator, - <b>bool</b> Cache_Hashe_Code> -<b>class</b> unordered_map; -</pre> - - <p>and so can be configured by key type, mapped type, a functor - that translates keys to unsigned integral types, an equivalence - predicate, an allocator, and an indicator whether to store hash - values with each entry. <tt>pb_ds</tt>'s collision-chaining - hash-based container is parametrized as</p> - <pre> -<b>template</b>< - <b>typename</b> Key, - <b>typename</b> Mapped, - <b>typename</b> Hash_Fn, - <b>typename</b> Eq_Fn, - <b>typename</b> Comb_Hash_Fn, - <b>typename</b> Resize_Policy - <b>bool</b> Store_Hash - <b>typename</b> Allocator> -<b>class</b> <a href= -"cc_hash_table.html">cc_hash_table</a>; -</pre> - - <p>and so can be configured by the first four types of - <tt>std::tr1::unordered_map</tt>, then a policy for translating - the key-hash result into a position within the table, then a - policy by which the table resizes, an indicator whether to - store hash values with each entry, and an allocator (which is - typically the last template parameter in STL containers).</p> - - <p>Nearly all policy parameters have default values, so this - need not be considered for casual use. It is important to note, - however, that hash-based containers' policies can dramatically - alter their performance in different settings, and that - tree-based containers' policies can make them useful for other - purposes than just look-up.</p> - - <p><a href="hash_based_containers.html">Design::Associative - Containers::Hash-Based Containers</a>, <a href= - "tree_based_containers.html">Design::Associative - Containers::Tree-Based Containers</a>, <a href= - "trie_based_containers.html">Design::Associative - Containers::Trie-Based Containers</a>, and <a href= - "lu_based_containers.html">Design::Associative - Containers::List-Based Containers</a>, explain some more about - configuring hash based, tree based, trie based, and list base - containers, respectively. <a href= - "interface.html#ds_policy_classes">Interface::Container Policy - Classes</a> shows the different policy classes for configuring - associative containers. <a href= - "assoc_examples.html#hash_based">Examples::Hash-Based - Containers</a>, <a href= - "assoc_examples.html#tree_like_based">Examples::Tree-Like-Based - Containers</a>, and <a href= - "assoc_examples.html#trie_based">Examples::Trie-Based - Containers</a> show examples for this.</p> - - <h3><a name="assoc_ds_gen" id="assoc_ds_gen">Determining - Containers' Attributes</a></h3> - - <p>Associative-containers' underlying data structures obviously - affect their performance; Unfortunately, they can also affect - their interface. When manipulating generically associative - containers, it is often useful to be able to statically - determine what they can support and what the cannot. (This was - discussed in <a href= - "motivation.html#assoc_ds_genericity">Motivation::Associative - Containers::Data-Structure Genericity</a>.)</p> - - <p>Happily, the STL provides a good solution to a similar - problem - that of the different behavior of iterators. If - <tt>It</tt> is an iterator, then</p> - <pre> -<b>typename</b> std::iterator_traits<It>::iterator_category -</pre> - - <p>is one of a small number of pre-defined - <tt><b>struct</b></tt>s, and,</p> - <pre> -<b>typename</b> std::iterator_traits<It>::value_type -</pre> - - <p>is the value type to which the iterator "points".</p> - - <p>Similarly, in <tt>pb_ds</tt>, if <tt>C</tt> is an - associative container, then</p> - <pre> -<b>typename</b> <a href= -"assoc_container_traits.html"><tt>container_traits</tt></a><C>::container_category -</pre>is one of a small number of pre-defined -<tt><b>struct</b></tt>s, each one corresponding to a class in -Figure <a href="#cd">Class hierarchy</a>. These tags are listed in -<a href="interface.html#ds_ts_assoc">Interface::Associative -Containers::Data-Structure Tags and Traits::Data-Structure -Tags::Associative-Containers</a>; <a href="ds_gen.html#container_traits"> - Design::Associative Containers::Data-Structure Tags and - Traits</a> explains this further; <a href= - "ds_gen.html#tag_cd">Design::Associative - Containers::Data-Structure Tags and Traits::Data-structure tag - class hierarchy</a> shows a class diagram. - - <p>In most cases, however, the exact underlying data structure - is not really important, but only one of its attributes: - whether it guarantees storing elements by key order, for - example. For this one can use</p> - <pre> -<b>typename</b> <a href= -"assoc_container_traits.html"><tt>container_traits</tt></a><C>::order_preserving -</pre> - - <p>This is described further in <a href= - "ds_gen.html">Design::Data-Structure Genericity</a>; <a href= - "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/testsuite/ext/pb_ds/example/assoc_container_traits.cc"><tt>assoc_container_traits.cc</tt></a> - shows an example of querying containers' attributes.</p> - - <h3><a name="assoc_find_range" id="assoc_find_range">Point-Type - and Range-Type Methods and Iterators</a></h3>(This subsection - addresses points from <a href= - "motivation.html#assoc_diff_it">Motivation::Associative - Containers::Differentiating between Iterator Types</a>.) - - <p><tt>pb_ds</tt> differentiates between two types of methods - and iterators: point-type, and range-type. For example, - <tt>find</tt> and <tt>insert</tt> are point-type methods, since - they each deal with a specific element; their returned - iterators are point-type iterators. <tt>begin</tt> and - <tt>end</tt> are range-type methods, since they are not used to - find a specific element, but rather to go over all elements in - a container object; their returned iterators are range-type - iterators.</p> - - <p>Most containers store elements in an order that is - determined by their interface. Correspondingly, it is fine that - their point-type iterators are synonymous with their range-type - iterators. For example, in the following snippet</p> - <pre> -std::for_each(c.find(1), c.find(5), foo); -</pre>two point-type iterators (returned by <tt>find</tt>) are used -for a range-type purpose - going over all elements whose key is -between 1 and 5. - - <p>Conversely, the above snippet makes no sense for - self-organizing containers - ones that order (and reorder) - their elements by implementation. It would be nice to have a - uniform iterator system that would allow the above snippet to - compile only if it made sense.</p> - - <p>This could trivially be done by specializing - <tt>std::for_each</tt> for the case of iterators returned by - <tt>std::tr1::unordered_map</tt>, but this would only solve the - problem for one algorithm and one container. Fundamentally, the - problem is that one can loop using a self-organizing - container's point-type iterators.</p> - - <p><tt>pb_ds</tt>'s containers define two families of - iterators: <tt>const_point_iterator</tt> and - <tt>point_iterator</tt> are the iterator types returned by - point-type methods; <tt>const_iterator</tt> and - <tt>iterator</tt> are the iterator types returned by range-type - methods.</p> - <pre> -<b>class</b> <i><- some container -></i> -{ -<b>public</b>: - ... - - <b>typedef</b> <i><- something -></i> const_iterator; - - <b>typedef</b> <i><- something -></i> iterator; - - <b>typedef</b> <i><- something -></i> const_point_iterator; - - <b>typedef</b> <i><- something -></i> point_iterator; - - ... - -<b>public</b>: - ... - - const_iterator begin () <b>const</b>; - - iterator begin(); - - const_point_iterator find(...) <b>const</b>; - - point_iterator find(...); -}; -</pre> - - <p><a href="ds_gen.html#find_range">Design::Associative - Containers::Data-Structure Genericity::Point-Type and - Range-Type Methods and Iterators</a> discusses the relationship - between point-type and range-type iterators in general; for - containers whose interface defines sequence order, however, it - is very simple: point-type and range-type iterators are exactly - the same, which means that the above snippet will compile if it - is used for an order-preserving associative container.</p> - - <p>For self-organizing containers, however, (hash-based - containers as a special example), the preceding snippet will - not compile, because their point-type iterators do not support - <tt><b>operator</b>++</tt>.</p> - - <p>In any case, both for order-preserving and self-organizing - containers, the following snippet will compile:</p> - <pre> -<b>typename</b> Cntnr::point_iterator it = c.find(2); -</pre> - - <p>because a range-type iterator can always be converted to a - point-type iterator.</p> - - <p><a href="ds_gen.html#find_range">Design::Associative - Containers::Data-Structure Genericity::Point-Type and - Range-Type Methods and Iterators</a> discusses this - further.</p> - - <p><a href= - "motivation.html#assoc_diff_it">Motivation::Associative - Containers::Differentiating between Iterator Types</a> also - raised the point that a container's iterators might have - different invalidation rules concerning their de-referencing - abilities and movement abilities. This now corresponds exactly - to the question of whether point-type and range-type iterators - are valid. As explained in <a href="#assoc_ds_gen">Determining - Containers' Attributes</a>, <a href= - "assoc_container_traits.html"><tt>container_traits</tt></a> allows - querying a container for its data structure attributes. The - iterator-invalidation guarantees are certainly a property of - the underlying data structure, and so</p> - <pre> -<a href= -"assoc_container_traits.html">container_traits</a><C>::invalidation_guarantee -</pre> - - <p>gives one of three pre-determined types that answer this - query. This is explained further in <a href= - "ds_gen.html#find_range">Design::Associative - Containers::Data-Structure Genericity::Point-Type and - Range-Type Methods and Iterators</a>.</p> - - <h3><a name="assoc_ms" id="assoc_ms">Distinguishing between Maps and Sets</a></h3> - - <p>Anyone familiar with the STL knows that there are four kinds - of associative containers: maps, sets, multimaps, and - multisets. <a href="#assoc_basic">Basic Use</a> discussed how - to use maps, <i>i.e.</i> containers that associate each key to - some data.</p> - - <p>Sets are associative containers that simply store keys - - they do not map them to anything. In the STL, each map class - has a corresponding set class. <i>E.g.</i>, - <tt>std::map<<b>int</b>, <b>char</b>></tt> maps each - <tt><b>int</b></tt> to a <tt><b>char</b></tt>, but - <tt>std::set<<b>int</b>, <b>char</b>></tt> simply stores - <tt><b>int</b></tt>s. In <tt>pb_ds</tt>, however, there are no - distinct classes for maps and sets. Instead, an associative - container's <tt>Mapped</tt> template parameter is a policy: if - it is instantiated by <a href= - "null_mapped_type.html"><tt>null_mapped_type</tt></a>, then it - is a "set"; otherwise, it is a "map". <i>E.g.</i>,</p> - <pre> -<a href="cc_hash_table.html">cc_hash_table</a><<b>int</b>, <b>char</b>> -</pre>is a "map" mapping each <tt><b>int</b></tt> value to a <tt> - <b>char</b></tt>, but - <pre> -<a href="cc_hash_table.html">cc_hash_table</a><<b>int</b>, <a href="null_mapped_type.html">null_mapped_type</a>> -</pre>is a type that uniquely stores <tt><b>int</b></tt> values. - - <p>Once the <tt>Mapped</tt> template parameter is instantiated - by <a href="null_mapped_type.html">null_mapped_type</a>, then - the "set" acts very similarly to the STL's sets - it does not - map each key to a distinct <a href= - "null_mapped_type.html">null_mapped_type</a> object. Also, - , the container's <tt>value_type</tt> is essentially - its <tt>key_type</tt> - just as with the STL's sets. For a simple example, see <a href= - "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/testsuite/ext/pb_ds/example/basic_set.cc"><tt>basic_set.cc</tt></a> - .</p> - - <p>The STL's multimaps and multisets allow, respectively, - non-uniquely mapping keys and non-uniquely storing keys. As - discussed in <a href= - "motivation.html#assoc_mapping_semantics">Motivation::Associative - Containers::Alternative to Multiple Equivalent Keys</a>, the - reasons why this might be necessary are 1) that a key might be - decomposed into a primary key and a secondary key, 2) that a - key might appear more than once, or 3) any arbitrary - combination of 1)s and 2)s. Correspondingly, - one should use 1) "maps" mapping primary keys to secondary - keys, 2) "maps" mapping keys to size types, or 3) any arbitrary - combination of 1)s and 2)s. Thus, for example, an - <tt>std::multiset<<b>int</b>></tt> might be used to store - multiple instances of integers, but using <tt>pb_ds</tt>'s - containers, one might use</p> - <pre> -<a href= -"tree.html">tree</a><<b>int</b>, size_t> -</pre><i>i.e.</i>, a "map" of <tt><b>int</b></tt>s to -<tt>size_t</tt>s. - - <p><a href="assoc_examples.html#mmaps">Associative-Container - Examples::"Multimaps" and "Multisets"</a> shows some simple - examples.</p> - - <p>These "multimaps" and "multisets" might be confusing to - anyone familiar with the STL's <tt>std::multimap</tt> and - <tt>std::multiset</tt>, because there is no clear - correspondence between the two. For example, in some cases - where one uses <tt>std::multiset</tt> in the STL, one might use - in <tt>pb_ds</tt> a "multimap" of "multisets" - <i>i.e.</i>, a - container that maps primary keys each to an associative - container that maps each secondary key to the number of times - it occurs.</p> - - <p>When one uses a "multimap," one should choose with care the - type of container used for secondary keys. This is further - explained in <a href= - "assoc_performance_tests.html#msc">Associative-Container - Performance Tests::Observations::Mapping-Semantics - Considerations</a>.</p> - -<hr> - <h2><a name="pq" id="pq">Priority Queues</a></h2> - - <h3><a name="pq_basic" id="pq_basic">Basic Use</a></h3> - - <p><tt>pb_ds</tt>'s priority_queue container is - similar to the STL's in interface. For example:</p> - <pre> -<a href= -"priority_queue.html">priority_queue</a><<b>int</b>> p; - -p.push(2); -p.push(4); -p.push(1); - -assert(p.top() == 4); - -p.pop(); - -assert(p.top() == 2); - -assert(p.size() == 2); -assert(!p.empty()); -</pre> - - <h3><a name="pq_policies" id="pq_policies">Configuring Priority - Queues</a></h3> - - <p>As opposed to associative containers, priority queues have - relatively few configuration options. The priority queue is - parametrized as follows:</p> - <pre> -<b>template</b>< - <b>typename</b> Value_Type, - <b>typename</b> Cmp_Fn, - <b>typename</b> Tag, - <b>typename</b> Allocator> -<b>class</b> <a href="priority_queue.html">priority_queue</a>; -</pre> - - <p>The <tt>Value_Type</tt>, <tt>Cmp_Fn</tt>, and - <tt>Allocator</tt> parameters are the container's value type, - comparison-functor type, and allocator type, respectively; - these are very similar to the STL's priority queue. The - <tt>Tag</tt> parameter is different: there are a number of - pre-defined tag types corresponding to binary heaps, binomial - heaps, <i>etc.</i>, and <tt>Tag</tt> should be instantiated - by one of them. <a href= - "interface.html#ds_ts_pq">Interface::Data-Structure Tags and - Traits::Data Structure Tags::Priority-Queues</a> lists the - possible types, <a href="pq_design.html">Priority-Queue - Design</a> explains this further, and <a href= - "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/testsuite/ext/pb_ds/example/basic_priority_queue.cc"><tt>basic_priority_queue.cc</tt></a> - shows an example.</p> - - <p>Note that as opposed to the STL's priority queue, <a href= - "priority_queue.html"><tt>priority_queue</tt></a> is not a - sequence-adapter; it is a regular container.</p> - - <h3><a name="pq_ds_more_ops" id="pq_ds_more_ops">Supporting - More Operations</a></h3> - - <p><a href="priority_queue.html"><tt>priority_queue</tt></a>'s - <tt>push</tt> method returns a point-type iterator, which can - be used for modifying or erasing arbitrary values. For - example:</p> - <pre> -<a href= -"priority_queue.html">priority_queue</a><<b>int</b>> p; - -<a href= -"priority_queue.html">priority_queue</a><<b>int</b>>::point_iterator it = p.push(3); - -p.modify(it, 4); -</pre> - - <p>These types of operations are necessary for making priority - queues useful for different applications, especially graph - applications. <a href="pq_examples.html#xref">Priority-Queue - Examples::Cross-Referencing</a> gives some examples.</p> - - <h3><a name="pq_ds_gen" id="pq_ds_gen">Determining Container - Attributes</a></h3> - - <p>Similarly to <a href= - "assoc_container_traits.html"><tt>container_traits</tt></a> (described - in <a href="#assoc_ds_gen">Associative Containers::Determining - Containers' Attributes</a>), <a href= - "pq_container_traits.html"><tt>container_traits</tt></a> can be used to - statically determine priority-queues' attributes:</p> - <pre> -<a href= -"pq_container_traits.html">container_traits</a><C>::container_category -</pre>is one of a small number of predefined tag structures that -identifies the underlying data structure, and - <pre> -<a href= -"pq_container_traits.html">container_traits</a><C>::invalidation_guarantee -</pre> - - <p>is its invalidation guarantee. Invalidation guarantees are - especially important regarding priority queues, since in - <tt>pb_ds</tt>'s design, iterators are practically the only way - to manipulate them.</p> - - <p><a href="pq_design.html#pq_traits">Design::Priority - Queues::Traits</a> discusses this further. <a href= - "pq_examples.html#generics">Priority-Queue - Examples::Generics</a> shows an example.</p> - </div> -</body> -</html> diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/update_policy_cd.png b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/update_policy_cd.png Binary files differdeleted file mode 100644 index 115a751c3..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/update_policy_cd.png +++ /dev/null diff --git a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/update_seq_diagram.png b/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/update_seq_diagram.png Binary files differdeleted file mode 100644 index 880a50edf..000000000 --- a/gcc-4.4.3/libstdc++-v3/doc/html/ext/pb_ds/update_seq_diagram.png +++ /dev/null |