1 <?xml version=
"1.0" encoding=
"UTF-8" standalone=
"no"?>
2 <!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 http-equiv=
"Content-Type" content=
"text/html; charset=UTF-8" /><title>Part III. Extensions
</title><meta name=
"generator" content=
"DocBook XSL-NS Stylesheets V1.78.1" /><meta name=
"keywords" content=
"ISO C++, library" /><meta name=
"keywords" content=
"ISO C++, runtime, library" /><link rel=
"home" href=
"../index.html" title=
"The GNU C++ Library" /><link rel=
"up" href=
"index.html" title=
"The GNU C++ Library Manual" /><link rel=
"prev" href=
"io_and_c.html" title=
"Interacting with C" /><link rel=
"next" href=
"ext_preface.html" title=
"" /></head><body><div class=
"navheader"><table width=
"100%" summary=
"Navigation header"><tr><th colspan=
"3" align=
"center">Part III.
5 </th></tr><tr><td width=
"20%" align=
"left"><a accesskey=
"p" href=
"io_and_c.html">Prev
</a> </td><th width=
"60%" align=
"center">The GNU C++ Library Manual
</th><td width=
"20%" align=
"right"> <a accesskey=
"n" href=
"ext_preface.html">Next
</a></td></tr></table><hr /></div><div class=
"part"><div class=
"titlepage"><div><div><h1 class=
"title"><a id=
"manual.ext"></a>Part III.
7 <a id=
"idm140623070461088" class=
"indexterm"></a>
8 </h1></div></div></div><div class=
"toc"><p><strong>Table of Contents
</strong></p><dl class=
"toc"><dt><span class=
"preface"><a href=
"ext_preface.html"></a></span></dt><dt><span class=
"chapter"><a href=
"ext_compile_checks.html">16. Compile Time Checks
</a></span></dt><dt><span class=
"chapter"><a href=
"debug_mode.html">17. Debug Mode
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"debug_mode.html#manual.ext.debug_mode.intro">Intro
</a></span></dt><dt><span class=
"section"><a href=
"debug_mode_semantics.html">Semantics
</a></span></dt><dt><span class=
"section"><a href=
"debug_mode_using.html">Using
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"debug_mode_using.html#debug_mode.using.mode">Using the Debug Mode
</a></span></dt><dt><span class=
"section"><a href=
"debug_mode_using.html#debug_mode.using.specific">Using a Specific Debug Container
</a></span></dt></dl></dd><dt><span class=
"section"><a href=
"debug_mode_design.html">Design
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"debug_mode_design.html#debug_mode.design.goals">Goals
</a></span></dt><dt><span class=
"section"><a href=
"debug_mode_design.html#debug_mode.design.methods">Methods
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"debug_mode_design.html#debug_mode.design.methods.wrappers">The Wrapper Model
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"debug_mode_design.html#debug_mode.design.methods.safe_iter">Safe Iterators
</a></span></dt><dt><span class=
"section"><a href=
"debug_mode_design.html#debug_mode.design.methods.safe_seq">Safe Sequences (Containers)
</a></span></dt></dl></dd><dt><span class=
"section"><a href=
"debug_mode_design.html#debug_mode.design.methods.precond">Precondition Checking
</a></span></dt><dt><span class=
"section"><a href=
"debug_mode_design.html#debug_mode.design.methods.coexistence">Release- and debug-mode coexistence
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"debug_mode_design.html#methods.coexistence.compile">Compile-time coexistence of release- and debug-mode components
</a></span></dt><dt><span class=
"section"><a href=
"debug_mode_design.html#methods.coexistence.link">Link- and run-time coexistence of release- and
9 debug-mode components
</a></span></dt><dt><span class=
"section"><a href=
"debug_mode_design.html#methods.coexistence.alt">Alternatives for Coexistence
</a></span></dt></dl></dd></dl></dd><dt><span class=
"section"><a href=
"debug_mode_design.html#debug_mode.design.other">Other Implementations
</a></span></dt></dl></dd></dl></dd><dt><span class=
"chapter"><a href=
"parallel_mode.html">18. Parallel Mode
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"parallel_mode.html#manual.ext.parallel_mode.intro">Intro
</a></span></dt><dt><span class=
"section"><a href=
"parallel_mode_semantics.html">Semantics
</a></span></dt><dt><span class=
"section"><a href=
"parallel_mode_using.html">Using
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"parallel_mode_using.html#parallel_mode.using.prereq_flags">Prerequisite Compiler Flags
</a></span></dt><dt><span class=
"section"><a href=
"parallel_mode_using.html#parallel_mode.using.parallel_mode">Using Parallel Mode
</a></span></dt><dt><span class=
"section"><a href=
"parallel_mode_using.html#parallel_mode.using.specific">Using Specific Parallel Components
</a></span></dt></dl></dd><dt><span class=
"section"><a href=
"parallel_mode_design.html">Design
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"parallel_mode_design.html#parallel_mode.design.intro">Interface Basics
</a></span></dt><dt><span class=
"section"><a href=
"parallel_mode_design.html#parallel_mode.design.tuning">Configuration and Tuning
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"parallel_mode_design.html#parallel_mode.design.tuning.omp">Setting up the OpenMP Environment
</a></span></dt><dt><span class=
"section"><a href=
"parallel_mode_design.html#parallel_mode.design.tuning.compile">Compile Time Switches
</a></span></dt><dt><span class=
"section"><a href=
"parallel_mode_design.html#parallel_mode.design.tuning.settings">Run Time Settings and Defaults
</a></span></dt></dl></dd><dt><span class=
"section"><a href=
"parallel_mode_design.html#parallel_mode.design.impl">Implementation Namespaces
</a></span></dt></dl></dd><dt><span class=
"section"><a href=
"parallel_mode_test.html">Testing
</a></span></dt><dt><span class=
"bibliography"><a href=
"parallel_mode.html#parallel_mode.biblio">Bibliography
</a></span></dt></dl></dd><dt><span class=
"chapter"><a href=
"profile_mode.html">19. Profile Mode
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"profile_mode.html#manual.ext.profile_mode.intro">Intro
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"profile_mode.html#manual.ext.profile_mode.using">Using the Profile Mode
</a></span></dt><dt><span class=
"section"><a href=
"profile_mode.html#manual.ext.profile_mode.tuning">Tuning the Profile Mode
</a></span></dt></dl></dd><dt><span class=
"section"><a href=
"profile_mode_design.html">Design
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"profile_mode_design.html#manual.ext.profile_mode.design.wrapper">Wrapper Model
</a></span></dt><dt><span class=
"section"><a href=
"profile_mode_design.html#manual.ext.profile_mode.design.instrumentation">Instrumentation
</a></span></dt><dt><span class=
"section"><a href=
"profile_mode_design.html#manual.ext.profile_mode.design.rtlib">Run Time Behavior
</a></span></dt><dt><span class=
"section"><a href=
"profile_mode_design.html#manual.ext.profile_mode.design.analysis">Analysis and Diagnostics
</a></span></dt><dt><span class=
"section"><a href=
"profile_mode_design.html#manual.ext.profile_mode.design.cost-model">Cost Model
</a></span></dt><dt><span class=
"section"><a href=
"profile_mode_design.html#manual.ext.profile_mode.design.reports">Reports
</a></span></dt><dt><span class=
"section"><a href=
"profile_mode_design.html#manual.ext.profile_mode.design.testing">Testing
</a></span></dt></dl></dd><dt><span class=
"section"><a href=
"profile_mode_api.html">Extensions for Custom Containers
</a></span></dt><dt><span class=
"section"><a href=
"profile_mode_cost_model.html">Empirical Cost Model
</a></span></dt><dt><span class=
"section"><a href=
"profile_mode_impl.html">Implementation Issues
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"profile_mode_impl.html#manual.ext.profile_mode.implementation.stack">Stack Traces
</a></span></dt><dt><span class=
"section"><a href=
"profile_mode_impl.html#manual.ext.profile_mode.implementation.symbols">Symbolization of Instruction Addresses
</a></span></dt><dt><span class=
"section"><a href=
"profile_mode_impl.html#manual.ext.profile_mode.implementation.concurrency">Concurrency
</a></span></dt><dt><span class=
"section"><a href=
"profile_mode_impl.html#manual.ext.profile_mode.implementation.stdlib-in-proflib">Using the Standard Library in the Instrumentation Implementation
</a></span></dt><dt><span class=
"section"><a href=
"profile_mode_impl.html#manual.ext.profile_mode.implementation.malloc-hooks">Malloc Hooks
</a></span></dt><dt><span class=
"section"><a href=
"profile_mode_impl.html#manual.ext.profile_mode.implementation.construction-destruction">Construction and Destruction of Global Objects
</a></span></dt></dl></dd><dt><span class=
"section"><a href=
"profile_mode_devel.html">Developer Information
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"profile_mode_devel.html#manual.ext.profile_mode.developer.bigpic">Big Picture
</a></span></dt><dt><span class=
"section"><a href=
"profile_mode_devel.html#manual.ext.profile_mode.developer.howto">How To Add A Diagnostic
</a></span></dt></dl></dd><dt><span class=
"section"><a href=
"profile_mode_diagnostics.html">Diagnostics
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"profile_mode_diagnostics.html#manual.ext.profile_mode.analysis.template">Diagnostic Template
</a></span></dt><dt><span class=
"section"><a href=
"profile_mode_diagnostics.html#manual.ext.profile_mode.analysis.containers">Containers
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"profile_mode_diagnostics.html#manual.ext.profile_mode.analysis.hashtable_too_small">Hashtable Too Small
</a></span></dt><dt><span class=
"section"><a href=
"profile_mode_diagnostics.html#manual.ext.profile_mode.analysis.hashtable_too_large">Hashtable Too Large
</a></span></dt><dt><span class=
"section"><a href=
"profile_mode_diagnostics.html#manual.ext.profile_mode.analysis.inefficient_hash">Inefficient Hash
</a></span></dt><dt><span class=
"section"><a href=
"profile_mode_diagnostics.html#manual.ext.profile_mode.analysis.vector_too_small">Vector Too Small
</a></span></dt><dt><span class=
"section"><a href=
"profile_mode_diagnostics.html#manual.ext.profile_mode.analysis.vector_too_large">Vector Too Large
</a></span></dt><dt><span class=
"section"><a href=
"profile_mode_diagnostics.html#manual.ext.profile_mode.analysis.vector_to_hashtable">Vector to Hashtable
</a></span></dt><dt><span class=
"section"><a href=
"profile_mode_diagnostics.html#manual.ext.profile_mode.analysis.hashtable_to_vector">Hashtable to Vector
</a></span></dt><dt><span class=
"section"><a href=
"profile_mode_diagnostics.html#manual.ext.profile_mode.analysis.vector_to_list">Vector to List
</a></span></dt><dt><span class=
"section"><a href=
"profile_mode_diagnostics.html#manual.ext.profile_mode.analysis.list_to_vector">List to Vector
</a></span></dt><dt><span class=
"section"><a href=
"profile_mode_diagnostics.html#manual.ext.profile_mode.analysis.list_to_slist">List to Forward List (Slist)
</a></span></dt><dt><span class=
"section"><a href=
"profile_mode_diagnostics.html#manual.ext.profile_mode.analysis.assoc_ord_to_unord">Ordered to Unordered Associative Container
</a></span></dt></dl></dd><dt><span class=
"section"><a href=
"profile_mode_diagnostics.html#manual.ext.profile_mode.analysis.algorithms">Algorithms
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"profile_mode_diagnostics.html#manual.ext.profile_mode.analysis.algorithms.sort">Sort Algorithm Performance
</a></span></dt></dl></dd><dt><span class=
"section"><a href=
"profile_mode_diagnostics.html#manual.ext.profile_mode.analysis.locality">Data Locality
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"profile_mode_diagnostics.html#manual.ext.profile_mode.analysis.locality.sw_prefetch">Need Software Prefetch
</a></span></dt><dt><span class=
"section"><a href=
"profile_mode_diagnostics.html#manual.ext.profile_mode.analysis.locality.linked">Linked Structure Locality
</a></span></dt></dl></dd><dt><span class=
"section"><a href=
"profile_mode_diagnostics.html#manual.ext.profile_mode.analysis.mthread">Multithreaded Data Access
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"profile_mode_diagnostics.html#manual.ext.profile_mode.analysis.mthread.ddtest">Data Dependence Violations at Container Level
</a></span></dt><dt><span class=
"section"><a href=
"profile_mode_diagnostics.html#manual.ext.profile_mode.analysis.mthread.false_share">False Sharing
</a></span></dt></dl></dd><dt><span class=
"section"><a href=
"profile_mode_diagnostics.html#manual.ext.profile_mode.analysis.statistics">Statistics
</a></span></dt></dl></dd><dt><span class=
"bibliography"><a href=
"profile_mode.html#profile_mode.biblio">Bibliography
</a></span></dt></dl></dd><dt><span class=
"chapter"><a href=
"mt_allocator.html">20. The mt_allocator
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"mt_allocator.html#allocator.mt.intro">Intro
</a></span></dt><dt><span class=
"section"><a href=
"mt_allocator_design.html">Design Issues
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"mt_allocator_design.html#allocator.mt.overview">Overview
</a></span></dt></dl></dd><dt><span class=
"section"><a href=
"mt_allocator_impl.html">Implementation
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"mt_allocator_impl.html#allocator.mt.tune">Tunable Parameters
</a></span></dt><dt><span class=
"section"><a href=
"mt_allocator_impl.html#allocator.mt.init">Initialization
</a></span></dt><dt><span class=
"section"><a href=
"mt_allocator_impl.html#allocator.mt.deallocation">Deallocation Notes
</a></span></dt></dl></dd><dt><span class=
"section"><a href=
"mt_allocator_ex_single.html">Single Thread Example
</a></span></dt><dt><span class=
"section"><a href=
"mt_allocator_ex_multi.html">Multiple Thread Example
</a></span></dt></dl></dd><dt><span class=
"chapter"><a href=
"bitmap_allocator.html">21. The bitmap_allocator
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"bitmap_allocator.html#allocator.bitmap.design">Design
</a></span></dt><dt><span class=
"section"><a href=
"bitmap_allocator_impl.html">Implementation
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"bitmap_allocator_impl.html#bitmap.impl.free_list_store">Free List Store
</a></span></dt><dt><span class=
"section"><a href=
"bitmap_allocator_impl.html#bitmap.impl.super_block">Super Block
</a></span></dt><dt><span class=
"section"><a href=
"bitmap_allocator_impl.html#bitmap.impl.super_block_data">Super Block Data Layout
</a></span></dt><dt><span class=
"section"><a href=
"bitmap_allocator_impl.html#bitmap.impl.max_wasted">Maximum Wasted Percentage
</a></span></dt><dt><span class=
"section"><a href=
"bitmap_allocator_impl.html#bitmap.impl.allocate"><code class=
"function">allocate
</code></a></span></dt><dt><span class=
"section"><a href=
"bitmap_allocator_impl.html#bitmap.impl.deallocate"><code class=
"function">deallocate
</code></a></span></dt><dt><span class=
"section"><a href=
"bitmap_allocator_impl.html#bitmap.impl.questions">Questions
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"bitmap_allocator_impl.html#bitmap.impl.question.1">1</a></span></dt><dt><span class=
"section"><a href=
"bitmap_allocator_impl.html#bitmap.impl.question.2">2</a></span></dt><dt><span class=
"section"><a href=
"bitmap_allocator_impl.html#bitmap.impl.question.3">3</a></span></dt></dl></dd><dt><span class=
"section"><a href=
"bitmap_allocator_impl.html#bitmap.impl.locality">Locality
</a></span></dt><dt><span class=
"section"><a href=
"bitmap_allocator_impl.html#bitmap.impl.grow_policy">Overhead and Grow Policy
</a></span></dt></dl></dd></dl></dd><dt><span class=
"chapter"><a href=
"policy_data_structures.html">22. Policy-Based Data Structures
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"policy_data_structures.html#pbds.intro">Intro
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"policy_data_structures.html#pbds.intro.issues">Performance Issues
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"policy_data_structures.html#pbds.intro.issues.associative">Associative
</a></span></dt><dt><span class=
"section"><a href=
"policy_data_structures.html#pbds.intro.issues.priority_queue">Priority Que
</a></span></dt></dl></dd><dt><span class=
"section"><a href=
"policy_data_structures.html#pbds.intro.motivation">Goals
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"policy_data_structures.html#pbds.intro.motivation.associative">Associative
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"policy_data_structures.html#motivation.associative.policy">Policy Choices
</a></span></dt><dt><span class=
"section"><a href=
"policy_data_structures.html#motivation.associative.underlying">Underlying Data Structures
</a></span></dt><dt><span class=
"section"><a href=
"policy_data_structures.html#motivation.associative.iterators">Iterators
</a></span></dt><dt><span class=
"section"><a href=
"policy_data_structures.html#motivation.associative.functions">Functional
</a></span></dt></dl></dd><dt><span class=
"section"><a href=
"policy_data_structures.html#pbds.intro.motivation.priority_queue">Priority Queues
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"policy_data_structures.html#motivation.priority_queue.policy">Policy Choices
</a></span></dt><dt><span class=
"section"><a href=
"policy_data_structures.html#motivation.priority_queue.underlying">Underlying Data Structures
</a></span></dt><dt><span class=
"section"><a href=
"policy_data_structures.html#motivation.priority_queue.binary_heap">Binary Heaps
</a></span></dt></dl></dd></dl></dd></dl></dd><dt><span class=
"section"><a href=
"policy_data_structures_using.html">Using
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"policy_data_structures_using.html#pbds.using.prereq">Prerequisites
</a></span></dt><dt><span class=
"section"><a href=
"policy_data_structures_using.html#pbds.using.organization">Organization
</a></span></dt><dt><span class=
"section"><a href=
"policy_data_structures_using.html#pbds.using.tutorial">Tutorial
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"policy_data_structures_using.html#pbds.using.tutorial.basic">Basic Use
</a></span></dt><dt><span class=
"section"><a href=
"policy_data_structures_using.html#pbds.using.tutorial.configuring">
10 Configuring via Template Parameters
11 </a></span></dt><dt><span class=
"section"><a href=
"policy_data_structures_using.html#pbds.using.tutorial.traits">
12 Querying Container Attributes
13 </a></span></dt><dt><span class=
"section"><a href=
"policy_data_structures_using.html#pbds.using.tutorial.point_range_iteration">
14 Point and Range Iteration
15 </a></span></dt></dl></dd><dt><span class=
"section"><a href=
"policy_data_structures_using.html#pbds.using.examples">Examples
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"policy_data_structures_using.html#pbds.using.examples.basic">Intermediate Use
</a></span></dt><dt><span class=
"section"><a href=
"policy_data_structures_using.html#pbds.using.examples.query">Querying with
<code class=
"classname">container_traits
</code> </a></span></dt><dt><span class=
"section"><a href=
"policy_data_structures_using.html#pbds.using.examples.container">By Container Method
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"policy_data_structures_using.html#pbds.using.examples.container.hash">Hash-Based
</a></span></dt><dt><span class=
"section"><a href=
"policy_data_structures_using.html#pbds.using.examples.container.branch">Branch-Based
</a></span></dt><dt><span class=
"section"><a href=
"policy_data_structures_using.html#pbds.using.examples.container.priority_queue">Priority Queues
</a></span></dt></dl></dd></dl></dd></dl></dd><dt><span class=
"section"><a href=
"policy_data_structures_design.html">Design
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"policy_data_structures_design.html#pbds.design.concepts">Concepts
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"policy_data_structures_design.html#pbds.design.concepts.null_type">Null Policy Classes
</a></span></dt><dt><span class=
"section"><a href=
"policy_data_structures_design.html#pbds.design.concepts.associative_semantics">Map and Set Semantics
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"policy_data_structures_design.html#concepts.associative_semantics.set_vs_map">
16 Distinguishing Between Maps and Sets
17 </a></span></dt><dt><span class=
"section"><a href=
"policy_data_structures_design.html#concepts.associative_semantics.multi">Alternatives to
<code class=
"classname">std::multiset
</code> and
<code class=
"classname">std::multimap
</code></a></span></dt></dl></dd><dt><span class=
"section"><a href=
"policy_data_structures_design.html#pbds.design.concepts.iterator_semantics">Iterator Semantics
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"policy_data_structures_design.html#concepts.iterator_semantics.point_and_range">Point and Range Iterators
</a></span></dt><dt><span class=
"section"><a href=
"policy_data_structures_design.html#concepts.iterator_semantics.both">Distinguishing Point and Range Iterators
</a></span></dt><dt><span class=
"section"><a href=
"policy_data_structures_design.html#pbds.design.concepts.invalidation">Invalidation Guarantees
</a></span></dt></dl></dd><dt><span class=
"section"><a href=
"policy_data_structures_design.html#pbds.design.concepts.genericity">Genericity
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"policy_data_structures_design.html#concepts.genericity.tag">Tag
</a></span></dt><dt><span class=
"section"><a href=
"policy_data_structures_design.html#concepts.genericity.traits">Traits
</a></span></dt></dl></dd></dl></dd><dt><span class=
"section"><a href=
"policy_data_structures_design.html#pbds.design.container">By Container
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"policy_data_structures_design.html#pbds.design.container.hash">hash
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"policy_data_structures_design.html#container.hash.interface">Interface
</a></span></dt><dt><span class=
"section"><a href=
"policy_data_structures_design.html#container.hash.details">Details
</a></span></dt></dl></dd><dt><span class=
"section"><a href=
"policy_data_structures_design.html#pbds.design.container.tree">tree
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"policy_data_structures_design.html#container.tree.interface">Interface
</a></span></dt><dt><span class=
"section"><a href=
"policy_data_structures_design.html#container.tree.details">Details
</a></span></dt></dl></dd><dt><span class=
"section"><a href=
"policy_data_structures_design.html#pbds.design.container.trie">Trie
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"policy_data_structures_design.html#container.trie.interface">Interface
</a></span></dt><dt><span class=
"section"><a href=
"policy_data_structures_design.html#container.trie.details">Details
</a></span></dt></dl></dd><dt><span class=
"section"><a href=
"policy_data_structures_design.html#pbds.design.container.list">List
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"policy_data_structures_design.html#container.list.interface">Interface
</a></span></dt><dt><span class=
"section"><a href=
"policy_data_structures_design.html#container.list.details">Details
</a></span></dt></dl></dd><dt><span class=
"section"><a href=
"policy_data_structures_design.html#pbds.design.container.priority_queue">Priority Queue
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"policy_data_structures_design.html#container.priority_queue.interface">Interface
</a></span></dt><dt><span class=
"section"><a href=
"policy_data_structures_design.html#container.priority_queue.details">Details
</a></span></dt></dl></dd></dl></dd></dl></dd><dt><span class=
"section"><a href=
"policy_based_data_structures_test.html">Testing
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"policy_based_data_structures_test.html#pbds.test.regression">Regression
</a></span></dt><dt><span class=
"section"><a href=
"policy_based_data_structures_test.html#pbds.test.performance">Performance
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"policy_based_data_structures_test.html#performance.hash">Hash-Based
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"policy_based_data_structures_test.html#performance.hash.text_find">
18 Text
<code class=
"function">find
</code>
19 </a></span></dt><dt><span class=
"section"><a href=
"policy_based_data_structures_test.html#performance.hash.int_find">
20 Integer
<code class=
"function">find
</code>
21 </a></span></dt><dt><span class=
"section"><a href=
"policy_based_data_structures_test.html#performance.hash.int_subscript_find">
22 Integer Subscript
<code class=
"function">find
</code>
23 </a></span></dt><dt><span class=
"section"><a href=
"policy_based_data_structures_test.html#performance.hash.int_subscript_insert">
24 Integer Subscript
<code class=
"function">insert
</code>
25 </a></span></dt><dt><span class=
"section"><a href=
"policy_based_data_structures_test.html#performance.hash.zlob_int_find">
26 Integer
<code class=
"function">find
</code> with Skewed-Distribution
27 </a></span></dt><dt><span class=
"section"><a href=
"policy_based_data_structures_test.html#performance.hash.erase_mem">
29 </a></span></dt></dl></dd><dt><span class=
"section"><a href=
"policy_based_data_structures_test.html#performance.branch">Branch-Based
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"policy_based_data_structures_test.html#performance.branch.text_insert">
30 Text
<code class=
"function">insert
</code>
31 </a></span></dt><dt><span class=
"section"><a href=
"policy_based_data_structures_test.html#performance.branch.text_find">
32 Text
<code class=
"function">find
</code>
33 </a></span></dt><dt><span class=
"section"><a href=
"policy_based_data_structures_test.html#performance.branch.text_lor_find">
34 Text
<code class=
"function">find
</code> with Locality-of-Reference
35 </a></span></dt><dt><span class=
"section"><a href=
"policy_based_data_structures_test.html#performance.branch.split_join">
36 <code class=
"function">split
</code> and
<code class=
"function">join
</code>
37 </a></span></dt><dt><span class=
"section"><a href=
"policy_based_data_structures_test.html#performance.branch.order_statistics">
39 </a></span></dt></dl></dd><dt><span class=
"section"><a href=
"policy_based_data_structures_test.html#performance.multimap">Multimap
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"policy_based_data_structures_test.html#performance.multimap.text_find_small">
40 Text
<code class=
"function">find
</code> with Small Secondary-to-Primary Key Ratios
41 </a></span></dt><dt><span class=
"section"><a href=
"policy_based_data_structures_test.html#performance.multimap.text_find_large">
42 Text
<code class=
"function">find
</code> with Large Secondary-to-Primary Key Ratios
43 </a></span></dt><dt><span class=
"section"><a href=
"policy_based_data_structures_test.html#performance.multimap.text_insert_small">
44 Text
<code class=
"function">insert
</code> with Small
45 Secondary-to-Primary Key Ratios
46 </a></span></dt><dt><span class=
"section"><a href=
"policy_based_data_structures_test.html#performance.multimap.text_insert_large">
47 Text
<code class=
"function">insert
</code> with Small
48 Secondary-to-Primary Key Ratios
49 </a></span></dt><dt><span class=
"section"><a href=
"policy_based_data_structures_test.html#performance.multimap.text_insert_mem_small">
50 Text
<code class=
"function">insert
</code> with Small
51 Secondary-to-Primary Key Ratios Memory Use
52 </a></span></dt><dt><span class=
"section"><a href=
"policy_based_data_structures_test.html#performance.multimap.text_insert_mem_large">
53 Text
<code class=
"function">insert
</code> with Small
54 Secondary-to-Primary Key Ratios Memory Use
55 </a></span></dt></dl></dd><dt><span class=
"section"><a href=
"policy_based_data_structures_test.html#performance.priority_queue">Priority Queue
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"policy_based_data_structures_test.html#performance.priority_queue.text_push">
56 Text
<code class=
"function">push
</code>
57 </a></span></dt><dt><span class=
"section"><a href=
"policy_based_data_structures_test.html#performance.priority_queue.text_push_pop">
58 Text
<code class=
"function">push
</code> and
<code class=
"function">pop
</code>
59 </a></span></dt><dt><span class=
"section"><a href=
"policy_based_data_structures_test.html#performance.priority_queue.int_push">
60 Integer
<code class=
"function">push
</code>
61 </a></span></dt><dt><span class=
"section"><a href=
"policy_based_data_structures_test.html#performance.priority_queue.int_push_pop">
62 Integer
<code class=
"function">push
</code>
63 </a></span></dt><dt><span class=
"section"><a href=
"policy_based_data_structures_test.html#performance.priority_queue.text_pop">
64 Text
<code class=
"function">pop
</code> Memory Use
65 </a></span></dt><dt><span class=
"section"><a href=
"policy_based_data_structures_test.html#performance.priority_queue.text_join">
66 Text
<code class=
"function">join
</code>
67 </a></span></dt><dt><span class=
"section"><a href=
"policy_based_data_structures_test.html#performance.priority_queue.text_modify_up">
68 Text
<code class=
"function">modify
</code> Up
69 </a></span></dt><dt><span class=
"section"><a href=
"policy_based_data_structures_test.html#performance.priority_queue.text_modify_down">
70 Text
<code class=
"function">modify
</code> Down
71 </a></span></dt></dl></dd><dt><span class=
"section"><a href=
"policy_based_data_structures_test.html#pbds.test.performance.observations">Observations
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"policy_based_data_structures_test.html#observations.associative">Associative
</a></span></dt><dt><span class=
"section"><a href=
"policy_based_data_structures_test.html#observations.priority_queue">Priority_Queue
</a></span></dt></dl></dd></dl></dd></dl></dd><dt><span class=
"section"><a href=
"policy_data_structures_ack.html">Acknowledgments
</a></span></dt><dt><span class=
"bibliography"><a href=
"policy_data_structures.html#pbds.biblio">Bibliography
</a></span></dt></dl></dd><dt><span class=
"chapter"><a href=
"ext_containers.html">23. HP/SGI Extensions
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"ext_containers.html#manual.ext.containers.sgi">Backwards Compatibility
</a></span></dt><dt><span class=
"section"><a href=
"ext_sgi.html">Deprecated
</a></span></dt></dl></dd><dt><span class=
"chapter"><a href=
"ext_utilities.html">24. Utilities
</a></span></dt><dt><span class=
"chapter"><a href=
"ext_algorithms.html">25. Algorithms
</a></span></dt><dt><span class=
"chapter"><a href=
"ext_numerics.html">26. Numerics
</a></span></dt><dt><span class=
"chapter"><a href=
"ext_iterators.html">27. Iterators
</a></span></dt><dt><span class=
"chapter"><a href=
"ext_io.html">28. Input and Output
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"ext_io.html#manual.ext.io.filebuf_derived">Derived filebufs
</a></span></dt></dl></dd><dt><span class=
"chapter"><a href=
"ext_demangling.html">29. Demangling
</a></span></dt><dt><span class=
"chapter"><a href=
"ext_concurrency.html">30. Concurrency
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"ext_concurrency.html#manual.ext.concurrency.design">Design
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"ext_concurrency.html#manual.ext.concurrency.design.threads">Interface to Locks and Mutexes
</a></span></dt><dt><span class=
"section"><a href=
"ext_concurrency.html#manual.ext.concurrency.design.atomics">Interface to Atomic Functions
</a></span></dt></dl></dd><dt><span class=
"section"><a href=
"ext_concurrency_impl.html">Implementation
</a></span></dt><dd><dl><dt><span class=
"section"><a href=
"ext_concurrency_impl.html#manual.ext.concurrency.impl.atomic_fallbacks">Using Builtin Atomic Functions
</a></span></dt><dt><span class=
"section"><a href=
"ext_concurrency_impl.html#manual.ext.concurrency.impl.thread">Thread Abstraction
</a></span></dt></dl></dd><dt><span class=
"section"><a href=
"ext_concurrency_use.html">Use
</a></span></dt></dl></dd></dl></div></div><div class=
"navfooter"><hr /><table width=
"100%" summary=
"Navigation footer"><tr><td width=
"40%" align=
"left"><a accesskey=
"p" href=
"io_and_c.html">Prev
</a> </td><td width=
"20%" align=
"center"><a accesskey=
"u" href=
"index.html">Up
</a></td><td width=
"40%" align=
"right"> <a accesskey=
"n" href=
"ext_preface.html">Next
</a></td></tr><tr><td width=
"40%" align=
"left" valign=
"top">Interacting with C
</td><td width=
"20%" align=
"center"><a accesskey=
"h" href=
"../index.html">Home
</a></td><td width=
"40%" align=
"right" valign=
"top"> </td></tr></table></div></body></html>