1<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2<!-- Created with Inkscape (http://www.inkscape.org/) -->
3<svg
4   xmlns:dc="http://purl.org/dc/elements/1.1/"
5   xmlns:cc="http://web.resource.org/cc/"
6   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
7   xmlns:svg="http://www.w3.org/2000/svg"
8   xmlns="http://www.w3.org/2000/svg"
9   xmlns:sodipodi="http://inkscape.sourceforge.net/DTD/sodipodi-0.dtd"
10   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
11   width="11in"
12   height="8.5in"
13   id="svg2"
14   sodipodi:version="0.32"
15   inkscape:version="0.43"
16   version="1.0"
17   sodipodi:docbase="/mnt/share/src/policy_based_data_structures/current/pb_ds/doc"
18   sodipodi:docname="container_cd.svg"
19   inkscape:export-filename="/mnt/share/src/policy_based_data_structures/current/pb_ds/doc/container_cd.png"
20   inkscape:export-xdpi="90"
21   inkscape:export-ydpi="90">
22  <defs
23     id="defs4">
24    <marker
25       inkscape:stockid="Arrow1Mstart"
26       orient="auto"
27       refY="0.0"
28       refX="0.0"
29       id="Arrow1Mstart"
30       style="overflow:visible">
31      <path
32         id="path3311"
33         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 "
34         style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
35         transform="scale(0.4)" />
36    </marker>
37    <marker
38       inkscape:stockid="Arrow2Sstart"
39       orient="auto"
40       refY="0"
41       refX="0"
42       id="Arrow2Sstart"
43       style="overflow:visible">
44      <path
45         id="path3319"
46         style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
47         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 "
48         transform="matrix(0.3,0,0,0.3,-1.5,0)" />
49    </marker>
50    <marker
51       inkscape:stockid="Arrow1Sstart"
52       orient="auto"
53       refY="0"
54       refX="0"
55       id="Arrow1Sstart"
56       style="overflow:visible">
57      <path
58         id="path3337"
59         d="M 0,0 L 5,-5 L -12.5,0 L 5,5 L 0,0 z "
60         style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
61         transform="scale(0.2,0.2)" />
62    </marker>
63    <marker
64       inkscape:stockid="Arrow2Send"
65       orient="auto"
66       refY="0"
67       refX="0"
68       id="Arrow2Send"
69       style="overflow:visible">
70      <path
71         id="path3316"
72         style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
73         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 "
74         transform="matrix(-0.3,0,0,-0.3,1.5,0)" />
75    </marker>
76    <marker
77       inkscape:stockid="Arrow2Mend"
78       orient="auto"
79       refY="0"
80       refX="0"
81       id="Arrow2Mend"
82       style="overflow:visible">
83      <path
84         id="path3322"
85         style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
86         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 "
87         transform="matrix(-0.6,0,0,-0.6,3,0)" />
88    </marker>
89    <marker
90       inkscape:stockid="Arrow1Lend"
91       orient="auto"
92       refY="0"
93       refX="0"
94       id="Arrow1Lend"
95       style="overflow:visible">
96      <path
97         id="path3346"
98         d="M 0,0 L 5,-5 L -12.5,0 L 5,5 L 0,0 z "
99         style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
100         transform="scale(-0.8,-0.8)" />
101    </marker>
102    <marker
103       inkscape:stockid="Arrow2Lstart"
104       orient="auto"
105       refY="0"
106       refX="0"
107       id="Arrow2Lstart"
108       style="overflow:visible">
109      <path
110         id="path3331"
111         style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
112         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 "
113         transform="matrix(1.1,0,0,1.1,-5.5,0)" />
114    </marker>
115    <marker
116       inkscape:stockid="Arrow2Lend"
117       orient="auto"
118       refY="0"
119       refX="0"
120       id="Arrow2Lend"
121       style="overflow:visible">
122      <path
123         id="path3328"
124         style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
125         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 "
126         transform="matrix(-1.1,0,0,-1.1,5.5,0)" />
127    </marker>
128  </defs>
129  <sodipodi:namedview
130     id="base"
131     pagecolor="#ffffff"
132     bordercolor="#666666"
133     borderopacity="1.0"
134     inkscape:pageopacity="0.0"
135     inkscape:pageshadow="2"
136     inkscape:zoom="2"
137     inkscape:cx="396.81316"
138     inkscape:cy="280"
139     inkscape:document-units="in"
140     inkscape:current-layer="layer1"
141     showguides="true"
142     inkscape:guide-bbox="true"
143     inkscape:window-width="1278"
144     inkscape:window-height="973"
145     inkscape:window-x="0"
146     inkscape:window-y="0"
147     gridtolerance="0.125in"
148     guidetolerance="0.125in">
149    <sodipodi:guide
150       orientation="horizontal"
151       position="629"
152       id="guide1307" />
153    <sodipodi:guide
154       orientation="horizontal"
155       position="449"
156       id="guide1309" />
157    <sodipodi:guide
158       orientation="horizontal"
159       position="269"
160       id="guide1311" />
161    <sodipodi:guide
162       orientation="vertical"
163       position="496"
164       id="guide1313" />
165    <sodipodi:guide
166       orientation="vertical"
167       position="361"
168       id="guide1315" />
169    <sodipodi:guide
170       orientation="vertical"
171       position="226"
172       id="guide1317" />
173    <sodipodi:guide
174       orientation="vertical"
175       position="631"
176       id="guide1319" />
177    <sodipodi:guide
178       orientation="vertical"
179       position="766"
180       id="guide1321" />
181    <sodipodi:guide
182       orientation="vertical"
183       position="91"
184       id="guide1345" />
185    <sodipodi:guide
186       orientation="vertical"
187       position="901"
188       id="guide1347" />
189    <sodipodi:guide
190       orientation="horizontal"
191       position="539"
192       id="guide3390" />
193    <sodipodi:guide
194       orientation="horizontal"
195       position="359"
196       id="guide3392" />
197    <sodipodi:guide
198       orientation="vertical"
199       position="280.5"
200       id="guide3324" />
201    <sodipodi:guide
202       orientation="vertical"
203       position="172"
204       id="guide3326" />
205    <sodipodi:guide
206       orientation="vertical"
207       position="388"
208       id="guide3328" />
209    <sodipodi:guide
210       orientation="vertical"
211       position="711.5"
212       id="guide3340" />
213  </sodipodi:namedview>
214  <metadata
215     id="metadata7">
216    <rdf:RDF>
217      <cc:Work
218         rdf:about="">
219        <dc:format>image/svg+xml</dc:format>
220        <dc:type
221           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
222        <dc:creator>
223          <cc:Agent>
224            <dc:title>Benjamin Kosnik</dc:title>
225          </cc:Agent>
226        </dc:creator>
227      </cc:Work>
228    </rdf:RDF>
229  </metadata>
230  <g
231     inkscape:label="Layer 1"
232     inkscape:groupmode="layer"
233     id="layer1">
234    <rect
235       style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1.25;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
236       id="rect1425"
237       width="141.64481"
238       height="23.200001"
239       x="209.57762"
240       y="382.56177" />
241    <rect
242       y="382.56177"
243       x="425.57761"
244       height="23.200001"
245       width="141.64481"
246       id="rect3376"
247       style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1.25;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
248    <rect
249       style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1.25;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
250       id="rect3378"
251       width="141.64481"
252       height="23.200001"
253       x="640.77765"
254       y="382.56177" />
255    <text
256       sodipodi:linespacing="100%"
257       id="use1329"
258       y="397.09772"
259       x="497.20001"
260       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"
261       xml:space="preserve"><tspan
262         sodipodi:role="line"
263         id="tspan1703"
264         x="497.20001"
265         y="397.09772">list_update</tspan><tspan
266         sodipodi:role="line"
267         id="tspan1705"
268         x="497.20001"
269         y="406.69772" /></text>
270    <text
271       xml:space="preserve"
272       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"
273       x="712.40002"
274       y="397.09772"
275       id="use1337"
276       sodipodi:linespacing="100%"><tspan
277         sodipodi:role="line"
278         id="tspan1707"
279         x="712.40002"
280         y="397.09772">basic_hash_table</tspan></text>
281    <text
282       xml:space="preserve"
283       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"
284       x="282"
285       y="397.09772"
286       id="text1339"
287       sodipodi:linespacing="100%"><tspan
288         sodipodi:role="line"
289         id="tspan1701"
290         x="282"
291         y="397.09772">basic_tree</tspan></text>
292    <rect
293       style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1.25;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
294       id="rect3418"
295       width="141.64481"
296       height="23.200001"
297       x="101.57762"
298       y="472.5618" />
299    <rect
300       y="472.5618"
301       x="317.57761"
302       height="23.200001"
303       width="141.64481"
304       id="rect3420"
305       style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1.25;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
306    <rect
307       style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1.25;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
308       id="rect3422"
309       width="141.64481"
310       height="23.200001"
311       x="533.57764"
312       y="472.5618" />
313    <rect
314       y="472.5618"
315       x="748.77765"
316       height="23.200001"
317       width="141.64481"
318       id="rect3424"
319       style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1.25;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
320    <text
321       xml:space="preserve"
322       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"
323       x="171.20001"
324       y="486.29773"
325       id="text3394"
326       sodipodi:linespacing="100%"><tspan
327         sodipodi:role="line"
328         id="tspan1715"
329         x="171.20001"
330         y="486.29773">tree</tspan><tspan
331         sodipodi:role="line"
332         id="tspan1717"
333         x="171.20001"
334         y="495.89773" /></text>
335    <text
336       sodipodi:linespacing="100%"
337       id="text3400"
338       y="486.29773"
339       x="386.39999"
340       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"
341       xml:space="preserve"><tspan
342         sodipodi:role="line"
343         id="tspan1709"
344         x="386.39999"
345         y="486.29773">trie</tspan><tspan
346         sodipodi:role="line"
347         id="tspan1711"
348         x="386.39999"
349         y="495.89773" /></text>
350    <text
351       sodipodi:linespacing="100%"
352       id="text3406"
353       y="486.29773"
354       x="601.20001"
355       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"
356       xml:space="preserve"><tspan
357         sodipodi:role="line"
358         id="tspan1713"
359         x="601.20001"
360         y="486.29773">cc_hash_table</tspan></text>
361    <text
362       xml:space="preserve"
363       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"
364       x="818"
365       y="486.29773"
366       id="text3412"
367       sodipodi:linespacing="100%"><tspan
368         sodipodi:role="line"
369         id="tspan1719"
370         x="818"
371         y="486.29773">gp_hash_table</tspan></text>
372    <rect
373       style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1.25;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
374       id="rect3380"
375       width="141.64481"
376       height="23.200001"
377       x="425.57764"
378       y="292.56177" />
379    <text
380       xml:space="preserve"
381       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"
382       x="497.20001"
383       y="307.09772"
384       id="text1323"
385       sodipodi:linespacing="100%"
386       inkscape:export-xdpi="90"
387       inkscape:export-ydpi="90"
388       inkscape:export-filename="/mnt/share/src/policy_based_data_structures/pb_ds_images/container_diagram.png"><tspan
389         sodipodi:role="line"
390         id="tspan1369"
391         x="497.20001"
392         y="307.09772">container_base</tspan></text>
393    <path
394       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"
395       d="M 170.97058,472.5 L 170.97058,451 L 387.51871,450 L 387.51871,472.5"
396       id="path2244" />
397    <path
398       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"
399       d="M 280.5,450.53297 L 280.5,410.62445"
400       id="path3332" />
401    <path
402       id="path3353"
403       d="M 601.47058,472.5 L 601.47058,451 L 818.01871,450 L 818.01871,472.5"
404       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" />
405    <path
406       id="path3355"
407       d="M 711,450.53297 L 711,410.62445"
408       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" />
409    <path
410       id="path3344"
411       d="M 281.18218,383.28102 L 281.18218,361.78102 L 711.79281,360.78102 L 711.79281,383.28102"
412       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" />
413    <path
414       id="path3347"
415       d="M 497.75146,383.49616 L 497.75146,322.77107"
416       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" />
417  </g>
418</svg>
419