• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1<?xml version="1.0" standalone="yes"?>
2<library-reference id="interval_container_library_reference"><title>Interval Container Library Reference</title><header name="boost/icl/associative_element_container.hpp">
3</header>
4<header name="boost/icl/associative_interval_container.hpp">
5</header>
6<header name="boost/icl/closed_interval.hpp">
7<namespace name="boost">
8<namespace name="icl">
9<class name="closed_interval"><template>
10      <template-type-parameter name="DomainT"/>
11      <template-nontype-parameter name="Compare"><type>ICL_COMPARE</type><default>ICL_COMPARE_INSTANCE(ICL_COMPARE_DEFAULT, DomainT)</default></template-nontype-parameter>
12    </template><typedef name="type"><type><classname>closed_interval</classname>&lt; DomainT, Compare &gt;</type></typedef>
13<typedef name="domain_type"><type>DomainT</type></typedef>
14<method-group name="public member functions">
15<method name="ICL_COMPARE_DOMAIN"><type>typedef</type><parameter name=""><paramtype>Compare</paramtype></parameter><parameter name=""><paramtype>DomainT</paramtype></parameter></method>
16<method name="lower" cv="const"><type>DomainT</type></method>
17<method name="upper" cv="const"><type>DomainT</type></method>
18<method name="first" cv="const"><type>DomainT</type></method>
19<method name="last" cv="const"><type>DomainT</type></method>
20</method-group>
21<constructor><description><para>Default constructor; yields an empty interval <computeroutput>[0,0)</computeroutput>. </para></description></constructor>
22<constructor specifiers="explicit"><parameter name="val"><paramtype>const DomainT &amp;</paramtype></parameter><description><para>Constructor for a closed singleton interval <computeroutput>[val,val]</computeroutput> </para></description></constructor>
23<constructor><parameter name="low"><paramtype>const DomainT &amp;</paramtype></parameter><parameter name="up"><paramtype>const DomainT &amp;</paramtype></parameter><description><para>Interval from <computeroutput>low</computeroutput> to <computeroutput>up</computeroutput> with bounds <computeroutput>bounds</computeroutput> </para></description></constructor>
24</class><struct-specialization name="interval_bound_type"><template>
25      <template-type-parameter name="DomainT"/>
26      <template-nontype-parameter name="Compare"><type>ICL_COMPARE</type></template-nontype-parameter>
27    </template><specialization><template-arg>closed_interval&lt; DomainT</template-arg><template-arg>Compare &gt;</template-arg></specialization><typedef name="type"><type>interval_bound_type</type></typedef>
28<method-group name="public member functions">
29<method name="BOOST_STATIC_CONSTANT"><type/><parameter name=""><paramtype>bound_type</paramtype></parameter><parameter name=""><paramtype>value</paramtype><default>interval_bounds::static_closed</default></parameter></method>
30</method-group>
31</struct-specialization><struct-specialization name="interval_traits"><template>
32      <template-type-parameter name="DomainT"/>
33      <template-nontype-parameter name="Compare"><type>ICL_COMPARE</type></template-nontype-parameter>
34    </template><specialization><template-arg>icl::closed_interval&lt; DomainT</template-arg><template-arg>Compare &gt;</template-arg></specialization><typedef name="domain_type"><type>DomainT</type></typedef>
35<typedef name="interval_type"><type><classname>icl::closed_interval</classname>&lt; DomainT, Compare &gt;</type></typedef>
36<method-group name="public member functions">
37<method name="ICL_COMPARE_DOMAIN"><type>typedef</type><parameter name=""><paramtype>Compare</paramtype></parameter><parameter name=""><paramtype>DomainT</paramtype></parameter></method>
38</method-group>
39<method-group name="public static functions">
40<method name="construct" specifiers="static"><type><classname>interval_type</classname></type><parameter name="lo"><paramtype>const domain_type &amp;</paramtype></parameter><parameter name="up"><paramtype>const domain_type &amp;</paramtype></parameter></method>
41<method name="lower" specifiers="static"><type>domain_type</type><parameter name="inter_val"><paramtype>const <classname>interval_type</classname> &amp;</paramtype></parameter></method>
42<method name="upper" specifiers="static"><type>domain_type</type><parameter name="inter_val"><paramtype>const <classname>interval_type</classname> &amp;</paramtype></parameter></method>
43</method-group>
44</struct-specialization><struct-specialization name="type_to_string"><template>
45      <template-type-parameter name="DomainT"/>
46      <template-nontype-parameter name="Compare"><type>ICL_COMPARE</type></template-nontype-parameter>
47    </template><specialization><template-arg>icl::closed_interval&lt; DomainT</template-arg><template-arg>Compare &gt;</template-arg></specialization><method-group name="public static functions">
48<method name="apply" specifiers="static"><type>std::string</type></method>
49</method-group>
50</struct-specialization><struct-specialization name="value_size"><template>
51      <template-type-parameter name="DomainT"/>
52    </template><specialization><template-arg>icl::closed_interval&lt; DomainT &gt;</template-arg></specialization><method-group name="public static functions">
53<method name="apply" specifiers="static"><type>std::size_t</type><parameter name=""><paramtype>const <classname>icl::closed_interval</classname>&lt; DomainT &gt; &amp;</paramtype></parameter></method>
54</method-group>
55</struct-specialization>
56
57
58
59
60
61
62
63
64
65</namespace>
66</namespace>
67</header>
68<header name="boost/icl/continuous_interval.hpp">
69<namespace name="boost">
70<namespace name="icl">
71<class name="continuous_interval"><template>
72      <template-type-parameter name="DomainT"/>
73      <template-nontype-parameter name="Compare"><type>ICL_COMPARE</type><default>ICL_COMPARE_INSTANCE(ICL_COMPARE_DEFAULT, DomainT)</default></template-nontype-parameter>
74    </template><typedef name="type"><type><classname>continuous_interval</classname>&lt; DomainT, Compare &gt;</type></typedef>
75<typedef name="domain_type"><type>DomainT</type></typedef>
76<typedef name="bounded_domain_type"><type><classname>bounded_value</classname>&lt; DomainT &gt;::<classname>type</classname></type></typedef>
77<method-group name="public member functions">
78<method name="ICL_COMPARE_DOMAIN"><type>typedef</type><parameter name=""><paramtype>Compare</paramtype></parameter><parameter name=""><paramtype>DomainT</paramtype></parameter></method>
79<method name="lower" cv="const"><type>domain_type</type></method>
80<method name="upper" cv="const"><type>domain_type</type></method>
81<method name="bounds" cv="const"><type><classname>interval_bounds</classname></type></method>
82</method-group>
83<constructor><description><para>Default constructor; yields an empty interval <computeroutput>[0,0)</computeroutput>. </para></description></constructor>
84<constructor specifiers="explicit"><parameter name="val"><paramtype>const DomainT &amp;</paramtype></parameter><description><para>Constructor for a closed singleton interval <computeroutput>[val,val]</computeroutput> </para></description></constructor>
85<constructor><parameter name="low"><paramtype>const DomainT &amp;</paramtype></parameter><parameter name="up"><paramtype>const DomainT &amp;</paramtype></parameter><parameter name="bounds"><paramtype><classname>interval_bounds</classname></paramtype><default>interval_bounds::right_open()</default></parameter><parameter name=""><paramtype><classname>continuous_interval</classname> *</paramtype><default>0</default></parameter><description><para>Interval from <computeroutput>low</computeroutput> to <computeroutput>up</computeroutput> with bounds <computeroutput>bounds</computeroutput> </para></description></constructor>
86<method-group name="public static functions">
87<method name="open" specifiers="static"><type><classname>continuous_interval</classname></type><parameter name="lo"><paramtype>const DomainT &amp;</paramtype></parameter><parameter name="up"><paramtype>const DomainT &amp;</paramtype></parameter></method>
88<method name="right_open" specifiers="static"><type><classname>continuous_interval</classname></type><parameter name="lo"><paramtype>const DomainT &amp;</paramtype></parameter><parameter name="up"><paramtype>const DomainT &amp;</paramtype></parameter></method>
89<method name="left_open" specifiers="static"><type><classname>continuous_interval</classname></type><parameter name="lo"><paramtype>const DomainT &amp;</paramtype></parameter><parameter name="up"><paramtype>const DomainT &amp;</paramtype></parameter></method>
90<method name="closed" specifiers="static"><type><classname>continuous_interval</classname></type><parameter name="lo"><paramtype>const DomainT &amp;</paramtype></parameter><parameter name="up"><paramtype>const DomainT &amp;</paramtype></parameter></method>
91</method-group>
92</class><struct-specialization name="dynamic_interval_traits"><template>
93      <template-type-parameter name="DomainT"/>
94      <template-nontype-parameter name="Compare"><type>ICL_COMPARE</type></template-nontype-parameter>
95    </template><specialization><template-arg>boost::icl::continuous_interval&lt; DomainT</template-arg><template-arg>Compare &gt;</template-arg></specialization><typedef name="type"><type><classname>dynamic_interval_traits</classname></type></typedef>
96<typedef name="interval_type"><type><classname>boost::icl::continuous_interval</classname>&lt; DomainT, Compare &gt;</type></typedef>
97<typedef name="domain_type"><type>DomainT</type></typedef>
98<method-group name="public member functions">
99<method name="ICL_COMPARE_DOMAIN"><type>typedef</type><parameter name=""><paramtype>Compare</paramtype></parameter><parameter name=""><paramtype>DomainT</paramtype></parameter></method>
100</method-group>
101<method-group name="public static functions">
102<method name="construct" specifiers="static"><type><classname>interval_type</classname></type><parameter name="lo"><paramtype>const domain_type</paramtype></parameter><parameter name="up"><paramtype>const domain_type</paramtype></parameter><parameter name="bounds"><paramtype><classname>interval_bounds</classname></paramtype></parameter></method>
103<method name="construct_bounded" specifiers="static"><type><classname>interval_type</classname></type><parameter name="lo"><paramtype>const <classname>bounded_value</classname>&lt; DomainT &gt; &amp;</paramtype></parameter><parameter name="up"><paramtype>const <classname>bounded_value</classname>&lt; DomainT &gt; &amp;</paramtype></parameter></method>
104</method-group>
105</struct-specialization><struct-specialization name="interval_bound_type"><template>
106      <template-type-parameter name="DomainT"/>
107      <template-nontype-parameter name="Compare"><type>ICL_COMPARE</type></template-nontype-parameter>
108    </template><specialization><template-arg>continuous_interval&lt; DomainT</template-arg><template-arg>Compare &gt;</template-arg></specialization><typedef name="type"><type>interval_bound_type</type></typedef>
109<method-group name="public member functions">
110<method name="BOOST_STATIC_CONSTANT"><type/><parameter name=""><paramtype>bound_type</paramtype></parameter><parameter name=""><paramtype>value</paramtype><default>interval_bounds::dynamic</default></parameter></method>
111</method-group>
112</struct-specialization><struct-specialization name="interval_traits"><template>
113      <template-type-parameter name="DomainT"/>
114      <template-nontype-parameter name="Compare"><type>ICL_COMPARE</type></template-nontype-parameter>
115    </template><specialization><template-arg>icl::continuous_interval&lt; DomainT</template-arg><template-arg>Compare &gt;</template-arg></specialization><typedef name="type"><type><classname>interval_traits</classname></type></typedef>
116<typedef name="domain_type"><type>DomainT</type></typedef>
117<typedef name="interval_type"><type><classname>icl::continuous_interval</classname>&lt; DomainT, Compare &gt;</type></typedef>
118<method-group name="public member functions">
119<method name="ICL_COMPARE_DOMAIN"><type>typedef</type><parameter name=""><paramtype>Compare</paramtype></parameter><parameter name=""><paramtype>DomainT</paramtype></parameter></method>
120</method-group>
121<method-group name="public static functions">
122<method name="construct" specifiers="static"><type><classname>interval_type</classname></type><parameter name="lo"><paramtype>const domain_type &amp;</paramtype></parameter><parameter name="up"><paramtype>const domain_type &amp;</paramtype></parameter></method>
123<method name="lower" specifiers="static"><type>domain_type</type><parameter name="inter_val"><paramtype>const <classname>interval_type</classname> &amp;</paramtype></parameter></method>
124<method name="upper" specifiers="static"><type>domain_type</type><parameter name="inter_val"><paramtype>const <classname>interval_type</classname> &amp;</paramtype></parameter></method>
125</method-group>
126</struct-specialization><struct-specialization name="is_continuous_interval"><template>
127      <template-type-parameter name="DomainT"/>
128      <template-nontype-parameter name="Compare"><type>ICL_COMPARE</type></template-nontype-parameter>
129    </template><specialization><template-arg>continuous_interval&lt; DomainT</template-arg><template-arg>Compare &gt;</template-arg></specialization><typedef name="type"><type>is_continuous_interval&lt; <classname>continuous_interval</classname>&lt; DomainT, Compare &gt; &gt;</type></typedef>
130<method-group name="public member functions">
131<method name="BOOST_STATIC_CONSTANT"><type/><parameter name=""><paramtype>bool</paramtype></parameter><parameter name=""><paramtype>value</paramtype><default>true</default></parameter></method>
132</method-group>
133</struct-specialization><struct-specialization name="type_to_string"><template>
134      <template-type-parameter name="DomainT"/>
135      <template-nontype-parameter name="Compare"><type>ICL_COMPARE</type></template-nontype-parameter>
136    </template><specialization><template-arg>icl::continuous_interval&lt; DomainT</template-arg><template-arg>Compare &gt;</template-arg></specialization><method-group name="public static functions">
137<method name="apply" specifiers="static"><type>std::string</type></method>
138</method-group>
139</struct-specialization><struct-specialization name="value_size"><template>
140      <template-type-parameter name="DomainT"/>
141    </template><specialization><template-arg>icl::continuous_interval&lt; DomainT &gt;</template-arg></specialization><method-group name="public static functions">
142<method name="apply" specifiers="static"><type>std::size_t</type><parameter name=""><paramtype>const <classname>icl::continuous_interval</classname>&lt; DomainT &gt; &amp;</paramtype></parameter></method>
143</method-group>
144</struct-specialization>
145
146
147
148
149
150
151
152
153
154</namespace>
155</namespace>
156</header>
157<header name="boost/icl/discrete_interval.hpp">
158<namespace name="boost">
159<namespace name="icl">
160<class name="discrete_interval"><template>
161      <template-type-parameter name="DomainT"/>
162      <template-nontype-parameter name="Compare"><type>ICL_COMPARE</type><default>ICL_COMPARE_INSTANCE(ICL_COMPARE_DEFAULT, DomainT)</default></template-nontype-parameter>
163    </template><typedef name="type"><type><classname>discrete_interval</classname>&lt; DomainT, Compare &gt;</type></typedef>
164<typedef name="domain_type"><type>DomainT</type></typedef>
165<typedef name="bounded_domain_type"><type><classname>bounded_value</classname>&lt; DomainT &gt;::<classname>type</classname></type></typedef>
166<method-group name="public member functions">
167<method name="ICL_COMPARE_DOMAIN"><type>typedef</type><parameter name=""><paramtype>Compare</paramtype></parameter><parameter name=""><paramtype>DomainT</paramtype></parameter></method>
168<method name="lower" cv="const"><type>domain_type</type></method>
169<method name="upper" cv="const"><type>domain_type</type></method>
170<method name="bounds" cv="const"><type><classname>interval_bounds</classname></type></method>
171</method-group>
172<constructor><description><para>Default constructor; yields an empty interval <computeroutput>[0,0)</computeroutput>. </para></description></constructor>
173<constructor specifiers="explicit"><parameter name="val"><paramtype>const DomainT &amp;</paramtype></parameter><description><para>Constructor for a closed singleton interval <computeroutput>[val,val]</computeroutput> </para></description></constructor>
174<constructor><parameter name="low"><paramtype>const DomainT &amp;</paramtype></parameter><parameter name="up"><paramtype>const DomainT &amp;</paramtype></parameter><parameter name="bounds"><paramtype><classname>interval_bounds</classname></paramtype><default>interval_bounds::right_open()</default></parameter><parameter name=""><paramtype><classname>discrete_interval</classname> *</paramtype><default>0</default></parameter><description><para>Interval from <computeroutput>low</computeroutput> to <computeroutput>up</computeroutput> with bounds <computeroutput>bounds</computeroutput> </para></description></constructor>
175<method-group name="public static functions">
176<method name="open" specifiers="static"><type><classname>discrete_interval</classname></type><parameter name="lo"><paramtype>const DomainT &amp;</paramtype></parameter><parameter name="up"><paramtype>const DomainT &amp;</paramtype></parameter></method>
177<method name="right_open" specifiers="static"><type><classname>discrete_interval</classname></type><parameter name="lo"><paramtype>const DomainT &amp;</paramtype></parameter><parameter name="up"><paramtype>const DomainT &amp;</paramtype></parameter></method>
178<method name="left_open" specifiers="static"><type><classname>discrete_interval</classname></type><parameter name="lo"><paramtype>const DomainT &amp;</paramtype></parameter><parameter name="up"><paramtype>const DomainT &amp;</paramtype></parameter></method>
179<method name="closed" specifiers="static"><type><classname>discrete_interval</classname></type><parameter name="lo"><paramtype>const DomainT &amp;</paramtype></parameter><parameter name="up"><paramtype>const DomainT &amp;</paramtype></parameter></method>
180</method-group>
181</class><struct-specialization name="dynamic_interval_traits"><template>
182      <template-type-parameter name="DomainT"/>
183      <template-nontype-parameter name="Compare"><type>ICL_COMPARE</type></template-nontype-parameter>
184    </template><specialization><template-arg>boost::icl::discrete_interval&lt; DomainT</template-arg><template-arg>Compare &gt;</template-arg></specialization><typedef name="type"><type><classname>dynamic_interval_traits</classname></type></typedef>
185<typedef name="interval_type"><type><classname>boost::icl::discrete_interval</classname>&lt; DomainT, Compare &gt;</type></typedef>
186<typedef name="domain_type"><type>DomainT</type></typedef>
187<method-group name="public member functions">
188<method name="ICL_COMPARE_DOMAIN"><type>typedef</type><parameter name=""><paramtype>Compare</paramtype></parameter><parameter name=""><paramtype>DomainT</paramtype></parameter></method>
189</method-group>
190<method-group name="public static functions">
191<method name="construct" specifiers="static"><type><classname>interval_type</classname></type><parameter name="lo"><paramtype>const domain_type &amp;</paramtype></parameter><parameter name="up"><paramtype>const domain_type &amp;</paramtype></parameter><parameter name="bounds"><paramtype><classname>interval_bounds</classname></paramtype></parameter></method>
192<method name="construct_bounded" specifiers="static"><type><classname>interval_type</classname></type><parameter name="lo"><paramtype>const <classname>bounded_value</classname>&lt; DomainT &gt; &amp;</paramtype></parameter><parameter name="up"><paramtype>const <classname>bounded_value</classname>&lt; DomainT &gt; &amp;</paramtype></parameter></method>
193</method-group>
194</struct-specialization><struct-specialization name="interval_bound_type"><template>
195      <template-type-parameter name="DomainT"/>
196      <template-nontype-parameter name="Compare"><type>ICL_COMPARE</type></template-nontype-parameter>
197    </template><specialization><template-arg>discrete_interval&lt; DomainT</template-arg><template-arg>Compare &gt;</template-arg></specialization><typedef name="type"><type>interval_bound_type</type></typedef>
198<method-group name="public member functions">
199<method name="BOOST_STATIC_CONSTANT"><type/><parameter name=""><paramtype>bound_type</paramtype></parameter><parameter name=""><paramtype>value</paramtype><default>interval_bounds::dynamic</default></parameter></method>
200</method-group>
201</struct-specialization><struct-specialization name="interval_traits"><template>
202      <template-type-parameter name="DomainT"/>
203      <template-nontype-parameter name="Compare"><type>ICL_COMPARE</type></template-nontype-parameter>
204    </template><specialization><template-arg>icl::discrete_interval&lt; DomainT</template-arg><template-arg>Compare &gt;</template-arg></specialization><typedef name="type"><type><classname>interval_traits</classname></type></typedef>
205<typedef name="domain_type"><type>DomainT</type></typedef>
206<typedef name="interval_type"><type><classname>icl::discrete_interval</classname>&lt; DomainT, Compare &gt;</type></typedef>
207<method-group name="public member functions">
208<method name="ICL_COMPARE_DOMAIN"><type>typedef</type><parameter name=""><paramtype>Compare</paramtype></parameter><parameter name=""><paramtype>DomainT</paramtype></parameter></method>
209</method-group>
210<method-group name="public static functions">
211<method name="construct" specifiers="static"><type><classname>interval_type</classname></type><parameter name="lo"><paramtype>const domain_type &amp;</paramtype></parameter><parameter name="up"><paramtype>const domain_type &amp;</paramtype></parameter></method>
212<method name="lower" specifiers="static"><type>domain_type</type><parameter name="inter_val"><paramtype>const <classname>interval_type</classname> &amp;</paramtype></parameter></method>
213<method name="upper" specifiers="static"><type>domain_type</type><parameter name="inter_val"><paramtype>const <classname>interval_type</classname> &amp;</paramtype></parameter></method>
214</method-group>
215</struct-specialization><struct-specialization name="is_discrete_interval"><template>
216      <template-type-parameter name="DomainT"/>
217      <template-nontype-parameter name="Compare"><type>ICL_COMPARE</type></template-nontype-parameter>
218    </template><specialization><template-arg>discrete_interval&lt; DomainT</template-arg><template-arg>Compare &gt;</template-arg></specialization><typedef name="type"><type>is_discrete_interval&lt; <classname>discrete_interval</classname>&lt; DomainT, Compare &gt; &gt;</type></typedef>
219<method-group name="public member functions">
220<method name="BOOST_STATIC_CONSTANT"><type/><parameter name=""><paramtype>bool</paramtype></parameter><parameter name=""><paramtype>value</paramtype><default>is_discrete&lt; DomainT &gt;::value</default></parameter></method>
221</method-group>
222</struct-specialization><struct-specialization name="type_to_string"><template>
223      <template-type-parameter name="DomainT"/>
224      <template-nontype-parameter name="Compare"><type>ICL_COMPARE</type></template-nontype-parameter>
225    </template><specialization><template-arg>icl::discrete_interval&lt; DomainT</template-arg><template-arg>Compare &gt;</template-arg></specialization><method-group name="public static functions">
226<method name="apply" specifiers="static"><type>std::string</type></method>
227</method-group>
228</struct-specialization><struct-specialization name="value_size"><template>
229      <template-type-parameter name="DomainT"/>
230    </template><specialization><template-arg>icl::discrete_interval&lt; DomainT &gt;</template-arg></specialization><method-group name="public static functions">
231<method name="apply" specifiers="static"><type>std::size_t</type><parameter name=""><paramtype>const <classname>icl::discrete_interval</classname>&lt; DomainT &gt; &amp;</paramtype></parameter></method>
232</method-group>
233</struct-specialization>
234
235
236
237
238
239
240
241
242
243</namespace>
244</namespace>
245</header>
246<header name="boost/icl/dynamic_interval_traits.hpp">
247<namespace name="boost">
248<namespace name="icl">
249<struct name="dynamic_interval_traits"><template>
250      <template-type-parameter name="Type"/>
251    </template><typedef name="domain_type"><type>Type::domain_type</type></typedef>
252<typedef name="domain_compare"><type>Type::domain_compare</type></typedef>
253<method-group name="public static functions">
254<method name="construct" specifiers="static"><type>Type</type><parameter name="lo"><paramtype>const domain_type &amp;</paramtype></parameter><parameter name="up"><paramtype>const domain_type &amp;</paramtype></parameter><parameter name="bounds"><paramtype><classname>interval_bounds</classname></paramtype></parameter></method>
255<method name="construct_bounded" specifiers="static"><type>Type</type><parameter name="lo"><paramtype>const <classname>bounded_value</classname>&lt; domain_type &gt; &amp;</paramtype></parameter><parameter name="up"><paramtype>const <classname>bounded_value</classname>&lt; domain_type &gt; &amp;</paramtype></parameter></method>
256</method-group>
257</struct>
258
259
260
261
262
263
264
265
266
267</namespace>
268</namespace>
269</header>
270<header name="boost/icl/functors.hpp">
271<namespace name="boost">
272<namespace name="icl">
273<struct name="conversion"><template>
274      <template-type-parameter name="Combiner"/>
275    </template><typedef name="type"><type><classname>conversion</classname>&lt; Combiner &gt;</type></typedef>
276<typedef name="argument_type"><type>remove_const&lt; typename remove_reference&lt; typename Combiner::first_argument_type &gt;::<classname>type</classname> &gt;::<classname>type</classname></type></typedef>
277<method-group name="public static functions">
278<method name="proversion" specifiers="static"><type>argument_type</type><parameter name="value"><paramtype>const argument_type &amp;</paramtype></parameter></method>
279<method name="inversion" specifiers="static"><type>argument_type</type><parameter name="value"><paramtype>const argument_type &amp;</paramtype></parameter></method>
280</method-group>
281</struct><struct name="identity_based_inplace_combine"><template>
282      <template-type-parameter name="Type"/>
283    </template><typedef name="first_argument_type"><type>Type &amp;</type></typedef>
284<typedef name="second_argument_type"><type>const Type &amp;</type></typedef>
285<typedef name="result_type"><type>void</type></typedef>
286<method-group name="public static functions">
287<method name="identity_element" specifiers="static"><type>Type</type></method>
288</method-group>
289</struct><struct name="inplace_bit_add"><template>
290      <template-type-parameter name="Type"/>
291    </template><inherit access="public">boost::icl::identity_based_inplace_combine&lt; Type &gt;</inherit><typedef name="type"><type><classname>inplace_bit_add</classname>&lt; Type &gt;</type></typedef>
292<method-group name="public member functions">
293<method name="operator()" cv="const"><type>void</type><parameter name="object"><paramtype>Type &amp;</paramtype></parameter><parameter name="operand"><paramtype>const Type &amp;</paramtype></parameter></method>
294</method-group>
295<method-group name="public static functions">
296<method name="version" specifiers="static"><type>void</type><parameter name=""><paramtype>Type &amp;</paramtype></parameter></method>
297</method-group>
298</struct><struct name="inplace_bit_and"><template>
299      <template-type-parameter name="Type"/>
300    </template><inherit access="public">boost::icl::identity_based_inplace_combine&lt; Type &gt;</inherit><typedef name="type"><type><classname>inplace_bit_and</classname>&lt; Type &gt;</type></typedef>
301<method-group name="public member functions">
302<method name="operator()" cv="const"><type>void</type><parameter name="object"><paramtype>Type &amp;</paramtype></parameter><parameter name="operand"><paramtype>const Type &amp;</paramtype></parameter></method>
303</method-group>
304</struct><struct name="inplace_bit_subtract"><template>
305      <template-type-parameter name="Type"/>
306    </template><inherit access="public">boost::icl::identity_based_inplace_combine&lt; Type &gt;</inherit><typedef name="type"><type><classname>inplace_bit_subtract</classname>&lt; Type &gt;</type></typedef>
307<method-group name="public member functions">
308<method name="operator()" cv="const"><type>void</type><parameter name="object"><paramtype>Type &amp;</paramtype></parameter><parameter name="operand"><paramtype>const Type &amp;</paramtype></parameter></method>
309</method-group>
310</struct><struct name="inplace_bit_xor"><template>
311      <template-type-parameter name="Type"/>
312    </template><inherit access="public">boost::icl::identity_based_inplace_combine&lt; Type &gt;</inherit><typedef name="type"><type><classname>inplace_bit_xor</classname>&lt; Type &gt;</type></typedef>
313<method-group name="public member functions">
314<method name="operator()" cv="const"><type>void</type><parameter name="object"><paramtype>Type &amp;</paramtype></parameter><parameter name="operand"><paramtype>const Type &amp;</paramtype></parameter></method>
315</method-group>
316</struct><struct name="inplace_caret"><template>
317      <template-type-parameter name="Type"/>
318    </template><inherit access="public">boost::icl::identity_based_inplace_combine&lt; Type &gt;</inherit><typedef name="type"><type><classname>inplace_caret</classname>&lt; Type &gt;</type></typedef>
319<method-group name="public member functions">
320<method name="operator()" cv="const"><type>void</type><parameter name="object"><paramtype>Type &amp;</paramtype></parameter><parameter name="operand"><paramtype>const Type &amp;</paramtype></parameter></method>
321</method-group>
322</struct><struct name="inplace_erase"><template>
323      <template-type-parameter name="Type"/>
324    </template><inherit access="public">boost::icl::identity_based_inplace_combine&lt; Type &gt;</inherit><typedef name="type"><type><classname>inplace_erase</classname>&lt; Type &gt;</type></typedef>
325<method-group name="public member functions">
326<method name="operator()" cv="const"><type>void</type><parameter name="object"><paramtype>Type &amp;</paramtype></parameter><parameter name="operand"><paramtype>const Type &amp;</paramtype></parameter></method>
327</method-group>
328</struct><struct name="inplace_erasure"><template>
329      <template-type-parameter name="Type"/>
330    </template><inherit access="public">boost::icl::identity_based_inplace_combine&lt; Type &gt;</inherit><typedef name="type"><type><classname>inplace_erasure</classname>&lt; Type &gt;</type></typedef>
331<typedef name="base_type"><type><classname>identity_based_inplace_combine</classname>&lt; Type &gt;</type></typedef>
332<method-group name="public member functions">
333<method name="operator()" cv="const"><type>void</type><parameter name="object"><paramtype>Type &amp;</paramtype></parameter><parameter name="operand"><paramtype>const Type &amp;</paramtype></parameter></method>
334</method-group>
335</struct><struct name="inplace_et"><template>
336      <template-type-parameter name="Type"/>
337    </template><inherit access="public">boost::icl::identity_based_inplace_combine&lt; Type &gt;</inherit><typedef name="type"><type><classname>inplace_et</classname>&lt; Type &gt;</type></typedef>
338<method-group name="public member functions">
339<method name="operator()" cv="const"><type>void</type><parameter name="object"><paramtype>Type &amp;</paramtype></parameter><parameter name="operand"><paramtype>const Type &amp;</paramtype></parameter></method>
340</method-group>
341</struct><struct name="inplace_identity"><template>
342      <template-type-parameter name="Type"/>
343    </template><inherit access="public">boost::icl::identity_based_inplace_combine&lt; Type &gt;</inherit><typedef name="type"><type><classname>inplace_identity</classname>&lt; Type &gt;</type></typedef>
344<method-group name="public member functions">
345<method name="operator()" cv="const"><type>void</type><parameter name=""><paramtype>Type &amp;</paramtype></parameter><parameter name=""><paramtype>const Type &amp;</paramtype></parameter></method>
346</method-group>
347</struct><struct name="inplace_insert"><template>
348      <template-type-parameter name="Type"/>
349    </template><inherit access="public">boost::icl::identity_based_inplace_combine&lt; Type &gt;</inherit><typedef name="type"><type><classname>inplace_insert</classname>&lt; Type &gt;</type></typedef>
350<method-group name="public member functions">
351<method name="operator()" cv="const"><type>void</type><parameter name="object"><paramtype>Type &amp;</paramtype></parameter><parameter name="operand"><paramtype>const Type &amp;</paramtype></parameter></method>
352</method-group>
353</struct><struct name="inplace_max"><template>
354      <template-type-parameter name="Type"/>
355    </template><inherit access="public">boost::icl::identity_based_inplace_combine&lt; Type &gt;</inherit><typedef name="type"><type><classname>inplace_max</classname>&lt; Type &gt;</type></typedef>
356<method-group name="public member functions">
357<method name="operator()" cv="const"><type>void</type><parameter name="object"><paramtype>Type &amp;</paramtype></parameter><parameter name="operand"><paramtype>const Type &amp;</paramtype></parameter></method>
358</method-group>
359</struct><struct name="inplace_min"><template>
360      <template-type-parameter name="Type"/>
361    </template><inherit access="public">boost::icl::identity_based_inplace_combine&lt; Type &gt;</inherit><typedef name="type"><type><classname>inplace_min</classname>&lt; Type &gt;</type></typedef>
362<method-group name="public member functions">
363<method name="operator()" cv="const"><type>void</type><parameter name="object"><paramtype>Type &amp;</paramtype></parameter><parameter name="operand"><paramtype>const Type &amp;</paramtype></parameter></method>
364</method-group>
365</struct><struct name="inplace_minus"><template>
366      <template-type-parameter name="Type"/>
367    </template><inherit access="public">boost::icl::identity_based_inplace_combine&lt; Type &gt;</inherit><typedef name="type"><type><classname>inplace_minus</classname>&lt; Type &gt;</type></typedef>
368<method-group name="public member functions">
369<method name="operator()" cv="const"><type>void</type><parameter name="object"><paramtype>Type &amp;</paramtype></parameter><parameter name="operand"><paramtype>const Type &amp;</paramtype></parameter></method>
370</method-group>
371</struct><struct name="inplace_plus"><template>
372      <template-type-parameter name="Type"/>
373    </template><inherit access="public">boost::icl::identity_based_inplace_combine&lt; Type &gt;</inherit><typedef name="type"><type><classname>inplace_plus</classname>&lt; Type &gt;</type></typedef>
374<method-group name="public member functions">
375<method name="operator()" cv="const"><type>void</type><parameter name="object"><paramtype>Type &amp;</paramtype></parameter><parameter name="operand"><paramtype>const Type &amp;</paramtype></parameter></method>
376</method-group>
377<method-group name="public static functions">
378<method name="version" specifiers="static"><type>void</type><parameter name=""><paramtype>Type &amp;</paramtype></parameter></method>
379</method-group>
380</struct><struct name="inplace_slash"><template>
381      <template-type-parameter name="Type"/>
382    </template><inherit access="public">boost::icl::identity_based_inplace_combine&lt; Type &gt;</inherit><typedef name="type"><type><classname>inplace_slash</classname>&lt; Type &gt;</type></typedef>
383<method-group name="public member functions">
384<method name="operator()" cv="const"><type>void</type><parameter name="object"><paramtype>Type &amp;</paramtype></parameter><parameter name="operand"><paramtype>const Type &amp;</paramtype></parameter></method>
385</method-group>
386</struct><struct name="inplace_star"><template>
387      <template-type-parameter name="Type"/>
388    </template><inherit access="public">boost::icl::identity_based_inplace_combine&lt; Type &gt;</inherit><typedef name="type"><type><classname>inplace_star</classname>&lt; Type &gt;</type></typedef>
389<method-group name="public member functions">
390<method name="operator()" cv="const"><type>void</type><parameter name="object"><paramtype>Type &amp;</paramtype></parameter><parameter name="operand"><paramtype>const Type &amp;</paramtype></parameter></method>
391</method-group>
392</struct><struct name="inter_section"><template>
393      <template-type-parameter name="Type"/>
394    </template><inherit access="public">boost::icl::identity_based_inplace_combine&lt; Type &gt;</inherit><typedef name="type"><type>boost::mpl::if_&lt; has_set_semantics&lt; Type &gt;, <classname>icl::inplace_et</classname>&lt; Type &gt;, <classname>icl::inplace_plus</classname>&lt; Type &gt; &gt;::type</type></typedef>
395<method-group name="public member functions">
396<method name="operator()" cv="const"><type>void</type><parameter name="object"><paramtype>Type &amp;</paramtype></parameter><parameter name="operand"><paramtype>const Type &amp;</paramtype></parameter></method>
397</method-group>
398</struct><struct name="inverse"><template>
399      <template-type-parameter name="Functor"/>
400    </template><typedef name="argument_type"><type>remove_reference&lt; typename Functor::first_argument_type &gt;::<classname>type</classname></type></typedef>
401<typedef name="type"><type><classname>icl::inplace_erasure</classname>&lt; argument_type &gt;</type></typedef>
402</struct><struct-specialization name="inverse"><template>
403      <template-type-parameter name="Type"/>
404    </template><specialization><template-arg>icl::inplace_bit_add&lt; Type &gt;</template-arg></specialization><typedef name="type"><type><classname>icl::inplace_bit_subtract</classname>&lt; Type &gt;</type></typedef>
405</struct-specialization><struct-specialization name="inverse"><template>
406      <template-type-parameter name="Type"/>
407    </template><specialization><template-arg>icl::inplace_bit_and&lt; Type &gt;</template-arg></specialization><typedef name="type"><type><classname>icl::inplace_bit_xor</classname>&lt; Type &gt;</type></typedef>
408</struct-specialization><struct-specialization name="inverse"><template>
409      <template-type-parameter name="Type"/>
410    </template><specialization><template-arg>icl::inplace_bit_subtract&lt; Type &gt;</template-arg></specialization><typedef name="type"><type><classname>icl::inplace_bit_add</classname>&lt; Type &gt;</type></typedef>
411</struct-specialization><struct-specialization name="inverse"><template>
412      <template-type-parameter name="Type"/>
413    </template><specialization><template-arg>icl::inplace_bit_xor&lt; Type &gt;</template-arg></specialization><typedef name="type"><type><classname>icl::inplace_bit_and</classname>&lt; Type &gt;</type></typedef>
414</struct-specialization><struct-specialization name="inverse"><template>
415      <template-type-parameter name="Type"/>
416    </template><specialization><template-arg>icl::inplace_caret&lt; Type &gt;</template-arg></specialization><typedef name="type"><type><classname>icl::inplace_et</classname>&lt; Type &gt;</type></typedef>
417</struct-specialization><struct-specialization name="inverse"><template>
418      <template-type-parameter name="Type"/>
419    </template><specialization><template-arg>icl::inplace_et&lt; Type &gt;</template-arg></specialization><typedef name="type"><type><classname>icl::inplace_caret</classname>&lt; Type &gt;</type></typedef>
420</struct-specialization><struct-specialization name="inverse"><template>
421      <template-type-parameter name="Type"/>
422    </template><specialization><template-arg>icl::inplace_identity&lt; Type &gt;</template-arg></specialization><typedef name="type"><type><classname>icl::inplace_erasure</classname>&lt; Type &gt;</type></typedef>
423</struct-specialization><struct-specialization name="inverse"><template>
424      <template-type-parameter name="Type"/>
425    </template><specialization><template-arg>icl::inplace_max&lt; Type &gt;</template-arg></specialization><typedef name="type"><type><classname>icl::inplace_min</classname>&lt; Type &gt;</type></typedef>
426</struct-specialization><struct-specialization name="inverse"><template>
427      <template-type-parameter name="Type"/>
428    </template><specialization><template-arg>icl::inplace_min&lt; Type &gt;</template-arg></specialization><typedef name="type"><type><classname>icl::inplace_max</classname>&lt; Type &gt;</type></typedef>
429</struct-specialization><struct-specialization name="inverse"><template>
430      <template-type-parameter name="Type"/>
431    </template><specialization><template-arg>icl::inplace_minus&lt; Type &gt;</template-arg></specialization><typedef name="type"><type><classname>icl::inplace_plus</classname>&lt; Type &gt;</type></typedef>
432</struct-specialization><struct-specialization name="inverse"><template>
433      <template-type-parameter name="Type"/>
434    </template><specialization><template-arg>icl::inplace_plus&lt; Type &gt;</template-arg></specialization><typedef name="type"><type><classname>icl::inplace_minus</classname>&lt; Type &gt;</type></typedef>
435</struct-specialization><struct-specialization name="inverse"><template>
436      <template-type-parameter name="Type"/>
437    </template><specialization><template-arg>icl::inplace_slash&lt; Type &gt;</template-arg></specialization><typedef name="type"><type><classname>icl::inplace_star</classname>&lt; Type &gt;</type></typedef>
438</struct-specialization><struct-specialization name="inverse"><template>
439      <template-type-parameter name="Type"/>
440    </template><specialization><template-arg>icl::inplace_star&lt; Type &gt;</template-arg></specialization><typedef name="type"><type><classname>icl::inplace_slash</classname>&lt; Type &gt;</type></typedef>
441</struct-specialization><struct-specialization name="inverse"><template>
442      <template-type-parameter name="Type"/>
443    </template><specialization><template-arg>icl::inter_section&lt; Type &gt;</template-arg></specialization><inherit access="public">boost::icl::identity_based_inplace_combine&lt; Type &gt;</inherit><typedef name="type"><type>boost::mpl::if_&lt; has_set_semantics&lt; Type &gt;, <classname>icl::inplace_caret</classname>&lt; Type &gt;, <classname>icl::inplace_minus</classname>&lt; Type &gt; &gt;::type</type></typedef>
444<method-group name="public member functions">
445<method name="operator()" cv="const"><type>void</type><parameter name="object"><paramtype>Type &amp;</paramtype></parameter><parameter name="operand"><paramtype>const Type &amp;</paramtype></parameter></method>
446</method-group>
447</struct-specialization><struct name="is_negative"><template>
448      <template-type-parameter name="Functor"/>
449    </template><typedef name="type"><type><classname>is_negative</classname>&lt; Functor &gt;</type></typedef>
450<method-group name="public member functions">
451<method name="BOOST_STATIC_CONSTANT"><type/><parameter name=""><paramtype>bool</paramtype></parameter><parameter name=""><paramtype>value</paramtype><default>false</default></parameter></method>
452</method-group>
453</struct><struct-specialization name="is_negative"><template>
454      <template-type-parameter name="Type"/>
455    </template><specialization><template-arg>icl::inplace_bit_subtract&lt; Type &gt;</template-arg></specialization><typedef name="type"><type><classname>is_negative</classname></type></typedef>
456<method-group name="public member functions">
457<method name="BOOST_STATIC_CONSTANT"><type/><parameter name=""><paramtype>bool</paramtype></parameter><parameter name=""><paramtype>value</paramtype><default>true</default></parameter></method>
458</method-group>
459</struct-specialization><struct-specialization name="is_negative"><template>
460      <template-type-parameter name="Type"/>
461    </template><specialization><template-arg>icl::inplace_minus&lt; Type &gt;</template-arg></specialization><typedef name="type"><type><classname>is_negative</classname></type></typedef>
462<method-group name="public member functions">
463<method name="BOOST_STATIC_CONSTANT"><type/><parameter name=""><paramtype>bool</paramtype></parameter><parameter name=""><paramtype>value</paramtype><default>true</default></parameter></method>
464</method-group>
465</struct-specialization><struct name="unit_element_based_inplace_combine"><template>
466      <template-type-parameter name="Type"/>
467    </template><typedef name="first_argument_type"><type>Type &amp;</type></typedef>
468<typedef name="second_argument_type"><type>const Type &amp;</type></typedef>
469<typedef name="result_type"><type>void</type></typedef>
470<method-group name="public static functions">
471<method name="identity_element" specifiers="static"><type>Type</type></method>
472</method-group>
473</struct><struct name="version"><template>
474      <template-type-parameter name="Combiner"/>
475    </template><inherit access="public">boost::icl::conversion&lt; Combiner &gt;</inherit><typedef name="type"><type><classname>version</classname>&lt; Combiner &gt;</type></typedef>
476<typedef name="base_type"><type><classname>conversion</classname>&lt; Combiner &gt;</type></typedef>
477<typedef name="argument_type"><type>base_type::argument_type</type></typedef>
478<method-group name="public member functions">
479<method name="operator()"><type>argument_type</type><parameter name="value"><paramtype>const argument_type &amp;</paramtype></parameter></method>
480</method-group>
481</struct><struct-specialization name="version"><template>
482    </template><specialization><template-arg>icl::inplace_minus&lt; double &gt;</template-arg></specialization><method-group name="public member functions">
483<method name="operator()"><type>double</type><parameter name="val"><paramtype>double</paramtype></parameter></method>
484</method-group>
485</struct-specialization><struct-specialization name="version"><template>
486    </template><specialization><template-arg>icl::inplace_minus&lt; float &gt;</template-arg></specialization><method-group name="public member functions">
487<method name="operator()"><type>float</type><parameter name="val"><paramtype>float</paramtype></parameter></method>
488</method-group>
489</struct-specialization><struct-specialization name="version"><template>
490    </template><specialization><template-arg>icl::inplace_minus&lt; int &gt;</template-arg></specialization><method-group name="public member functions">
491<method name="operator()"><type>int</type><parameter name="val"><paramtype>int</paramtype></parameter></method>
492</method-group>
493</struct-specialization><struct-specialization name="version"><template>
494    </template><specialization><template-arg>icl::inplace_minus&lt; long &gt;</template-arg></specialization><method-group name="public member functions">
495<method name="operator()"><type>long</type><parameter name="val"><paramtype>long</paramtype></parameter></method>
496</method-group>
497</struct-specialization><struct-specialization name="version"><template>
498    </template><specialization><template-arg>icl::inplace_minus&lt; long double &gt;</template-arg></specialization><method-group name="public member functions">
499<method name="operator()"><type>long double</type><parameter name="val"><paramtype>long double</paramtype></parameter></method>
500</method-group>
501</struct-specialization><struct-specialization name="version"><template>
502    </template><specialization><template-arg>icl::inplace_minus&lt; long long &gt;</template-arg></specialization><method-group name="public member functions">
503<method name="operator()"><type>long long</type><parameter name="val"><paramtype>long long</paramtype></parameter></method>
504</method-group>
505</struct-specialization><struct-specialization name="version"><template>
506    </template><specialization><template-arg>icl::inplace_minus&lt; short &gt;</template-arg></specialization><method-group name="public member functions">
507<method name="operator()"><type>short</type><parameter name="val"><paramtype>short</paramtype></parameter></method>
508</method-group>
509</struct-specialization><struct-specialization name="version"><template>
510      <template-type-parameter name="Type"/>
511    </template><specialization><template-arg>icl::inplace_minus&lt; Type &gt;</template-arg></specialization><inherit access="public">boost::icl::conversion&lt; icl::inplace_minus&lt; Type &gt; &gt;</inherit><typedef name="type"><type><classname>version</classname>&lt; <classname>icl::inplace_minus</classname>&lt; Type &gt; &gt;</type></typedef>
512<typedef name="base_type"><type><classname>conversion</classname>&lt; <classname>icl::inplace_minus</classname>&lt; Type &gt; &gt;</type></typedef>
513<typedef name="argument_type"><type>base_type::argument_type</type></typedef>
514<method-group name="public member functions">
515<method name="operator()"><type>Type</type><parameter name="value"><paramtype>const Type &amp;</paramtype></parameter></method>
516</method-group>
517</struct-specialization>
518
519
520
521
522
523
524
525
526
527</namespace>
528</namespace>
529</header>
530<header name="boost/icl/gregorian.hpp">
531<namespace name="boost">
532<namespace name="icl">
533<struct-specialization name="difference_type_of"><template>
534    </template><specialization><template-arg>boost::gregorian::date</template-arg></specialization><typedef name="type"><type>boost::gregorian::date_duration</type></typedef>
535</struct-specialization><struct-specialization name="has_difference"><template>
536    </template><specialization><template-arg>boost::gregorian::date</template-arg></specialization><typedef name="type"><type>has_difference</type></typedef>
537<method-group name="public member functions">
538<method name="BOOST_STATIC_CONSTANT"><type/><parameter name=""><paramtype>bool</paramtype></parameter><parameter name=""><paramtype>value</paramtype><default>true</default></parameter></method>
539</method-group>
540</struct-specialization><struct-specialization name="has_difference"><template>
541    </template><specialization><template-arg>boost::gregorian::date_duration</template-arg></specialization><typedef name="type"><type>has_difference</type></typedef>
542<method-group name="public member functions">
543<method name="BOOST_STATIC_CONSTANT"><type/><parameter name=""><paramtype>bool</paramtype></parameter><parameter name=""><paramtype>value</paramtype><default>true</default></parameter></method>
544</method-group>
545</struct-specialization><struct-specialization name="identity_element"><template>
546    </template><specialization><template-arg>boost::gregorian::date_duration</template-arg></specialization><method-group name="public static functions">
547<method name="value" specifiers="static"><type>boost::gregorian::date_duration</type></method>
548</method-group>
549</struct-specialization><struct-specialization name="is_discrete"><template>
550    </template><specialization><template-arg>boost::gregorian::date</template-arg></specialization><typedef name="type"><type>is_discrete</type></typedef>
551<method-group name="public member functions">
552<method name="BOOST_STATIC_CONSTANT"><type/><parameter name=""><paramtype>bool</paramtype></parameter><parameter name=""><paramtype>value</paramtype><default>true</default></parameter></method>
553</method-group>
554</struct-specialization><struct-specialization name="is_discrete"><template>
555    </template><specialization><template-arg>boost::gregorian::date_duration</template-arg></specialization><typedef name="type"><type>is_discrete</type></typedef>
556<method-group name="public member functions">
557<method name="BOOST_STATIC_CONSTANT"><type/><parameter name=""><paramtype>bool</paramtype></parameter><parameter name=""><paramtype>value</paramtype><default>true</default></parameter></method>
558</method-group>
559</struct-specialization><struct-specialization name="size_type_of"><template>
560    </template><specialization><template-arg>boost::gregorian::date</template-arg></specialization><typedef name="type"><type>boost::gregorian::date_duration</type></typedef>
561</struct-specialization><struct-specialization name="size_type_of"><template>
562    </template><specialization><template-arg>boost::gregorian::date_duration</template-arg></specialization><typedef name="type"><type>boost::gregorian::date_duration</type></typedef>
563</struct-specialization>
564
565
566
567
568
569<function name="operator++"><type>boost::gregorian::date</type><parameter name="x"><paramtype>boost::gregorian::date &amp;</paramtype></parameter></function>
570<function name="operator--"><type>boost::gregorian::date</type><parameter name="x"><paramtype>boost::gregorian::date &amp;</paramtype></parameter></function>
571<function name="operator++"><type>boost::gregorian::date_duration</type><parameter name="x"><paramtype>boost::gregorian::date_duration &amp;</paramtype></parameter></function>
572<function name="operator--"><type>boost::gregorian::date_duration</type><parameter name="x"><paramtype>boost::gregorian::date_duration &amp;</paramtype></parameter></function>
573</namespace>
574</namespace>
575</header>
576<header name="boost/icl/impl_config.hpp">
577<macro name="ICL_IMPL_SPACE"/>
578</header>
579<header name="boost/icl/interval.hpp">
580<namespace name="boost">
581<namespace name="icl">
582<struct name="interval"><template>
583      <template-type-parameter name="DomainT"/>
584      <template-nontype-parameter name="Compare"><type>ICL_COMPARE</type><default>ICL_COMPARE_INSTANCE(ICL_COMPARE_DEFAULT, DomainT)</default></template-nontype-parameter>
585    </template><typedef name="interval_type"><type>interval_type_default&lt; DomainT, Compare &gt;::type</type></typedef>
586<typedef name="type"><type>interval_type</type></typedef>
587<method-group name="public static functions">
588<method name="right_open" specifiers="static"><type>interval_type</type><parameter name="low"><paramtype>const DomainT &amp;</paramtype></parameter><parameter name="up"><paramtype>const DomainT &amp;</paramtype></parameter></method>
589<method name="left_open" specifiers="static"><type>interval_type</type><parameter name="low"><paramtype>const DomainT &amp;</paramtype></parameter><parameter name="up"><paramtype>const DomainT &amp;</paramtype></parameter></method>
590<method name="open" specifiers="static"><type>interval_type</type><parameter name="low"><paramtype>const DomainT &amp;</paramtype></parameter><parameter name="up"><paramtype>const DomainT &amp;</paramtype></parameter></method>
591<method name="closed" specifiers="static"><type>interval_type</type><parameter name="low"><paramtype>const DomainT &amp;</paramtype></parameter><parameter name="up"><paramtype>const DomainT &amp;</paramtype></parameter></method>
592<method name="construct" specifiers="static"><type>interval_type</type><parameter name="low"><paramtype>const DomainT &amp;</paramtype></parameter><parameter name="up"><paramtype>const DomainT &amp;</paramtype></parameter></method>
593</method-group>
594</struct><struct name="static_interval"><template>
595      <template-type-parameter name="IntervalT"/>
596      <template-nontype-parameter name="IsDiscrete"><type>bool</type></template-nontype-parameter>
597      <template-nontype-parameter name="PretendedBounds"><type>bound_type</type></template-nontype-parameter>
598      <template-nontype-parameter name="RepresentedBounds"><type>bound_type</type></template-nontype-parameter>
599    </template></struct><struct-specialization name="static_interval"><template>
600      <template-type-parameter name="IntervalT"/>
601      <template-nontype-parameter name="PretendedBounds"><type>bound_type</type></template-nontype-parameter>
602      <template-nontype-parameter name="RepresentedBounds"><type>bound_type</type></template-nontype-parameter>
603    </template><specialization><template-arg>IntervalT</template-arg><template-arg>false</template-arg><template-arg>PretendedBounds</template-arg><template-arg>RepresentedBounds</template-arg></specialization><typedef name="domain_type"><type><classname>interval_traits</classname>&lt; IntervalT &gt;::domain_type</type></typedef>
604<method-group name="public static functions">
605<method name="construct" specifiers="static"><type>IntervalT</type><parameter name="low"><paramtype>const domain_type &amp;</paramtype></parameter><parameter name="up"><paramtype>const domain_type &amp;</paramtype></parameter></method>
606</method-group>
607</struct-specialization><struct-specialization name="static_interval"><template>
608      <template-type-parameter name="IntervalT"/>
609      <template-nontype-parameter name="PretendedBounds"><type>bound_type</type></template-nontype-parameter>
610      <template-nontype-parameter name="RepresentedBounds"><type>bound_type</type></template-nontype-parameter>
611    </template><specialization><template-arg>IntervalT</template-arg><template-arg>true</template-arg><template-arg>PretendedBounds</template-arg><template-arg>RepresentedBounds</template-arg></specialization><typedef name="domain_type"><type><classname>interval_traits</classname>&lt; IntervalT &gt;::domain_type</type></typedef>
612<method-group name="public static functions">
613<method name="construct" specifiers="static"><type>IntervalT</type><parameter name="low"><paramtype>const domain_type &amp;</paramtype></parameter><parameter name="up"><paramtype>const domain_type &amp;</paramtype></parameter></method>
614</method-group>
615</struct-specialization>
616
617
618
619
620
621
622
623
624
625</namespace>
626</namespace>
627</header>
628<header name="boost/icl/interval_base_map.hpp">
629<namespace name="boost">
630<namespace name="icl">
631<struct-specialization name="absorbs_identities"><template>
632      <template-type-parameter name="SubType"/>
633      <template-type-parameter name="DomainT"/>
634      <template-type-parameter name="CodomainT"/>
635      <template-type-parameter name="Traits"/>
636      <template-nontype-parameter name="Compare"><type>ICL_COMPARE</type></template-nontype-parameter>
637      <template-nontype-parameter name="Combine"><type>ICL_COMBINE</type></template-nontype-parameter>
638      <template-nontype-parameter name="Section"><type>ICL_SECTION</type></template-nontype-parameter>
639      <template-nontype-parameter name="Interval"><type>ICL_INTERVAL(ICL_COMPARE)</type></template-nontype-parameter>
640      <template-nontype-parameter name="Alloc"><type>ICL_ALLOC</type></template-nontype-parameter>
641    </template><specialization><template-arg>icl::interval_base_map&lt; SubType</template-arg><template-arg>DomainT</template-arg><template-arg>CodomainT</template-arg><template-arg>Traits</template-arg><template-arg>Compare</template-arg><template-arg>Combine</template-arg><template-arg>Section</template-arg><template-arg>Interval</template-arg><template-arg>Alloc &gt;</template-arg></specialization><typedef name="type"><type>absorbs_identities&lt; <classname>icl::interval_base_map</classname>&lt; SubType, DomainT, CodomainT, Traits, Compare, Combine, Section, Interval, Alloc &gt; &gt;</type></typedef>
642<method-group name="public member functions">
643<method name="BOOST_STATIC_CONSTANT"><type/><parameter name=""><paramtype>bool</paramtype></parameter><parameter name=""><paramtype>value</paramtype><default>(Traits::absorbs_identities)</default></parameter></method>
644</method-group>
645</struct-specialization><struct-specialization name="has_inverse"><template>
646      <template-type-parameter name="SubType"/>
647      <template-type-parameter name="DomainT"/>
648      <template-type-parameter name="CodomainT"/>
649      <template-type-parameter name="Traits"/>
650      <template-nontype-parameter name="Compare"><type>ICL_COMPARE</type></template-nontype-parameter>
651      <template-nontype-parameter name="Combine"><type>ICL_COMBINE</type></template-nontype-parameter>
652      <template-nontype-parameter name="Section"><type>ICL_SECTION</type></template-nontype-parameter>
653      <template-nontype-parameter name="Interval"><type>ICL_INTERVAL(ICL_COMPARE)</type></template-nontype-parameter>
654      <template-nontype-parameter name="Alloc"><type>ICL_ALLOC</type></template-nontype-parameter>
655    </template><specialization><template-arg>icl::interval_base_map&lt; SubType</template-arg><template-arg>DomainT</template-arg><template-arg>CodomainT</template-arg><template-arg>Traits</template-arg><template-arg>Compare</template-arg><template-arg>Combine</template-arg><template-arg>Section</template-arg><template-arg>Interval</template-arg><template-arg>Alloc &gt;</template-arg></specialization><typedef name="type"><type>has_inverse&lt; <classname>icl::interval_base_map</classname>&lt; SubType, DomainT, CodomainT, Traits, Compare, Combine, Section, Interval, Alloc &gt; &gt;</type></typedef>
656<method-group name="public member functions">
657<method name="BOOST_STATIC_CONSTANT"><type/><parameter name=""><paramtype>bool</paramtype></parameter><parameter name=""><paramtype>value</paramtype><default>(has_inverse&lt; CodomainT &gt;::value)</default></parameter></method>
658</method-group>
659</struct-specialization><class name="interval_base_map"><template>
660      <template-type-parameter name="SubType"/>
661      <template-type-parameter name="DomainT"/>
662      <template-type-parameter name="CodomainT"/>
663      <template-type-parameter name="Traits"><default><classname alt="boost::icl::partial_absorber">icl::partial_absorber</classname></default></template-type-parameter>
664      <template-nontype-parameter name="Compare"><type>ICL_COMPARE</type><default>ICL_COMPARE_INSTANCE(ICL_COMPARE_DEFAULT, DomainT)</default></template-nontype-parameter>
665      <template-nontype-parameter name="Combine"><type>ICL_COMBINE</type><default>ICL_COMBINE_INSTANCE(<classname alt="boost::icl::inplace_plus">icl::inplace_plus</classname>, CodomainT)</default></template-nontype-parameter>
666      <template-nontype-parameter name="Section"><type>ICL_SECTION</type><default>ICL_SECTION_INSTANCE(<classname alt="boost::icl::inter_section">icl::inter_section</classname>, CodomainT)</default></template-nontype-parameter>
667      <template-nontype-parameter name="Interval"><type>ICL_INTERVAL(ICL_COMPARE)</type><default>ICL_INTERVAL_INSTANCE(ICL_INTERVAL_DEFAULT, DomainT, Compare)</default></template-nontype-parameter>
668      <template-nontype-parameter name="Alloc"><type>ICL_ALLOC</type><default>std::allocator</default></template-nontype-parameter>
669    </template><purpose>Implements a map as a map of intervals (base class) </purpose><struct name="on_codomain_model"><template>
670      <template-type-parameter name="Type"/>
671      <template-nontype-parameter name="has_set_semantics"><type>bool</type></template-nontype-parameter>
672    </template></struct><struct-specialization name="on_codomain_model"><template>
673      <template-type-parameter name="Type"/>
674    </template><specialization><template-arg>Type</template-arg><template-arg>false</template-arg></specialization><typedef name="interval_type"><type>Type::interval_type</type></typedef>
675<typedef name="codomain_type"><type>Type::codomain_type</type></typedef>
676<typedef name="segment_type"><type>Type::segment_type</type></typedef>
677<typedef name="codomain_combine"><type>Type::codomain_combine</type></typedef>
678<method-group name="public static functions">
679<method name="add" specifiers="static"><type>void</type><parameter name="intersection"><paramtype>Type &amp;</paramtype></parameter><parameter name="common_interval"><paramtype>interval_type &amp;</paramtype></parameter><parameter name=""><paramtype>const codomain_type &amp;</paramtype></parameter><parameter name=""><paramtype>const codomain_type &amp;</paramtype></parameter></method>
680</method-group>
681</struct-specialization><struct-specialization name="on_codomain_model"><template>
682      <template-type-parameter name="Type"/>
683    </template><specialization><template-arg>Type</template-arg><template-arg>true</template-arg></specialization><typedef name="interval_type"><type>Type::interval_type</type></typedef>
684<typedef name="codomain_type"><type>Type::codomain_type</type></typedef>
685<typedef name="segment_type"><type>Type::segment_type</type></typedef>
686<typedef name="codomain_combine"><type>Type::codomain_combine</type></typedef>
687<typedef name="inverse_codomain_intersect"><type>Type::inverse_codomain_intersect</type></typedef>
688<method-group name="public static functions">
689<method name="add" specifiers="static"><type>void</type><parameter name="intersection"><paramtype>Type &amp;</paramtype></parameter><parameter name="common_interval"><paramtype>interval_type &amp;</paramtype></parameter><parameter name="flip_value"><paramtype>const codomain_type &amp;</paramtype></parameter><parameter name="co_value"><paramtype>const codomain_type &amp;</paramtype></parameter></method>
690</method-group>
691</struct-specialization><struct name="on_definedness"><template>
692      <template-type-parameter name="Type"/>
693      <template-nontype-parameter name="is_total"><type>bool</type></template-nontype-parameter>
694    </template></struct><struct-specialization name="on_definedness"><template>
695      <template-type-parameter name="Type"/>
696    </template><specialization><template-arg>Type</template-arg><template-arg>false</template-arg></specialization><method-group name="public static functions">
697<method name="add_intersection" specifiers="static"><type>void</type><parameter name="section"><paramtype>Type &amp;</paramtype></parameter><parameter name="object"><paramtype>const Type &amp;</paramtype></parameter><parameter name="operand"><paramtype>const segment_type &amp;</paramtype></parameter></method>
698</method-group>
699</struct-specialization><struct-specialization name="on_definedness"><template>
700      <template-type-parameter name="Type"/>
701    </template><specialization><template-arg>Type</template-arg><template-arg>true</template-arg></specialization><method-group name="public static functions">
702<method name="add_intersection" specifiers="static"><type>void</type><parameter name="section"><paramtype>Type &amp;</paramtype></parameter><parameter name="object"><paramtype>const Type &amp;</paramtype></parameter><parameter name="operand"><paramtype>const segment_type &amp;</paramtype></parameter></method>
703</method-group>
704</struct-specialization><struct name="on_invertible"><template>
705      <template-type-parameter name="Type"/>
706      <template-nontype-parameter name="is_total_invertible"><type>bool</type></template-nontype-parameter>
707    </template></struct><struct-specialization name="on_invertible"><template>
708      <template-type-parameter name="Type"/>
709    </template><specialization><template-arg>Type</template-arg><template-arg>false</template-arg></specialization><typedef name="segment_type"><type>Type::segment_type</type></typedef>
710<typedef name="inverse_codomain_combine"><type>Type::inverse_codomain_combine</type></typedef>
711<method-group name="public static functions">
712<method name="subtract" specifiers="static"><type>void</type><parameter name="object"><paramtype>Type &amp;</paramtype></parameter><parameter name="operand"><paramtype>const segment_type &amp;</paramtype></parameter></method>
713</method-group>
714</struct-specialization><struct-specialization name="on_invertible"><template>
715      <template-type-parameter name="Type"/>
716    </template><specialization><template-arg>Type</template-arg><template-arg>true</template-arg></specialization><typedef name="segment_type"><type>Type::segment_type</type></typedef>
717<typedef name="inverse_codomain_combine"><type>Type::inverse_codomain_combine</type></typedef>
718<method-group name="public static functions">
719<method name="subtract" specifiers="static"><type>void</type><parameter name="object"><paramtype>Type &amp;</paramtype></parameter><parameter name="operand"><paramtype>const segment_type &amp;</paramtype></parameter></method>
720</method-group>
721</struct-specialization><struct name="on_total_absorbable"><template>
722      <template-type-parameter name="Type"/>
723      <template-nontype-parameter name="is_total"><type>bool</type></template-nontype-parameter>
724      <template-nontype-parameter name="absorbs_identities"><type>bool</type></template-nontype-parameter>
725    </template></struct><struct-specialization name="on_total_absorbable"><template>
726      <template-type-parameter name="Type"/>
727      <template-nontype-parameter name="absorbs_identities"><type>bool</type></template-nontype-parameter>
728    </template><specialization><template-arg>Type</template-arg><template-arg>false</template-arg><template-arg>absorbs_identities</template-arg></specialization><typedef name="segment_type"><type>Type::segment_type</type></typedef>
729<typedef name="codomain_type"><type>Type::codomain_type</type></typedef>
730<typedef name="interval_type"><type>Type::interval_type</type></typedef>
731<typedef name="value_type"><type>Type::value_type</type></typedef>
732<typedef name="const_iterator"><type>Type::const_iterator</type></typedef>
733<typedef name="set_type"><type>Type::set_type</type></typedef>
734<typedef name="inverse_codomain_intersect"><type>Type::inverse_codomain_intersect</type></typedef>
735<method-group name="public static functions">
736<method name="flip" specifiers="static"><type>void</type><parameter name="object"><paramtype>Type &amp;</paramtype></parameter><parameter name="interval_value_pair"><paramtype>const segment_type &amp;</paramtype></parameter></method>
737</method-group>
738</struct-specialization><struct-specialization name="on_total_absorbable"><template>
739      <template-type-parameter name="Type"/>
740    </template><specialization><template-arg>Type</template-arg><template-arg>true</template-arg><template-arg>false</template-arg></specialization><typedef name="segment_type"><type>Type::segment_type</type></typedef>
741<typedef name="codomain_type"><type>Type::codomain_type</type></typedef>
742<method-group name="public static functions">
743<method name="flip" specifiers="static"><type>void</type><parameter name="object"><paramtype>Type &amp;</paramtype></parameter><parameter name="operand"><paramtype>const segment_type &amp;</paramtype></parameter></method>
744</method-group>
745</struct-specialization><struct-specialization name="on_total_absorbable"><template>
746      <template-type-parameter name="Type"/>
747    </template><specialization><template-arg>Type</template-arg><template-arg>true</template-arg><template-arg>true</template-arg></specialization><method-group name="public static functions">
748<method name="flip" specifiers="static"><type>void</type><parameter name="object"><paramtype>Type &amp;</paramtype></parameter><parameter name=""><paramtype>const typename Type::segment_type &amp;</paramtype></parameter></method>
749</method-group>
750</struct-specialization><typedef name="type"><type><classname>interval_base_map</classname>&lt; SubType, DomainT, CodomainT, Traits, Compare, Combine, Section, Interval, Alloc &gt;</type></typedef>
751<typedef name="sub_type"><purpose>The designated <emphasis>derived</emphasis> or <emphasis>sub_type</emphasis> of this base class. </purpose><type>SubType</type></typedef>
752<typedef name="overloadable_type"><purpose>Auxilliary type for overloadresolution. </purpose><type><classname>type</classname></type></typedef>
753<typedef name="traits"><purpose>Traits of an itl map. </purpose><type>Traits</type></typedef>
754<typedef name="atomized_type"><purpose>The atomized type representing the corresponding container of elements. </purpose><type><classname>icl::map</classname>&lt; DomainT, CodomainT, Traits, Compare, Combine, Section, Alloc &gt;</type></typedef>
755<typedef name="domain_type"><purpose>Domain type (type of the keys) of the map. </purpose><type>DomainT</type></typedef>
756<typedef name="domain_param"><type>boost::call_traits&lt; DomainT &gt;::param_type</type></typedef>
757<typedef name="codomain_type"><purpose>Domain type (type of the keys) of the map. </purpose><type>CodomainT</type></typedef>
758<typedef name="domain_mapping_type"><purpose>Auxiliary type to help the compiler resolve ambiguities when using std::make_pair. </purpose><type><classname>mapping_pair</classname>&lt; domain_type, codomain_type &gt;</type></typedef>
759<typedef name="element_type"><purpose>Conceptual is a map a set of elements of type <computeroutput>element_type</computeroutput>. </purpose><type>domain_mapping_type</type></typedef>
760<typedef name="interval_mapping_type"><purpose>Auxiliary type for overload resolution. </purpose><type>std::pair&lt; interval_type, CodomainT &gt;</type></typedef>
761<typedef name="segment_type"><purpose>Type of an interval containers segment, that is spanned by an interval. </purpose><type>std::pair&lt; interval_type, CodomainT &gt;</type></typedef>
762<typedef name="difference_type"><purpose>The difference type of an interval which is sometimes different form the domain_type. </purpose><type>difference_type_of&lt; domain_type &gt;::<classname>type</classname></type></typedef>
763<typedef name="size_type"><purpose>The size type of an interval which is mostly std::size_t. </purpose><type>size_type_of&lt; domain_type &gt;::<classname>type</classname></type></typedef>
764<typedef name="inverse_codomain_combine"><purpose>Inverse Combine functor for codomain value aggregation. </purpose><type><classname>inverse</classname>&lt; codomain_combine &gt;::<classname>type</classname></type></typedef>
765<typedef name="codomain_intersect"><purpose>Intersection functor for codomain values. </purpose><type>mpl::if_&lt; has_set_semantics&lt; codomain_type &gt;, ICL_SECTION_CODOMAIN(Section, CodomainT), codomain_combine &gt;::<classname>type</classname></type></typedef>
766<typedef name="inverse_codomain_intersect"><purpose>Inverse Combine functor for codomain value intersection. </purpose><type><classname>inverse</classname>&lt; codomain_intersect &gt;::<classname>type</classname></type></typedef>
767<typedef name="interval_compare"><purpose>Comparison functor for intervals which are keys as well. </purpose><type>exclusive_less_than&lt; interval_type &gt;</type></typedef>
768<typedef name="key_compare"><purpose>Comparison functor for keys. </purpose><type>exclusive_less_than&lt; interval_type &gt;</type></typedef>
769<typedef name="allocator_type"><purpose>The allocator type of the set. </purpose><type>Alloc&lt; std::pair&lt; const interval_type, codomain_type &gt; &gt;</type></typedef>
770<typedef name="ImplMapT"><purpose>Container type for the implementation. </purpose><type>ICL_IMPL_SPACE::map&lt; interval_type, codomain_type, key_compare, allocator_type &gt;</type></typedef>
771<typedef name="key_type"><purpose>key type of the implementing container </purpose><type>ImplMapT::key_type</type></typedef>
772<typedef name="value_type"><purpose>value type of the implementing container </purpose><type>ImplMapT::value_type</type></typedef>
773<typedef name="data_type"><purpose>data type of the implementing container </purpose><type>ImplMapT::value_type::second_type</type></typedef>
774<typedef name="pointer"><purpose>pointer type </purpose><type>ImplMapT::pointer</type></typedef>
775<typedef name="const_pointer"><purpose>const pointer type </purpose><type>ImplMapT::const_pointer</type></typedef>
776<typedef name="reference"><purpose>reference type </purpose><type>ImplMapT::reference</type></typedef>
777<typedef name="const_reference"><purpose>const reference type </purpose><type>ImplMapT::const_reference</type></typedef>
778<typedef name="iterator"><purpose>iterator for iteration over intervals </purpose><type>ImplMapT::iterator</type></typedef>
779<typedef name="const_iterator"><purpose>const_iterator for iteration over intervals </purpose><type>ImplMapT::const_iterator</type></typedef>
780<typedef name="reverse_iterator"><purpose>iterator for reverse iteration over intervals </purpose><type>ImplMapT::reverse_iterator</type></typedef>
781<typedef name="const_reverse_iterator"><purpose>const_iterator for iteration over intervals </purpose><type>ImplMapT::const_reverse_iterator</type></typedef>
782<typedef name="element_iterator"><purpose>element iterator: Depreciated, see documentation. </purpose><type>boost::icl::element_iterator&lt; iterator &gt;</type></typedef>
783<typedef name="element_const_iterator"><purpose>const element iterator: Depreciated, see documentation. </purpose><type>boost::icl::element_iterator&lt; const_iterator &gt;</type></typedef>
784<typedef name="element_reverse_iterator"><purpose>element reverse iterator: Depreciated, see documentation. </purpose><type>boost::icl::element_iterator&lt; reverse_iterator &gt;</type></typedef>
785<typedef name="element_const_reverse_iterator"><purpose>element const reverse iterator: Depreciated, see documentation. </purpose><type>boost::icl::element_iterator&lt; const_reverse_iterator &gt;</type></typedef>
786<typedef name="on_codomain_absorbtion"><type>on_absorbtion&lt; <classname>type</classname>, codomain_combine, Traits::absorbs_identities &gt;::<classname>type</classname></type></typedef>
787<method-group name="public member functions">
788<method name="ICL_INTERVAL_TYPE"><type>typedef</type><parameter name=""><paramtype>Interval</paramtype></parameter><parameter name=""><paramtype>DomainT</paramtype></parameter><parameter name=""><paramtype>Compare</paramtype></parameter><purpose>The interval type of the map. </purpose></method>
789<method name="ICL_COMPARE_DOMAIN"><type>typedef</type><parameter name=""><paramtype>Compare</paramtype></parameter><parameter name=""><paramtype>DomainT</paramtype></parameter><purpose>Comparison functor for domain values. </purpose></method>
790<method name="ICL_COMPARE_DOMAIN"><type>typedef</type><parameter name=""><paramtype>Compare</paramtype></parameter><parameter name=""><paramtype>segment_type</paramtype></parameter></method>
791<method name="ICL_COMBINE_CODOMAIN"><type>typedef</type><parameter name=""><paramtype>Combine</paramtype></parameter><parameter name=""><paramtype>CodomainT</paramtype></parameter><purpose>Combine functor for codomain value aggregation. </purpose></method>
792<method name="BOOST_STATIC_CONSTANT"><type/><parameter name=""><paramtype>bool</paramtype></parameter><parameter name=""><paramtype>is_total_invertible</paramtype><default>(Traits::is_total &amp;&amp;has_inverse&lt; codomain_type &gt;::value)</default></parameter></method>
793<method name="BOOST_STATIC_CONSTANT"><type/><parameter name=""><paramtype>int</paramtype></parameter><parameter name=""><paramtype>fineness</paramtype><default>0</default></parameter></method>
794<method name="swap"><type>void</type><parameter name="object"><paramtype><classname>interval_base_map</classname> &amp;</paramtype></parameter><description><para>swap the content of containers </para></description></method>
795<method name="clear"><type>void</type><description><para>clear the map </para></description></method>
796<method name="empty" cv="const"><type>bool</type><description><para>is the map empty? </para></description></method>
797<method name="size" cv="const"><type>size_type</type><description><para>An interval map's size is it's cardinality </para></description></method>
798<method name="iterative_size" cv="const"><type>std::size_t</type><description><para>Size of the iteration over this container </para></description></method>
799<method name="find" cv="const"><type>const_iterator</type><parameter name="key_value"><paramtype>const domain_type &amp;</paramtype></parameter><description><para>Find the interval value pair, that contains <computeroutput>key</computeroutput> </para></description></method>
800<method name="find" cv="const"><type>const_iterator</type><parameter name="key_interval"><paramtype>const interval_type &amp;</paramtype></parameter><description><para>Find the first interval value pair, that collides with interval <computeroutput>key_interval</computeroutput> </para></description></method>
801<method name="operator()" cv="const"><type>codomain_type</type><parameter name="key_value"><paramtype>const domain_type &amp;</paramtype></parameter><description><para>Total select function. </para></description></method>
802<method name="add"><type>SubType &amp;</type><parameter name="key_value_pair"><paramtype>const element_type &amp;</paramtype></parameter><description><para>Addition of a key value pair to the map </para></description></method>
803<method name="add"><type>SubType &amp;</type><parameter name="interval_value_pair"><paramtype>const segment_type &amp;</paramtype></parameter><description><para>Addition of an interval value pair to the map. </para></description></method>
804<method name="add"><type>iterator</type><parameter name="prior_"><paramtype>iterator</paramtype></parameter><parameter name="interval_value_pair"><paramtype>const segment_type &amp;</paramtype></parameter><description><para>Addition of an interval value pair <computeroutput>interval_value_pair</computeroutput> to the map. Iterator <computeroutput>prior_</computeroutput> is a hint to the position <computeroutput>interval_value_pair</computeroutput> can be inserted after. </para></description></method>
805<method name="subtract"><type>SubType &amp;</type><parameter name="key_value_pair"><paramtype>const element_type &amp;</paramtype></parameter><description><para>Subtraction of a key value pair from the map </para></description></method>
806<method name="subtract"><type>SubType &amp;</type><parameter name="interval_value_pair"><paramtype>const segment_type &amp;</paramtype></parameter><description><para>Subtraction of an interval value pair from the map. </para></description></method>
807<method name="insert"><type>SubType &amp;</type><parameter name="key_value_pair"><paramtype>const element_type &amp;</paramtype></parameter><description><para>Insertion of a <computeroutput>key_value_pair</computeroutput> into the map. </para></description></method>
808<method name="insert"><type>SubType &amp;</type><parameter name="interval_value_pair"><paramtype>const segment_type &amp;</paramtype></parameter><description><para>Insertion of an <computeroutput>interval_value_pair</computeroutput> into the map. </para></description></method>
809<method name="insert"><type>iterator</type><parameter name="prior"><paramtype>iterator</paramtype></parameter><parameter name="interval_value_pair"><paramtype>const segment_type &amp;</paramtype></parameter><description><para>Insertion of an <computeroutput>interval_value_pair</computeroutput> into the map. Iterator <computeroutput>prior_</computeroutput>. serves as a hint to insert after the element <computeroutput>prior</computeroutput> point to. </para></description></method>
810<method name="set"><type>SubType &amp;</type><parameter name="key_value_pair"><paramtype>const element_type &amp;</paramtype></parameter><description><para>With <computeroutput>key_value_pair = (k,v)</computeroutput> set value <computeroutput>v</computeroutput> for key <computeroutput>k</computeroutput> </para></description></method>
811<method name="set"><type>SubType &amp;</type><parameter name="interval_value_pair"><paramtype>const segment_type &amp;</paramtype></parameter><description><para>With <computeroutput>interval_value_pair = (I,v)</computeroutput> set value <computeroutput>v</computeroutput> for all keys in interval <computeroutput>I</computeroutput> in the map. </para></description></method>
812<method name="erase"><type>SubType &amp;</type><parameter name="key_value_pair"><paramtype>const element_type &amp;</paramtype></parameter><description><para>Erase a <computeroutput>key_value_pair</computeroutput> from the map. </para></description></method>
813<method name="erase"><type>SubType &amp;</type><parameter name="interval_value_pair"><paramtype>const segment_type &amp;</paramtype></parameter><description><para>Erase an <computeroutput>interval_value_pair</computeroutput> from the map. </para></description></method>
814<method name="erase"><type>SubType &amp;</type><parameter name="key"><paramtype>const domain_type &amp;</paramtype></parameter><description><para>Erase a key value pair for <computeroutput>key</computeroutput>. </para></description></method>
815<method name="erase"><type>SubType &amp;</type><parameter name="inter_val"><paramtype>const interval_type &amp;</paramtype></parameter><description><para>Erase all value pairs within the range of the interval <computeroutput>inter_val</computeroutput> from the map. </para></description></method>
816<method name="erase"><type>void</type><parameter name="position"><paramtype>iterator</paramtype></parameter><description><para>Erase all value pairs within the range of the interval that iterator <computeroutput>position</computeroutput> points to. </para></description></method>
817<method name="erase"><type>void</type><parameter name="first"><paramtype>iterator</paramtype></parameter><parameter name="past"><paramtype>iterator</paramtype></parameter><description><para>Erase all value pairs for a range of iterators <computeroutput>[first,past)</computeroutput>. </para></description></method>
818<method name="add_intersection" cv="const"><type>void</type><parameter name="section"><paramtype>SubType &amp;</paramtype></parameter><parameter name="interval_value_pair"><paramtype>const segment_type &amp;</paramtype></parameter><description><para>The intersection of <computeroutput>interval_value_pair</computeroutput> and <computeroutput>*this</computeroutput> map is added to <computeroutput>section</computeroutput>. </para></description></method>
819<method name="flip"><type>SubType &amp;</type><parameter name="key_value_pair"><paramtype>const element_type &amp;</paramtype></parameter><description><para>If <computeroutput>*this</computeroutput> map contains <computeroutput>key_value_pair</computeroutput> it is erased, otherwise it is added. </para></description></method>
820<method name="flip"><type>SubType &amp;</type><parameter name="interval_value_pair"><paramtype>const segment_type &amp;</paramtype></parameter><description><para>If <computeroutput>*this</computeroutput> map contains <computeroutput>interval_value_pair</computeroutput> it is erased, otherwise it is added. </para></description></method>
821<method name="lower_bound"><type>iterator</type><parameter name="interval"><paramtype>const key_type &amp;</paramtype></parameter></method>
822<method name="upper_bound"><type>iterator</type><parameter name="interval"><paramtype>const key_type &amp;</paramtype></parameter></method>
823<method name="lower_bound" cv="const"><type>const_iterator</type><parameter name="interval"><paramtype>const key_type &amp;</paramtype></parameter></method>
824<method name="upper_bound" cv="const"><type>const_iterator</type><parameter name="interval"><paramtype>const key_type &amp;</paramtype></parameter></method>
825<method name="equal_range"><type>std::pair&lt; iterator, iterator &gt;</type><parameter name="interval"><paramtype>const key_type &amp;</paramtype></parameter></method>
826<method name="equal_range" cv="const"><type>std::pair&lt; const_iterator, const_iterator &gt;</type><parameter name="interval"><paramtype>const key_type &amp;</paramtype></parameter></method>
827<method name="begin"><type>iterator</type></method>
828<method name="end"><type>iterator</type></method>
829<method name="begin" cv="const"><type>const_iterator</type></method>
830<method name="end" cv="const"><type>const_iterator</type></method>
831<method name="rbegin"><type>reverse_iterator</type></method>
832<method name="rend"><type>reverse_iterator</type></method>
833<method name="rbegin" cv="const"><type>const_reverse_iterator</type></method>
834<method name="rend" cv="const"><type>const_reverse_iterator</type></method>
835</method-group>
836<constructor><description><para>Default constructor for the empty object </para></description></constructor>
837<constructor><parameter name="src"><paramtype>const <classname>interval_base_map</classname> &amp;</paramtype></parameter><description><para>Copy constructor </para></description></constructor>
838<constructor><parameter name="src"><paramtype><classname>interval_base_map</classname> &amp;&amp;</paramtype></parameter><description><para>Move constructor </para></description></constructor>
839<copy-assignment><type><classname>interval_base_map</classname> &amp;</type><parameter name="src"><paramtype><classname>interval_base_map</classname></paramtype></parameter><description><para>Move assignment operator </para></description></copy-assignment>
840<method-group name="private member functions">
841<method name="_add"><type>iterator</type><template>
842          <template-type-parameter name="Combiner"/>
843        </template><parameter name="interval_value_pair"><paramtype>const segment_type &amp;</paramtype></parameter></method>
844<method name="_add"><type>iterator</type><template>
845          <template-type-parameter name="Combiner"/>
846        </template><parameter name="prior_"><paramtype>iterator</paramtype></parameter><parameter name="interval_value_pair"><paramtype>const segment_type &amp;</paramtype></parameter></method>
847<method name="_subtract"><type>void</type><template>
848          <template-type-parameter name="Combiner"/>
849        </template><parameter name="interval_value_pair"><paramtype>const segment_type &amp;</paramtype></parameter></method>
850<method name="_insert"><type>iterator</type><parameter name="interval_value_pair"><paramtype>const segment_type &amp;</paramtype></parameter></method>
851<method name="_insert"><type>iterator</type><parameter name="prior_"><paramtype>iterator</paramtype></parameter><parameter name="interval_value_pair"><paramtype>const segment_type &amp;</paramtype></parameter></method>
852<method name="add_segment"><type>void</type><template>
853          <template-type-parameter name="Combiner"/>
854        </template><parameter name="inter_val"><paramtype>const interval_type &amp;</paramtype></parameter><parameter name="co_val"><paramtype>const CodomainT &amp;</paramtype></parameter><parameter name="it_"><paramtype>iterator &amp;</paramtype></parameter></method>
855<method name="add_main"><type>void</type><template>
856          <template-type-parameter name="Combiner"/>
857        </template><parameter name="inter_val"><paramtype>interval_type &amp;</paramtype></parameter><parameter name="co_val"><paramtype>const CodomainT &amp;</paramtype></parameter><parameter name="it_"><paramtype>iterator &amp;</paramtype></parameter><parameter name="last_"><paramtype>const iterator &amp;</paramtype></parameter></method>
858<method name="add_rear"><type>void</type><template>
859          <template-type-parameter name="Combiner"/>
860        </template><parameter name="inter_val"><paramtype>const interval_type &amp;</paramtype></parameter><parameter name="co_val"><paramtype>const CodomainT &amp;</paramtype></parameter><parameter name="it_"><paramtype>iterator &amp;</paramtype></parameter></method>
861<method name="add_front"><type>void</type><parameter name="inter_val"><paramtype>const interval_type &amp;</paramtype></parameter><parameter name="first_"><paramtype>iterator &amp;</paramtype></parameter></method>
862<method name="subtract_front"><type>void</type><parameter name="inter_val"><paramtype>const interval_type &amp;</paramtype></parameter><parameter name="first_"><paramtype>iterator &amp;</paramtype></parameter></method>
863<method name="subtract_main"><type>void</type><template>
864          <template-type-parameter name="Combiner"/>
865        </template><parameter name="co_val"><paramtype>const CodomainT &amp;</paramtype></parameter><parameter name="it_"><paramtype>iterator &amp;</paramtype></parameter><parameter name="last_"><paramtype>const iterator &amp;</paramtype></parameter></method>
866<method name="subtract_rear"><type>void</type><template>
867          <template-type-parameter name="Combiner"/>
868        </template><parameter name="inter_val"><paramtype>interval_type &amp;</paramtype></parameter><parameter name="co_val"><paramtype>const CodomainT &amp;</paramtype></parameter><parameter name="it_"><paramtype>iterator &amp;</paramtype></parameter></method>
869<method name="insert_main"><type>void</type><parameter name=""><paramtype>const interval_type &amp;</paramtype></parameter><parameter name=""><paramtype>const CodomainT &amp;</paramtype></parameter><parameter name=""><paramtype>iterator &amp;</paramtype></parameter><parameter name=""><paramtype>const iterator &amp;</paramtype></parameter></method>
870<method name="erase_rest"><type>void</type><parameter name=""><paramtype>interval_type &amp;</paramtype></parameter><parameter name=""><paramtype>const CodomainT &amp;</paramtype></parameter><parameter name=""><paramtype>iterator &amp;</paramtype></parameter><parameter name=""><paramtype>const iterator &amp;</paramtype></parameter></method>
871<method name="total_add_intersection" cv="const"><type>void</type><template>
872          <template-type-parameter name="FragmentT"/>
873        </template><parameter name="section"><paramtype>SubType &amp;</paramtype></parameter><parameter name="fragment"><paramtype>const FragmentT &amp;</paramtype></parameter></method>
874<method name="partial_add_intersection" cv="const"><type>void</type><parameter name="section"><paramtype>SubType &amp;</paramtype></parameter><parameter name="operand"><paramtype>const segment_type &amp;</paramtype></parameter></method>
875<method name="partial_add_intersection" cv="const"><type>void</type><parameter name="section"><paramtype>SubType &amp;</paramtype></parameter><parameter name="operand"><paramtype>const element_type &amp;</paramtype></parameter></method>
876</method-group>
877<method-group name="protected member functions">
878<method name="gap_insert"><type>iterator</type><template>
879          <template-type-parameter name="Combiner"/>
880        </template><parameter name="prior_"><paramtype>iterator</paramtype></parameter><parameter name="inter_val"><paramtype>const interval_type &amp;</paramtype></parameter><parameter name="co_val"><paramtype>const codomain_type &amp;</paramtype></parameter></method>
881<method name="add_at"><type>std::pair&lt; iterator, bool &gt;</type><template>
882          <template-type-parameter name="Combiner"/>
883        </template><parameter name="prior_"><paramtype>const iterator &amp;</paramtype></parameter><parameter name="inter_val"><paramtype>const interval_type &amp;</paramtype></parameter><parameter name="co_val"><paramtype>const codomain_type &amp;</paramtype></parameter></method>
884<method name="insert_at"><type>std::pair&lt; iterator, bool &gt;</type><parameter name="prior_"><paramtype>const iterator &amp;</paramtype></parameter><parameter name="inter_val"><paramtype>const interval_type &amp;</paramtype></parameter><parameter name="co_val"><paramtype>const codomain_type &amp;</paramtype></parameter></method>
885<method name="that"><type>sub_type *</type></method>
886<method name="that" cv="const"><type>const sub_type *</type></method>
887</method-group>
888</class><struct-specialization name="is_interval_container"><template>
889      <template-type-parameter name="SubType"/>
890      <template-type-parameter name="DomainT"/>
891      <template-type-parameter name="CodomainT"/>
892      <template-type-parameter name="Traits"/>
893      <template-nontype-parameter name="Compare"><type>ICL_COMPARE</type></template-nontype-parameter>
894      <template-nontype-parameter name="Combine"><type>ICL_COMBINE</type></template-nontype-parameter>
895      <template-nontype-parameter name="Section"><type>ICL_SECTION</type></template-nontype-parameter>
896      <template-nontype-parameter name="Interval"><type>ICL_INTERVAL(ICL_COMPARE)</type></template-nontype-parameter>
897      <template-nontype-parameter name="Alloc"><type>ICL_ALLOC</type></template-nontype-parameter>
898    </template><specialization><template-arg>icl::interval_base_map&lt; SubType</template-arg><template-arg>DomainT</template-arg><template-arg>CodomainT</template-arg><template-arg>Traits</template-arg><template-arg>Compare</template-arg><template-arg>Combine</template-arg><template-arg>Section</template-arg><template-arg>Interval</template-arg><template-arg>Alloc &gt;</template-arg></specialization><typedef name="type"><type>is_interval_container&lt; <classname>icl::interval_base_map</classname>&lt; SubType, DomainT, CodomainT, Traits, Compare, Combine, Section, Interval, Alloc &gt; &gt;</type></typedef>
899<method-group name="public member functions">
900<method name="BOOST_STATIC_CONSTANT"><type/><parameter name=""><paramtype>bool</paramtype></parameter><parameter name=""><paramtype>value</paramtype><default>true</default></parameter></method>
901</method-group>
902</struct-specialization><struct-specialization name="is_map"><template>
903      <template-type-parameter name="SubType"/>
904      <template-type-parameter name="DomainT"/>
905      <template-type-parameter name="CodomainT"/>
906      <template-type-parameter name="Traits"/>
907      <template-nontype-parameter name="Compare"><type>ICL_COMPARE</type></template-nontype-parameter>
908      <template-nontype-parameter name="Combine"><type>ICL_COMBINE</type></template-nontype-parameter>
909      <template-nontype-parameter name="Section"><type>ICL_SECTION</type></template-nontype-parameter>
910      <template-nontype-parameter name="Interval"><type>ICL_INTERVAL(ICL_COMPARE)</type></template-nontype-parameter>
911      <template-nontype-parameter name="Alloc"><type>ICL_ALLOC</type></template-nontype-parameter>
912    </template><specialization><template-arg>icl::interval_base_map&lt; SubType</template-arg><template-arg>DomainT</template-arg><template-arg>CodomainT</template-arg><template-arg>Traits</template-arg><template-arg>Compare</template-arg><template-arg>Combine</template-arg><template-arg>Section</template-arg><template-arg>Interval</template-arg><template-arg>Alloc &gt;</template-arg></specialization><typedef name="type"><type>is_map&lt; <classname>icl::interval_base_map</classname>&lt; SubType, DomainT, CodomainT, Traits, Compare, Combine, Section, Interval, Alloc &gt; &gt;</type></typedef>
913<method-group name="public member functions">
914<method name="BOOST_STATIC_CONSTANT"><type/><parameter name=""><paramtype>bool</paramtype></parameter><parameter name=""><paramtype>value</paramtype><default>true</default></parameter></method>
915</method-group>
916</struct-specialization><struct-specialization name="is_total"><template>
917      <template-type-parameter name="SubType"/>
918      <template-type-parameter name="DomainT"/>
919      <template-type-parameter name="CodomainT"/>
920      <template-type-parameter name="Traits"/>
921      <template-nontype-parameter name="Compare"><type>ICL_COMPARE</type></template-nontype-parameter>
922      <template-nontype-parameter name="Combine"><type>ICL_COMBINE</type></template-nontype-parameter>
923      <template-nontype-parameter name="Section"><type>ICL_SECTION</type></template-nontype-parameter>
924      <template-nontype-parameter name="Interval"><type>ICL_INTERVAL(ICL_COMPARE)</type></template-nontype-parameter>
925      <template-nontype-parameter name="Alloc"><type>ICL_ALLOC</type></template-nontype-parameter>
926    </template><specialization><template-arg>icl::interval_base_map&lt; SubType</template-arg><template-arg>DomainT</template-arg><template-arg>CodomainT</template-arg><template-arg>Traits</template-arg><template-arg>Compare</template-arg><template-arg>Combine</template-arg><template-arg>Section</template-arg><template-arg>Interval</template-arg><template-arg>Alloc &gt;</template-arg></specialization><typedef name="type"><type>is_total&lt; <classname>icl::interval_base_map</classname>&lt; SubType, DomainT, CodomainT, Traits, Compare, Combine, Section, Interval, Alloc &gt; &gt;</type></typedef>
927<method-group name="public member functions">
928<method name="BOOST_STATIC_CONSTANT"><type/><parameter name=""><paramtype>bool</paramtype></parameter><parameter name=""><paramtype>value</paramtype><default>(Traits::is_total)</default></parameter></method>
929</method-group>
930</struct-specialization><struct name="mapping_pair"><template>
931      <template-type-parameter name="DomainT"/>
932      <template-type-parameter name="CodomainT"/>
933    </template><data-member name="key"><type>DomainT</type></data-member>
934<data-member name="data"><type>CodomainT</type></data-member>
935<method-group name="public member functions">
936</method-group>
937<constructor/>
938<constructor><parameter name="key_value"><paramtype>const DomainT &amp;</paramtype></parameter><parameter name="data_value"><paramtype>const CodomainT &amp;</paramtype></parameter></constructor>
939<constructor><parameter name="std_pair"><paramtype>const std::pair&lt; DomainT, CodomainT &gt; &amp;</paramtype></parameter></constructor>
940</struct>
941
942
943
944
945
946
947
948
949
950</namespace>
951</namespace>
952</header>
953<header name="boost/icl/interval_base_set.hpp">
954<namespace name="boost">
955<namespace name="icl">
956<class name="interval_base_set"><template>
957      <template-type-parameter name="SubType"/>
958      <template-type-parameter name="DomainT"/>
959      <template-nontype-parameter name="Compare"><type>ICL_COMPARE</type><default>ICL_COMPARE_INSTANCE(ICL_COMPARE_DEFAULT, DomainT)</default></template-nontype-parameter>
960      <template-nontype-parameter name="Interval"><type>ICL_INTERVAL(ICL_COMPARE)</type><default>ICL_INTERVAL_INSTANCE(ICL_INTERVAL_DEFAULT, DomainT, Compare)</default></template-nontype-parameter>
961      <template-nontype-parameter name="Alloc"><type>ICL_ALLOC</type><default>std::allocator</default></template-nontype-parameter>
962    </template><purpose>Implements a set as a set of intervals (base class) </purpose><typedef name="type"><type><classname>interval_base_set</classname>&lt; SubType, DomainT, Compare, Interval, Alloc &gt;</type></typedef>
963<typedef name="sub_type"><purpose>The designated <emphasis>derived</emphasis> or <emphasis>sub_type</emphasis> of this base class. </purpose><type>SubType</type></typedef>
964<typedef name="overloadable_type"><purpose>Auxilliary type for overloadresolution. </purpose><type><classname>type</classname></type></typedef>
965<typedef name="domain_type"><purpose>The domain type of the set. </purpose><type>DomainT</type></typedef>
966<typedef name="codomain_type"><purpose>The codomaintype is the same as domain_type. </purpose><type>DomainT</type></typedef>
967<typedef name="element_type"><purpose>The element type of the set. </purpose><type>DomainT</type></typedef>
968<typedef name="segment_type"><purpose>The segment type of the set. </purpose><type>interval_type</type></typedef>
969<typedef name="difference_type"><purpose>The difference type of an interval which is sometimes different form the data_type. </purpose><type>difference_type_of&lt; domain_type &gt;::<classname>type</classname></type></typedef>
970<typedef name="size_type"><purpose>The size type of an interval which is mostly std::size_t. </purpose><type>size_type_of&lt; domain_type &gt;::<classname>type</classname></type></typedef>
971<typedef name="interval_compare"><purpose>Comparison functor for intervals. </purpose><type>exclusive_less_than&lt; interval_type &gt;</type></typedef>
972<typedef name="key_compare"><purpose>Comparison functor for keys. </purpose><type>exclusive_less_than&lt; interval_type &gt;</type></typedef>
973<typedef name="atomized_type"><purpose>The atomized type representing the corresponding container of elements. </purpose><type>ICL_IMPL_SPACE::set&lt; DomainT, domain_compare, Alloc&lt; DomainT &gt; &gt;</type></typedef>
974<typedef name="allocator_type"><purpose>The allocator type of the set. </purpose><type>Alloc&lt; interval_type &gt;</type></typedef>
975<typedef name="domain_allocator_type"><purpose>allocator type of the corresponding element set </purpose><type>Alloc&lt; DomainT &gt;</type></typedef>
976<typedef name="ImplSetT"><purpose>Container type for the implementation. </purpose><type>ICL_IMPL_SPACE::set&lt; interval_type, key_compare, allocator_type &gt;</type></typedef>
977<typedef name="key_type"><purpose>key type of the implementing container </purpose><type>ImplSetT::key_type</type></typedef>
978<typedef name="data_type"><purpose>data type of the implementing container </purpose><type>ImplSetT::key_type</type></typedef>
979<typedef name="value_type"><purpose>value type of the implementing container </purpose><type>ImplSetT::value_type</type></typedef>
980<typedef name="pointer"><purpose>pointer type </purpose><type>ImplSetT::pointer</type></typedef>
981<typedef name="const_pointer"><purpose>const pointer type </purpose><type>ImplSetT::const_pointer</type></typedef>
982<typedef name="reference"><purpose>reference type </purpose><type>ImplSetT::reference</type></typedef>
983<typedef name="const_reference"><purpose>const reference type </purpose><type>ImplSetT::const_reference</type></typedef>
984<typedef name="iterator"><purpose>iterator for iteration over intervals </purpose><type>ImplSetT::iterator</type></typedef>
985<typedef name="const_iterator"><purpose>const_iterator for iteration over intervals </purpose><type>ImplSetT::const_iterator</type></typedef>
986<typedef name="reverse_iterator"><purpose>iterator for reverse iteration over intervals </purpose><type>ImplSetT::reverse_iterator</type></typedef>
987<typedef name="const_reverse_iterator"><purpose>const_iterator for iteration over intervals </purpose><type>ImplSetT::const_reverse_iterator</type></typedef>
988<typedef name="element_iterator"><purpose>element iterator: Depreciated, see documentation. </purpose><type>boost::icl::element_iterator&lt; iterator &gt;</type></typedef>
989<typedef name="element_const_iterator"><purpose>element const iterator: Depreciated, see documentation. </purpose><type>boost::icl::element_iterator&lt; const_iterator &gt;</type></typedef>
990<typedef name="element_reverse_iterator"><purpose>element reverse iterator: Depreciated, see documentation. </purpose><type>boost::icl::element_iterator&lt; reverse_iterator &gt;</type></typedef>
991<typedef name="element_const_reverse_iterator"><purpose>element const reverse iterator: Depreciated, see documentation. </purpose><type>boost::icl::element_iterator&lt; const_reverse_iterator &gt;</type></typedef>
992<method-group name="public member functions">
993<method name="ICL_INTERVAL_TYPE"><type>typedef</type><parameter name=""><paramtype>Interval</paramtype></parameter><parameter name=""><paramtype>DomainT</paramtype></parameter><parameter name=""><paramtype>Compare</paramtype></parameter><purpose>The interval type of the set. </purpose></method>
994<method name="ICL_COMPARE_DOMAIN"><type>typedef</type><parameter name=""><paramtype>Compare</paramtype></parameter><parameter name=""><paramtype>DomainT</paramtype></parameter><purpose>Comparison functor for domain values. </purpose></method>
995<method name="ICL_COMPARE_DOMAIN"><type>typedef</type><parameter name=""><paramtype>Compare</paramtype></parameter><parameter name=""><paramtype>segment_type</paramtype></parameter></method>
996<method name="BOOST_STATIC_CONSTANT"><type/><parameter name=""><paramtype>int</paramtype></parameter><parameter name=""><paramtype>fineness</paramtype><default>0</default></parameter></method>
997<method name="swap"><type>void</type><parameter name="operand"><paramtype><classname>interval_base_set</classname> &amp;</paramtype></parameter><description><para>swap the content of containers </para></description></method>
998<method name="clear"><type>void</type><description><para>sets the container empty </para></description></method>
999<method name="empty" cv="const"><type>bool</type><description><para>is the container empty? </para></description></method>
1000<method name="size" cv="const"><type>size_type</type><description><para>An interval set's size is it's cardinality </para></description></method>
1001<method name="iterative_size" cv="const"><type>std::size_t</type><description><para>Size of the iteration over this container </para></description></method>
1002<method name="find" cv="const"><type>const_iterator</type><parameter name="key_value"><paramtype>const element_type &amp;</paramtype></parameter><description><para>Find the interval, that contains element <computeroutput>key_value</computeroutput> </para></description></method>
1003<method name="find" cv="const"><type>const_iterator</type><parameter name="key_interval"><paramtype>const interval_type &amp;</paramtype></parameter><description><para>Find the first interval, that collides with interval <computeroutput>key_interval</computeroutput> </para></description></method>
1004<method name="add"><type>SubType &amp;</type><parameter name="key"><paramtype>const element_type &amp;</paramtype></parameter><description><para>Add a single element <computeroutput>key</computeroutput> to the set </para></description></method>
1005<method name="add"><type>SubType &amp;</type><parameter name="inter_val"><paramtype>const segment_type &amp;</paramtype></parameter><description><para>Add an interval of elements <computeroutput>inter_val</computeroutput> to the set </para></description></method>
1006<method name="add"><type>iterator</type><parameter name="prior_"><paramtype>iterator</paramtype></parameter><parameter name="inter_val"><paramtype>const segment_type &amp;</paramtype></parameter><description><para>Add an interval of elements <computeroutput>inter_val</computeroutput> to the set. Iterator <computeroutput>prior_</computeroutput> is a hint to the position <computeroutput>inter_val</computeroutput> can be inserted after. </para></description></method>
1007<method name="subtract"><type>SubType &amp;</type><parameter name="key"><paramtype>const element_type &amp;</paramtype></parameter><description><para>Subtract a single element <computeroutput>key</computeroutput> from the set </para></description></method>
1008<method name="subtract"><type>SubType &amp;</type><parameter name="inter_val"><paramtype>const segment_type &amp;</paramtype></parameter><description><para>Subtract an interval of elements <computeroutput>inter_val</computeroutput> from the set </para></description></method>
1009<method name="insert"><type>SubType &amp;</type><parameter name="key"><paramtype>const element_type &amp;</paramtype></parameter><description><para>Insert an element <computeroutput>key</computeroutput> into the set </para></description></method>
1010<method name="insert"><type>SubType &amp;</type><parameter name="inter_val"><paramtype>const segment_type &amp;</paramtype></parameter><description><para>Insert an interval of elements <computeroutput>inter_val</computeroutput> to the set </para></description></method>
1011<method name="insert"><type>iterator</type><parameter name="prior_"><paramtype>iterator</paramtype></parameter><parameter name="inter_val"><paramtype>const segment_type &amp;</paramtype></parameter><description><para>Insert an interval of elements <computeroutput>inter_val</computeroutput> to the set. Iterator <computeroutput>prior_</computeroutput> is a hint to the position <computeroutput>inter_val</computeroutput> can be inserted after. </para></description></method>
1012<method name="erase"><type>SubType &amp;</type><parameter name="key"><paramtype>const element_type &amp;</paramtype></parameter><description><para>Erase an element <computeroutput>key</computeroutput> from the set </para></description></method>
1013<method name="erase"><type>SubType &amp;</type><parameter name="inter_val"><paramtype>const segment_type &amp;</paramtype></parameter><description><para>Erase an interval of elements <computeroutput>inter_val</computeroutput> from the set </para></description></method>
1014<method name="erase"><type>void</type><parameter name="position"><paramtype>iterator</paramtype></parameter><description><para>Erase the interval that iterator <computeroutput>position</computeroutput> points to. </para></description></method>
1015<method name="erase"><type>void</type><parameter name="first"><paramtype>iterator</paramtype></parameter><parameter name="past"><paramtype>iterator</paramtype></parameter><description><para>Erase all intervals in the range <computeroutput>[first,past)</computeroutput> of iterators. </para></description></method>
1016<method name="flip"><type>SubType &amp;</type><parameter name="key"><paramtype>const element_type &amp;</paramtype></parameter><description><para>If <computeroutput>*this</computeroutput> set contains <computeroutput>key</computeroutput> it is erased, otherwise it is added. </para></description></method>
1017<method name="flip"><type>SubType &amp;</type><parameter name="inter_val"><paramtype>const segment_type &amp;</paramtype></parameter><description><para>If <computeroutput>*this</computeroutput> set contains <computeroutput>inter_val</computeroutput> it is erased, otherwise it is added. </para></description></method>
1018<method name="begin"><type>iterator</type></method>
1019<method name="end"><type>iterator</type></method>
1020<method name="begin" cv="const"><type>const_iterator</type></method>
1021<method name="end" cv="const"><type>const_iterator</type></method>
1022<method name="rbegin"><type>reverse_iterator</type></method>
1023<method name="rend"><type>reverse_iterator</type></method>
1024<method name="rbegin" cv="const"><type>const_reverse_iterator</type></method>
1025<method name="rend" cv="const"><type>const_reverse_iterator</type></method>
1026<method name="lower_bound"><type>iterator</type><parameter name="interval"><paramtype>const value_type &amp;</paramtype></parameter></method>
1027<method name="upper_bound"><type>iterator</type><parameter name="interval"><paramtype>const value_type &amp;</paramtype></parameter></method>
1028<method name="lower_bound" cv="const"><type>const_iterator</type><parameter name="interval"><paramtype>const value_type &amp;</paramtype></parameter></method>
1029<method name="upper_bound" cv="const"><type>const_iterator</type><parameter name="interval"><paramtype>const value_type &amp;</paramtype></parameter></method>
1030<method name="equal_range"><type>std::pair&lt; iterator, iterator &gt;</type><parameter name="interval"><paramtype>const key_type &amp;</paramtype></parameter></method>
1031<method name="equal_range" cv="const"><type>std::pair&lt; const_iterator, const_iterator &gt;</type><parameter name="interval"><paramtype>const key_type &amp;</paramtype></parameter></method>
1032</method-group>
1033<constructor><description><para>Default constructor for the empty object </para></description></constructor>
1034<constructor><parameter name="src"><paramtype>const <classname>interval_base_set</classname> &amp;</paramtype></parameter><description><para>Copy constructor </para></description></constructor>
1035<constructor><parameter name="src"><paramtype><classname>interval_base_set</classname> &amp;&amp;</paramtype></parameter><description><para>Move constructor </para></description></constructor>
1036<copy-assignment><type><classname>interval_base_set</classname> &amp;</type><parameter name="src"><paramtype><classname>interval_base_set</classname></paramtype></parameter><description><para>Move assignment operator </para></description></copy-assignment>
1037<method-group name="private member functions">
1038<method name="_add"><type>iterator</type><parameter name="addend"><paramtype>const segment_type &amp;</paramtype></parameter></method>
1039<method name="_add"><type>iterator</type><parameter name="prior"><paramtype>iterator</paramtype></parameter><parameter name="addend"><paramtype>const segment_type &amp;</paramtype></parameter></method>
1040</method-group>
1041<method-group name="protected member functions">
1042<method name="add_front"><type>void</type><parameter name="inter_val"><paramtype>const interval_type &amp;</paramtype></parameter><parameter name="first_"><paramtype>iterator &amp;</paramtype></parameter></method>
1043<method name="add_main"><type>void</type><parameter name="inter_val"><paramtype>interval_type &amp;</paramtype></parameter><parameter name="it_"><paramtype>iterator &amp;</paramtype></parameter><parameter name="last_"><paramtype>const iterator &amp;</paramtype></parameter></method>
1044<method name="add_segment"><type>void</type><parameter name="inter_val"><paramtype>const interval_type &amp;</paramtype></parameter><parameter name="it_"><paramtype>iterator &amp;</paramtype></parameter></method>
1045<method name="add_rear"><type>void</type><parameter name="inter_val"><paramtype>const interval_type &amp;</paramtype></parameter><parameter name="it_"><paramtype>iterator &amp;</paramtype></parameter></method>
1046<method name="that"><type>sub_type *</type></method>
1047<method name="that" cv="const"><type>const sub_type *</type></method>
1048</method-group>
1049</class><struct-specialization name="is_interval_container"><template>
1050      <template-type-parameter name="SubType"/>
1051      <template-type-parameter name="DomainT"/>
1052      <template-nontype-parameter name="Compare"><type>ICL_COMPARE</type></template-nontype-parameter>
1053      <template-nontype-parameter name="Interval"><type>ICL_INTERVAL(ICL_COMPARE)</type></template-nontype-parameter>
1054      <template-nontype-parameter name="Alloc"><type>ICL_ALLOC</type></template-nontype-parameter>
1055    </template><specialization><template-arg>icl::interval_base_set&lt; SubType</template-arg><template-arg>DomainT</template-arg><template-arg>Compare</template-arg><template-arg>Interval</template-arg><template-arg>Alloc &gt;</template-arg></specialization><typedef name="type"><type>is_interval_container&lt; <classname>icl::interval_base_set</classname>&lt; SubType, DomainT, Compare, Interval, Alloc &gt; &gt;</type></typedef>
1056<method-group name="public member functions">
1057<method name="BOOST_STATIC_CONSTANT"><type/><parameter name=""><paramtype>bool</paramtype></parameter><parameter name=""><paramtype>value</paramtype><default>true</default></parameter></method>
1058</method-group>
1059</struct-specialization><struct-specialization name="is_set"><template>
1060      <template-type-parameter name="SubType"/>
1061      <template-type-parameter name="DomainT"/>
1062      <template-nontype-parameter name="Compare"><type>ICL_COMPARE</type></template-nontype-parameter>
1063      <template-nontype-parameter name="Interval"><type>ICL_INTERVAL(ICL_COMPARE)</type></template-nontype-parameter>
1064      <template-nontype-parameter name="Alloc"><type>ICL_ALLOC</type></template-nontype-parameter>
1065    </template><specialization><template-arg>icl::interval_base_set&lt; SubType</template-arg><template-arg>DomainT</template-arg><template-arg>Compare</template-arg><template-arg>Interval</template-arg><template-arg>Alloc &gt;</template-arg></specialization><typedef name="type"><type>is_set&lt; <classname>icl::interval_base_set</classname>&lt; SubType, DomainT, Compare, Interval, Alloc &gt; &gt;</type></typedef>
1066<method-group name="public member functions">
1067<method name="BOOST_STATIC_CONSTANT"><type/><parameter name=""><paramtype>bool</paramtype></parameter><parameter name=""><paramtype>value</paramtype><default>true</default></parameter></method>
1068</method-group>
1069</struct-specialization>
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079</namespace>
1080</namespace>
1081</header>
1082<header name="boost/icl/interval_bounds.hpp">
1083<namespace name="boost">
1084<namespace name="icl">
1085<class name="bounded_value"><template>
1086      <template-type-parameter name="DomainT"/>
1087    </template><typedef name="domain_type"><type>DomainT</type></typedef>
1088<typedef name="type"><type><classname>bounded_value</classname>&lt; DomainT &gt;</type></typedef>
1089<method-group name="public member functions">
1090<method name="value" cv="const"><type>domain_type</type></method>
1091<method name="bound" cv="const"><type><classname>interval_bounds</classname></type></method>
1092</method-group>
1093<constructor><parameter name="value"><paramtype>const domain_type &amp;</paramtype></parameter><parameter name="bound"><paramtype><classname>interval_bounds</classname></paramtype></parameter></constructor>
1094</class><class name="interval_bounds"><data-member name="_bits"><type>bound_type</type></data-member>
1095<method-group name="public member functions">
1096<method name="BOOST_STATIC_CONSTANT"><type/><parameter name=""><paramtype>bound_type</paramtype></parameter><parameter name=""><paramtype>static_open</paramtype><default>0</default></parameter></method>
1097<method name="BOOST_STATIC_CONSTANT"><type/><parameter name=""><paramtype>bound_type</paramtype></parameter><parameter name=""><paramtype>static_left_open</paramtype><default>1</default></parameter></method>
1098<method name="BOOST_STATIC_CONSTANT"><type/><parameter name=""><paramtype>bound_type</paramtype></parameter><parameter name=""><paramtype>static_right_open</paramtype><default>2</default></parameter></method>
1099<method name="BOOST_STATIC_CONSTANT"><type/><parameter name=""><paramtype>bound_type</paramtype></parameter><parameter name=""><paramtype>static_closed</paramtype><default>3</default></parameter></method>
1100<method name="BOOST_STATIC_CONSTANT"><type/><parameter name=""><paramtype>bound_type</paramtype></parameter><parameter name=""><paramtype>dynamic</paramtype><default>4</default></parameter></method>
1101<method name="BOOST_STATIC_CONSTANT"><type/><parameter name=""><paramtype>bound_type</paramtype></parameter><parameter name=""><paramtype>undefined</paramtype><default>5</default></parameter></method>
1102<method name="BOOST_STATIC_CONSTANT"><type/><parameter name=""><paramtype>bound_type</paramtype></parameter><parameter name=""><paramtype>_open</paramtype><default>0</default></parameter></method>
1103<method name="BOOST_STATIC_CONSTANT"><type/><parameter name=""><paramtype>bound_type</paramtype></parameter><parameter name=""><paramtype>_left_open</paramtype><default>1</default></parameter></method>
1104<method name="BOOST_STATIC_CONSTANT"><type/><parameter name=""><paramtype>bound_type</paramtype></parameter><parameter name=""><paramtype>_right_open</paramtype><default>2</default></parameter></method>
1105<method name="BOOST_STATIC_CONSTANT"><type/><parameter name=""><paramtype>bound_type</paramtype></parameter><parameter name=""><paramtype>_closed</paramtype><default>3</default></parameter></method>
1106<method name="BOOST_STATIC_CONSTANT"><type/><parameter name=""><paramtype>bound_type</paramtype></parameter><parameter name=""><paramtype>_right</paramtype><default>1</default></parameter></method>
1107<method name="BOOST_STATIC_CONSTANT"><type/><parameter name=""><paramtype>bound_type</paramtype></parameter><parameter name=""><paramtype>_left</paramtype><default>2</default></parameter></method>
1108<method name="BOOST_STATIC_CONSTANT"><type/><parameter name=""><paramtype>bound_type</paramtype></parameter><parameter name=""><paramtype>_all</paramtype><default>3</default></parameter></method>
1109<method name="all" cv="const"><type><classname>interval_bounds</classname></type></method>
1110<method name="left" cv="const"><type><classname>interval_bounds</classname></type></method>
1111<method name="right" cv="const"><type><classname>interval_bounds</classname></type></method>
1112<method name="reverse_left" cv="const"><type><classname>interval_bounds</classname></type></method>
1113<method name="reverse_right" cv="const"><type><classname>interval_bounds</classname></type></method>
1114<method name="bits" cv="const"><type>bound_type</type></method>
1115</method-group>
1116<constructor/>
1117<constructor specifiers="explicit"><parameter name="bounds"><paramtype>bound_type</paramtype></parameter></constructor>
1118<method-group name="public static functions">
1119<method name="open" specifiers="static"><type><classname>interval_bounds</classname></type></method>
1120<method name="left_open" specifiers="static"><type><classname>interval_bounds</classname></type></method>
1121<method name="right_open" specifiers="static"><type><classname>interval_bounds</classname></type></method>
1122<method name="closed" specifiers="static"><type><classname>interval_bounds</classname></type></method>
1123</method-group>
1124</class><typedef name="bound_type"><type>unsigned char</type></typedef>
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135</namespace>
1136</namespace>
1137</header>
1138<header name="boost/icl/interval_combining_style.hpp">
1139<namespace name="boost">
1140<namespace name="icl">
1141<namespace name="interval_combine">
1142<function name="BOOST_STATIC_CONSTANT"><type/><parameter name=""><paramtype>int</paramtype></parameter><parameter name=""><paramtype>unknown</paramtype><default>0</default></parameter></function>
1143<function name="BOOST_STATIC_CONSTANT"><type/><parameter name=""><paramtype>int</paramtype></parameter><parameter name=""><paramtype>joining</paramtype><default>1</default></parameter></function>
1144<function name="BOOST_STATIC_CONSTANT"><type/><parameter name=""><paramtype>int</paramtype></parameter><parameter name=""><paramtype>separating</paramtype><default>2</default></parameter></function>
1145<function name="BOOST_STATIC_CONSTANT"><type/><parameter name=""><paramtype>int</paramtype></parameter><parameter name=""><paramtype>splitting</paramtype><default>3</default></parameter></function>
1146<function name="BOOST_STATIC_CONSTANT"><type/><parameter name=""><paramtype>int</paramtype></parameter><parameter name=""><paramtype>elemental</paramtype><default>4</default></parameter></function>
1147</namespace>
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158</namespace>
1159</namespace>
1160</header>
1161<header name="boost/icl/interval_map.hpp">
1162<namespace name="boost">
1163<namespace name="icl">
1164<struct-specialization name="absorbs_identities"><template>
1165      <template-type-parameter name="DomainT"/>
1166      <template-type-parameter name="CodomainT"/>
1167      <template-type-parameter name="Traits"/>
1168      <template-nontype-parameter name="Compare"><type>ICL_COMPARE</type></template-nontype-parameter>
1169      <template-nontype-parameter name="Combine"><type>ICL_COMBINE</type></template-nontype-parameter>
1170      <template-nontype-parameter name="Section"><type>ICL_SECTION</type></template-nontype-parameter>
1171      <template-nontype-parameter name="Interval"><type>ICL_INTERVAL(ICL_COMPARE)</type></template-nontype-parameter>
1172      <template-nontype-parameter name="Alloc"><type>ICL_ALLOC</type></template-nontype-parameter>
1173    </template><specialization><template-arg>icl::interval_map&lt; DomainT</template-arg><template-arg>CodomainT</template-arg><template-arg>Traits</template-arg><template-arg>Compare</template-arg><template-arg>Combine</template-arg><template-arg>Section</template-arg><template-arg>Interval</template-arg><template-arg>Alloc &gt;</template-arg></specialization><typedef name="type"><type>absorbs_identities&lt; <classname>icl::interval_map</classname>&lt; DomainT, CodomainT, Traits, Compare, Combine, Section, Interval, Alloc &gt; &gt;</type></typedef>
1174<method-group name="public member functions">
1175<method name="BOOST_STATIC_CONSTANT"><type/><parameter name=""><paramtype>bool</paramtype></parameter><parameter name=""><paramtype>value</paramtype><default>(Traits::absorbs_identities)</default></parameter></method>
1176</method-group>
1177</struct-specialization><struct-specialization name="has_inverse"><template>
1178      <template-type-parameter name="DomainT"/>
1179      <template-type-parameter name="CodomainT"/>
1180      <template-type-parameter name="Traits"/>
1181      <template-nontype-parameter name="Compare"><type>ICL_COMPARE</type></template-nontype-parameter>
1182      <template-nontype-parameter name="Combine"><type>ICL_COMBINE</type></template-nontype-parameter>
1183      <template-nontype-parameter name="Section"><type>ICL_SECTION</type></template-nontype-parameter>
1184      <template-nontype-parameter name="Interval"><type>ICL_INTERVAL(ICL_COMPARE)</type></template-nontype-parameter>
1185      <template-nontype-parameter name="Alloc"><type>ICL_ALLOC</type></template-nontype-parameter>
1186    </template><specialization><template-arg>icl::interval_map&lt; DomainT</template-arg><template-arg>CodomainT</template-arg><template-arg>Traits</template-arg><template-arg>Compare</template-arg><template-arg>Combine</template-arg><template-arg>Section</template-arg><template-arg>Interval</template-arg><template-arg>Alloc &gt;</template-arg></specialization><typedef name="type"><type>has_inverse&lt; <classname>icl::interval_map</classname>&lt; DomainT, CodomainT, Traits, Compare, Combine, Section, Interval, Alloc &gt; &gt;</type></typedef>
1187<method-group name="public member functions">
1188<method name="BOOST_STATIC_CONSTANT"><type/><parameter name=""><paramtype>bool</paramtype></parameter><parameter name=""><paramtype>value</paramtype><default>(has_inverse&lt; CodomainT &gt;::value)</default></parameter></method>
1189</method-group>
1190</struct-specialization><class name="interval_map"><template>
1191      <template-type-parameter name="DomainT"/>
1192      <template-type-parameter name="CodomainT"/>
1193      <template-type-parameter name="Traits"><default><classname alt="boost::icl::partial_absorber">icl::partial_absorber</classname></default></template-type-parameter>
1194      <template-nontype-parameter name="Compare"><type>ICL_COMPARE</type><default>ICL_COMPARE_INSTANCE(ICL_COMPARE_DEFAULT, DomainT)</default></template-nontype-parameter>
1195      <template-nontype-parameter name="Combine"><type>ICL_COMBINE</type><default>ICL_COMBINE_INSTANCE(<classname alt="boost::icl::inplace_plus">icl::inplace_plus</classname>, CodomainT)</default></template-nontype-parameter>
1196      <template-nontype-parameter name="Section"><type>ICL_SECTION</type><default>ICL_SECTION_INSTANCE(<classname alt="boost::icl::inter_section">icl::inter_section</classname>, CodomainT)</default></template-nontype-parameter>
1197      <template-nontype-parameter name="Interval"><type>ICL_INTERVAL(ICL_COMPARE)</type><default>ICL_INTERVAL_INSTANCE(ICL_INTERVAL_DEFAULT, DomainT, Compare)</default></template-nontype-parameter>
1198      <template-nontype-parameter name="Alloc"><type>ICL_ALLOC</type><default>std::allocator</default></template-nontype-parameter>
1199    </template><inherit access="public">boost::icl::interval_base_map&lt; interval_map&lt; DomainT, CodomainT, Traits, Compare, Combine, Section, Interval, Alloc &gt;, DomainT, CodomainT, Traits, Compare, Combine, Section, Interval, Alloc &gt;</inherit><purpose>implements a map as a map of intervals - on insertion overlapping intervals are split and associated values are combined. </purpose><enum name="@12"><enumvalue name="fineness"><default>= 1</default></enumvalue></enum>
1200<typedef name="traits"><type>Traits</type></typedef>
1201<typedef name="type"><type><classname>interval_map</classname>&lt; DomainT, CodomainT, Traits, Compare, Combine, Section, Interval, Alloc &gt;</type></typedef>
1202<typedef name="split_type"><type><classname>split_interval_map</classname>&lt; DomainT, CodomainT, Traits, Compare, Combine, Section, Interval, Alloc &gt;</type></typedef>
1203<typedef name="overloadable_type"><type><classname>type</classname></type></typedef>
1204<typedef name="joint_type"><type><classname>type</classname></type></typedef>
1205<typedef name="base_type"><type><classname>interval_base_map</classname>&lt; <classname>type</classname>, DomainT, CodomainT, Traits, Compare, Combine, Section, Interval, Alloc &gt;</type></typedef>
1206<typedef name="iterator"><type>base_type::iterator</type></typedef>
1207<typedef name="value_type"><type>base_type::value_type</type></typedef>
1208<typedef name="element_type"><type>base_type::element_type</type></typedef>
1209<typedef name="segment_type"><type>base_type::segment_type</type></typedef>
1210<typedef name="domain_type"><type>base_type::domain_type</type></typedef>
1211<typedef name="codomain_type"><type>base_type::codomain_type</type></typedef>
1212<typedef name="domain_mapping_type"><type>base_type::domain_mapping_type</type></typedef>
1213<typedef name="interval_mapping_type"><type>base_type::interval_mapping_type</type></typedef>
1214<typedef name="ImplMapT"><type>base_type::ImplMapT</type></typedef>
1215<typedef name="size_type"><type>base_type::size_type</type></typedef>
1216<typedef name="codomain_combine"><type>base_type::codomain_combine</type></typedef>
1217<typedef name="interval_set_type"><type><classname>interval_set</classname>&lt; DomainT, Compare, Interval, Alloc &gt;</type></typedef>
1218<typedef name="set_type"><type><classname>interval_set_type</classname></type></typedef>
1219<typedef name="key_object_type"><type><classname>set_type</classname></type></typedef>
1220<method-group name="public member functions">
1221<method name="ICL_INTERVAL_TYPE"><type>typedef</type><parameter name=""><paramtype>Interval</paramtype></parameter><parameter name=""><paramtype>DomainT</paramtype></parameter><parameter name=""><paramtype>Compare</paramtype></parameter></method>
1222<method name="assign"><type>void</type><template>
1223          <template-type-parameter name="SubType"/>
1224        </template><parameter name="src"><paramtype>const <classname>interval_base_map</classname>&lt; SubType, DomainT, CodomainT, Traits, Compare, Combine, Section, Interval, Alloc &gt; &amp;</paramtype></parameter><purpose>Assignment from a base <classname alt="boost::icl::interval_map">interval_map</classname>. </purpose></method>
1225</method-group>
1226<constructor><purpose>Default constructor for the empty object. </purpose></constructor>
1227<constructor><parameter name="src"><paramtype>const <classname>interval_map</classname> &amp;</paramtype></parameter><purpose>Copy constructor. </purpose></constructor>
1228<constructor specifiers="explicit"><template>
1229          <template-type-parameter name="SubType"/>
1230        </template><parameter name="src"><paramtype>const <classname>interval_base_map</classname>&lt; SubType, DomainT, CodomainT, Traits, Compare, Combine, Section, Interval, Alloc &gt; &amp;</paramtype></parameter><purpose>Copy constructor for base_type. </purpose></constructor>
1231<constructor specifiers="explicit"><parameter name="base_pair"><paramtype>const <classname>domain_mapping_type</classname> &amp;</paramtype></parameter></constructor>
1232<constructor specifiers="explicit"><parameter name="value_pair"><paramtype>const value_type &amp;</paramtype></parameter></constructor>
1233<copy-assignment><type><classname>interval_map</classname> &amp;</type><template>
1234          <template-type-parameter name="SubType"/>
1235        </template><parameter name="src"><paramtype>const <classname>interval_base_map</classname>&lt; SubType, DomainT, CodomainT, Traits, Compare, Combine, Section, Interval, Alloc &gt; &amp;</paramtype></parameter><purpose>Assignment operator for base type. </purpose></copy-assignment>
1236<constructor><parameter name="src"><paramtype><classname>interval_map</classname> &amp;&amp;</paramtype></parameter><purpose>Move constructor. </purpose></constructor>
1237<copy-assignment><type><classname>interval_map</classname> &amp;</type><parameter name="src"><paramtype><classname>interval_map</classname></paramtype></parameter><purpose>Move assignment operator. </purpose></copy-assignment>
1238<method-group name="private member functions">
1239<method name="handle_inserted"><type>iterator</type><parameter name="it_"><paramtype>iterator</paramtype></parameter></method>
1240<method name="handle_inserted"><type>void</type><parameter name="prior_"><paramtype>iterator</paramtype></parameter><parameter name="it_"><paramtype>iterator</paramtype></parameter></method>
1241<method name="handle_left_combined"><type>void</type><template>
1242          <template-type-parameter name="Combiner"/>
1243        </template><parameter name="it_"><paramtype>iterator</paramtype></parameter></method>
1244<method name="handle_combined"><type>void</type><template>
1245          <template-type-parameter name="Combiner"/>
1246        </template><parameter name="it_"><paramtype>iterator</paramtype></parameter></method>
1247<method name="handle_preceeded_combined"><type>void</type><template>
1248          <template-type-parameter name="Combiner"/>
1249        </template><parameter name="prior_"><paramtype>iterator</paramtype></parameter><parameter name="it_"><paramtype>iterator &amp;</paramtype></parameter></method>
1250<method name="handle_succeeded_combined"><type>void</type><template>
1251          <template-type-parameter name="Combiner"/>
1252        </template><parameter name="it_"><paramtype>iterator</paramtype></parameter><parameter name="next_"><paramtype>iterator</paramtype></parameter></method>
1253<method name="handle_reinserted"><type>void</type><parameter name="insertion_"><paramtype>iterator</paramtype></parameter></method>
1254<method name="gap_insert_at"><type>void</type><template>
1255          <template-type-parameter name="Combiner"/>
1256        </template><parameter name="it_"><paramtype>iterator &amp;</paramtype></parameter><parameter name="prior_"><paramtype>iterator</paramtype></parameter><parameter name="end_gap"><paramtype>const interval_type &amp;</paramtype></parameter><parameter name="co_val"><paramtype>const codomain_type &amp;</paramtype></parameter></method>
1257</method-group>
1258</class><struct-specialization name="is_interval_container"><template>
1259      <template-type-parameter name="DomainT"/>
1260      <template-type-parameter name="CodomainT"/>
1261      <template-type-parameter name="Traits"/>
1262      <template-nontype-parameter name="Compare"><type>ICL_COMPARE</type></template-nontype-parameter>
1263      <template-nontype-parameter name="Combine"><type>ICL_COMBINE</type></template-nontype-parameter>
1264      <template-nontype-parameter name="Section"><type>ICL_SECTION</type></template-nontype-parameter>
1265      <template-nontype-parameter name="Interval"><type>ICL_INTERVAL(ICL_COMPARE)</type></template-nontype-parameter>
1266      <template-nontype-parameter name="Alloc"><type>ICL_ALLOC</type></template-nontype-parameter>
1267    </template><specialization><template-arg>icl::interval_map&lt; DomainT</template-arg><template-arg>CodomainT</template-arg><template-arg>Traits</template-arg><template-arg>Compare</template-arg><template-arg>Combine</template-arg><template-arg>Section</template-arg><template-arg>Interval</template-arg><template-arg>Alloc &gt;</template-arg></specialization><typedef name="type"><type>is_interval_container&lt; <classname>icl::interval_map</classname>&lt; DomainT, CodomainT, Traits, Compare, Combine, Section, Interval, Alloc &gt; &gt;</type></typedef>
1268<method-group name="public member functions">
1269<method name="BOOST_STATIC_CONSTANT"><type/><parameter name=""><paramtype>bool</paramtype></parameter><parameter name=""><paramtype>value</paramtype><default>true</default></parameter></method>
1270</method-group>
1271</struct-specialization><struct-specialization name="is_map"><template>
1272      <template-type-parameter name="DomainT"/>
1273      <template-type-parameter name="CodomainT"/>
1274      <template-type-parameter name="Traits"/>
1275      <template-nontype-parameter name="Compare"><type>ICL_COMPARE</type></template-nontype-parameter>
1276      <template-nontype-parameter name="Combine"><type>ICL_COMBINE</type></template-nontype-parameter>
1277      <template-nontype-parameter name="Section"><type>ICL_SECTION</type></template-nontype-parameter>
1278      <template-nontype-parameter name="Interval"><type>ICL_INTERVAL(ICL_COMPARE)</type></template-nontype-parameter>
1279      <template-nontype-parameter name="Alloc"><type>ICL_ALLOC</type></template-nontype-parameter>
1280    </template><specialization><template-arg>icl::interval_map&lt; DomainT</template-arg><template-arg>CodomainT</template-arg><template-arg>Traits</template-arg><template-arg>Compare</template-arg><template-arg>Combine</template-arg><template-arg>Section</template-arg><template-arg>Interval</template-arg><template-arg>Alloc &gt;</template-arg></specialization><typedef name="type"><type>is_map&lt; <classname>icl::interval_map</classname>&lt; DomainT, CodomainT, Traits, Compare, Combine, Section, Interval, Alloc &gt; &gt;</type></typedef>
1281<method-group name="public member functions">
1282<method name="BOOST_STATIC_CONSTANT"><type/><parameter name=""><paramtype>bool</paramtype></parameter><parameter name=""><paramtype>value</paramtype><default>true</default></parameter></method>
1283</method-group>
1284</struct-specialization><struct-specialization name="is_total"><template>
1285      <template-type-parameter name="DomainT"/>
1286      <template-type-parameter name="CodomainT"/>
1287      <template-type-parameter name="Traits"/>
1288      <template-nontype-parameter name="Compare"><type>ICL_COMPARE</type></template-nontype-parameter>
1289      <template-nontype-parameter name="Combine"><type>ICL_COMBINE</type></template-nontype-parameter>
1290      <template-nontype-parameter name="Section"><type>ICL_SECTION</type></template-nontype-parameter>
1291      <template-nontype-parameter name="Interval"><type>ICL_INTERVAL(ICL_COMPARE)</type></template-nontype-parameter>
1292      <template-nontype-parameter name="Alloc"><type>ICL_ALLOC</type></template-nontype-parameter>
1293    </template><specialization><template-arg>icl::interval_map&lt; DomainT</template-arg><template-arg>CodomainT</template-arg><template-arg>Traits</template-arg><template-arg>Compare</template-arg><template-arg>Combine</template-arg><template-arg>Section</template-arg><template-arg>Interval</template-arg><template-arg>Alloc &gt;</template-arg></specialization><typedef name="type"><type>is_total&lt; <classname>icl::interval_map</classname>&lt; DomainT, CodomainT, Traits, Compare, Combine, Section, Interval, Alloc &gt; &gt;</type></typedef>
1294<method-group name="public member functions">
1295<method name="BOOST_STATIC_CONSTANT"><type/><parameter name=""><paramtype>bool</paramtype></parameter><parameter name=""><paramtype>value</paramtype><default>(Traits::is_total)</default></parameter></method>
1296</method-group>
1297</struct-specialization><struct-specialization name="type_to_string"><template>
1298      <template-type-parameter name="DomainT"/>
1299      <template-type-parameter name="CodomainT"/>
1300      <template-type-parameter name="Traits"/>
1301      <template-nontype-parameter name="Compare"><type>ICL_COMPARE</type></template-nontype-parameter>
1302      <template-nontype-parameter name="Combine"><type>ICL_COMBINE</type></template-nontype-parameter>
1303      <template-nontype-parameter name="Section"><type>ICL_SECTION</type></template-nontype-parameter>
1304      <template-nontype-parameter name="Interval"><type>ICL_INTERVAL(ICL_COMPARE)</type></template-nontype-parameter>
1305      <template-nontype-parameter name="Alloc"><type>ICL_ALLOC</type></template-nontype-parameter>
1306    </template><specialization><template-arg>icl::interval_map&lt; DomainT</template-arg><template-arg>CodomainT</template-arg><template-arg>Traits</template-arg><template-arg>Compare</template-arg><template-arg>Combine</template-arg><template-arg>Section</template-arg><template-arg>Interval</template-arg><template-arg>Alloc &gt;</template-arg></specialization><method-group name="public static functions">
1307<method name="apply" specifiers="static"><type>std::string</type></method>
1308</method-group>
1309</struct-specialization>
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319</namespace>
1320</namespace>
1321</header>
1322<header name="boost/icl/interval_set.hpp">
1323<namespace name="boost">
1324<namespace name="icl">
1325<class name="interval_set"><template>
1326      <template-type-parameter name="DomainT"/>
1327      <template-nontype-parameter name="Compare"><type>ICL_COMPARE</type><default>ICL_COMPARE_INSTANCE(ICL_COMPARE_DEFAULT, DomainT)</default></template-nontype-parameter>
1328      <template-nontype-parameter name="Interval"><type>ICL_INTERVAL(ICL_COMPARE)</type><default>ICL_INTERVAL_INSTANCE(ICL_INTERVAL_DEFAULT, DomainT, Compare)</default></template-nontype-parameter>
1329      <template-nontype-parameter name="Alloc"><type>ICL_ALLOC</type><default>std::allocator</default></template-nontype-parameter>
1330    </template><inherit access="public">boost::icl::interval_base_set&lt; interval_set&lt; DomainT, Compare, Interval, Alloc &gt;, DomainT, Compare, Interval, Alloc &gt;</inherit><purpose>Implements a set as a set of intervals - merging adjoining intervals. </purpose><enum name="@11"><enumvalue name="fineness"><default>= 1</default></enumvalue></enum>
1331<typedef name="type"><type><classname>interval_set</classname>&lt; DomainT, Compare, Interval, Alloc &gt;</type></typedef>
1332<typedef name="base_type"><purpose>The base_type of this class. </purpose><type><classname>interval_base_set</classname>&lt; <classname>type</classname>, DomainT, Compare, Interval, Alloc &gt;</type></typedef>
1333<typedef name="overloadable_type"><type><classname>type</classname></type></typedef>
1334<typedef name="joint_type"><type><classname>type</classname></type></typedef>
1335<typedef name="key_object_type"><type><classname>type</classname></type></typedef>
1336<typedef name="domain_type"><purpose>The domain type of the set. </purpose><type>DomainT</type></typedef>
1337<typedef name="codomain_type"><purpose>The codomaintype is the same as domain_type. </purpose><type>DomainT</type></typedef>
1338<typedef name="element_type"><purpose>The element type of the set. </purpose><type>DomainT</type></typedef>
1339<typedef name="segment_type"><purpose>The segment type of the set. </purpose><type>interval_type</type></typedef>
1340<typedef name="interval_compare"><purpose>Comparison functor for intervals. </purpose><type>exclusive_less_than&lt; interval_type &gt;</type></typedef>
1341<typedef name="key_compare"><purpose>Comparison functor for keys. </purpose><type>exclusive_less_than&lt; interval_type &gt;</type></typedef>
1342<typedef name="allocator_type"><purpose>The allocator type of the set. </purpose><type>Alloc&lt; interval_type &gt;</type></typedef>
1343<typedef name="domain_allocator_type"><purpose>allocator type of the corresponding element set </purpose><type>Alloc&lt; DomainT &gt;</type></typedef>
1344<typedef name="atomized_type"><purpose>The corresponding atomized type representing this interval container of elements. </purpose><type>base_type::atomized_type</type></typedef>
1345<typedef name="ImplSetT"><purpose>Container type for the implementation. </purpose><type>base_type::ImplSetT</type></typedef>
1346<typedef name="key_type"><purpose>key type of the implementing container </purpose><type>ImplSetT::key_type</type></typedef>
1347<typedef name="data_type"><purpose>data type of the implementing container </purpose><type>ImplSetT::value_type</type></typedef>
1348<typedef name="value_type"><purpose>value type of the implementing container </purpose><type>ImplSetT::value_type</type></typedef>
1349<typedef name="iterator"><purpose>iterator for iteration over intervals </purpose><type>ImplSetT::iterator</type></typedef>
1350<typedef name="const_iterator"><purpose>const_iterator for iteration over intervals </purpose><type>ImplSetT::const_iterator</type></typedef>
1351<method-group name="public member functions">
1352<method name="ICL_INTERVAL_TYPE"><type>typedef</type><parameter name=""><paramtype>Interval</paramtype></parameter><parameter name=""><paramtype>DomainT</paramtype></parameter><parameter name=""><paramtype>Compare</paramtype></parameter><purpose>The interval type of the set. </purpose></method>
1353<method name="ICL_COMPARE_DOMAIN"><type>typedef</type><parameter name=""><paramtype>Compare</paramtype></parameter><parameter name=""><paramtype>DomainT</paramtype></parameter><purpose>Comparison functor for domain values. </purpose></method>
1354<method name="assign"><type>void</type><template>
1355          <template-type-parameter name="SubType"/>
1356        </template><parameter name="src"><paramtype>const <classname>interval_base_set</classname>&lt; SubType, DomainT, Compare, Interval, Alloc &gt; &amp;</paramtype></parameter><purpose>Assignment from a base <classname alt="boost::icl::interval_set">interval_set</classname>. </purpose></method>
1357</method-group>
1358<constructor><purpose>Default constructor for the empty object. </purpose></constructor>
1359<constructor><parameter name="src"><paramtype>const <classname>interval_set</classname> &amp;</paramtype></parameter><purpose>Copy constructor. </purpose></constructor>
1360<constructor specifiers="explicit"><template>
1361          <template-type-parameter name="SubType"/>
1362        </template><parameter name="src"><paramtype>const <classname>interval_base_set</classname>&lt; SubType, DomainT, Compare, Interval, Alloc &gt; &amp;</paramtype></parameter><purpose>Copy constructor for base_type. </purpose></constructor>
1363<constructor specifiers="explicit"><parameter name="value"><paramtype>const domain_type &amp;</paramtype></parameter><purpose>Constructor for a single element. </purpose></constructor>
1364<constructor specifiers="explicit"><parameter name="itv"><paramtype>const interval_type &amp;</paramtype></parameter><purpose>Constructor for a single interval. </purpose></constructor>
1365<copy-assignment><type><classname>interval_set</classname> &amp;</type><template>
1366          <template-type-parameter name="SubType"/>
1367        </template><parameter name="src"><paramtype>const <classname>interval_base_set</classname>&lt; SubType, DomainT, Compare, Interval, Alloc &gt; &amp;</paramtype></parameter><purpose>Assignment operator for base type. </purpose></copy-assignment>
1368<constructor><parameter name="src"><paramtype><classname>interval_set</classname> &amp;&amp;</paramtype></parameter><purpose>Move constructor. </purpose></constructor>
1369<copy-assignment><type><classname>interval_set</classname> &amp;</type><parameter name="src"><paramtype><classname>interval_set</classname></paramtype></parameter><purpose>Move assignment operator. </purpose></copy-assignment>
1370<method-group name="private member functions">
1371<method name="handle_inserted"><type>iterator</type><parameter name="it_"><paramtype>iterator</paramtype></parameter></method>
1372<method name="add_over"><type>iterator</type><parameter name="addend"><paramtype>const interval_type &amp;</paramtype></parameter><parameter name="last_"><paramtype>iterator</paramtype></parameter></method>
1373<method name="add_over"><type>iterator</type><parameter name="addend"><paramtype>const interval_type &amp;</paramtype></parameter></method>
1374</method-group>
1375</class><struct-specialization name="is_interval_container"><template>
1376      <template-type-parameter name="DomainT"/>
1377      <template-nontype-parameter name="Compare"><type>ICL_COMPARE</type></template-nontype-parameter>
1378      <template-nontype-parameter name="Interval"><type>ICL_INTERVAL(ICL_COMPARE)</type></template-nontype-parameter>
1379      <template-nontype-parameter name="Alloc"><type>ICL_ALLOC</type></template-nontype-parameter>
1380    </template><specialization><template-arg>icl::interval_set&lt; DomainT</template-arg><template-arg>Compare</template-arg><template-arg>Interval</template-arg><template-arg>Alloc &gt;</template-arg></specialization><typedef name="type"><type>is_interval_container&lt; <classname>icl::interval_set</classname>&lt; DomainT, Compare, Interval, Alloc &gt; &gt;</type></typedef>
1381<method-group name="public member functions">
1382<method name="BOOST_STATIC_CONSTANT"><type/><parameter name=""><paramtype>bool</paramtype></parameter><parameter name=""><paramtype>value</paramtype><default>true</default></parameter></method>
1383</method-group>
1384</struct-specialization><struct-specialization name="is_interval_joiner"><template>
1385      <template-type-parameter name="DomainT"/>
1386      <template-nontype-parameter name="Compare"><type>ICL_COMPARE</type></template-nontype-parameter>
1387      <template-nontype-parameter name="Interval"><type>ICL_INTERVAL(ICL_COMPARE)</type></template-nontype-parameter>
1388      <template-nontype-parameter name="Alloc"><type>ICL_ALLOC</type></template-nontype-parameter>
1389    </template><specialization><template-arg>icl::interval_set&lt; DomainT</template-arg><template-arg>Compare</template-arg><template-arg>Interval</template-arg><template-arg>Alloc &gt;</template-arg></specialization><typedef name="type"><type>is_interval_joiner&lt; <classname>icl::interval_set</classname>&lt; DomainT, Compare, Interval, Alloc &gt; &gt;</type></typedef>
1390<method-group name="public member functions">
1391<method name="BOOST_STATIC_CONSTANT"><type/><parameter name=""><paramtype>bool</paramtype></parameter><parameter name=""><paramtype>value</paramtype><default>true</default></parameter></method>
1392</method-group>
1393</struct-specialization><struct-specialization name="is_set"><template>
1394      <template-type-parameter name="DomainT"/>
1395      <template-nontype-parameter name="Compare"><type>ICL_COMPARE</type></template-nontype-parameter>
1396      <template-nontype-parameter name="Interval"><type>ICL_INTERVAL(ICL_COMPARE)</type></template-nontype-parameter>
1397      <template-nontype-parameter name="Alloc"><type>ICL_ALLOC</type></template-nontype-parameter>
1398    </template><specialization><template-arg>icl::interval_set&lt; DomainT</template-arg><template-arg>Compare</template-arg><template-arg>Interval</template-arg><template-arg>Alloc &gt;</template-arg></specialization><typedef name="type"><type>is_set&lt; <classname>icl::interval_set</classname>&lt; DomainT, Compare, Interval, Alloc &gt; &gt;</type></typedef>
1399<method-group name="public member functions">
1400<method name="BOOST_STATIC_CONSTANT"><type/><parameter name=""><paramtype>bool</paramtype></parameter><parameter name=""><paramtype>value</paramtype><default>true</default></parameter></method>
1401</method-group>
1402</struct-specialization><struct-specialization name="type_to_string"><template>
1403      <template-type-parameter name="DomainT"/>
1404      <template-nontype-parameter name="Compare"><type>ICL_COMPARE</type></template-nontype-parameter>
1405      <template-nontype-parameter name="Interval"><type>ICL_INTERVAL(ICL_COMPARE)</type></template-nontype-parameter>
1406      <template-nontype-parameter name="Alloc"><type>ICL_ALLOC</type></template-nontype-parameter>
1407    </template><specialization><template-arg>icl::interval_set&lt; DomainT</template-arg><template-arg>Compare</template-arg><template-arg>Interval</template-arg><template-arg>Alloc &gt;</template-arg></specialization><method-group name="public static functions">
1408<method name="apply" specifiers="static"><type>std::string</type></method>
1409</method-group>
1410</struct-specialization>
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420</namespace>
1421</namespace>
1422</header>
1423<header name="boost/icl/interval_traits.hpp">
1424<namespace name="boost">
1425<namespace name="icl">
1426<struct-specialization name="difference_type_of"><template>
1427      <template-type-parameter name="Type"/>
1428    </template><specialization><template-arg>interval_traits&lt; Type &gt;</template-arg></specialization><typedef name="domain_type"><type><classname>interval_traits</classname>&lt; Type &gt;::domain_type</type></typedef>
1429<typedef name="type"><type>difference_type_of&lt; domain_type &gt;::type</type></typedef>
1430</struct-specialization><struct-specialization name="domain_type_of"><template>
1431      <template-type-parameter name="Type"/>
1432    </template><specialization><template-arg>interval_traits&lt; Type &gt;</template-arg></specialization><typedef name="type"><type><classname>interval_traits</classname>&lt; Type &gt;::domain_type</type></typedef>
1433</struct-specialization><struct name="interval_traits"><template>
1434      <template-type-parameter name="Type"/>
1435    </template><typedef name="type"><type><classname>interval_traits</classname></type></typedef>
1436<typedef name="domain_type"><type>domain_type_of&lt; Type &gt;::<classname>type</classname></type></typedef>
1437<method-group name="public static functions">
1438<method name="construct" specifiers="static"><type>Type</type><parameter name="lo"><paramtype>const domain_type &amp;</paramtype></parameter><parameter name="up"><paramtype>const domain_type &amp;</paramtype></parameter></method>
1439<method name="upper" specifiers="static"><type>domain_type</type><parameter name="inter_val"><paramtype>const Type &amp;</paramtype></parameter></method>
1440<method name="lower" specifiers="static"><type>domain_type</type><parameter name="inter_val"><paramtype>const Type &amp;</paramtype></parameter></method>
1441</method-group>
1442</struct><struct-specialization name="size_type_of"><template>
1443      <template-type-parameter name="Type"/>
1444    </template><specialization><template-arg>interval_traits&lt; Type &gt;</template-arg></specialization><typedef name="domain_type"><type><classname>interval_traits</classname>&lt; Type &gt;::domain_type</type></typedef>
1445<typedef name="type"><type>size_type_of&lt; domain_type &gt;::type</type></typedef>
1446</struct-specialization>
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456</namespace>
1457</namespace>
1458</header>
1459<header name="boost/icl/iterator.hpp">
1460<namespace name="boost">
1461<namespace name="icl">
1462<class name="add_iterator"><template>
1463      <template-type-parameter name="ContainerT"/>
1464    </template><purpose>Performes an addition using a container's memberfunction add, when operator= is called. </purpose><typedef name="container_type"><purpose>The container's type. </purpose><type>ContainerT</type></typedef>
1465<typedef name="iterator_category"><type>std::output_iterator_tag</type></typedef>
1466<typedef name="value_type"><type>void</type></typedef>
1467<typedef name="difference_type"><type>void</type></typedef>
1468<typedef name="pointer"><type>void</type></typedef>
1469<typedef name="reference"><type>void</type></typedef>
1470<method-group name="public member functions">
1471<method name="operator *"><type><classname>add_iterator</classname> &amp;</type></method>
1472<method name="operator++"><type><classname>add_iterator</classname> &amp;</type></method>
1473<method name="operator++"><type><classname>add_iterator</classname> &amp;</type><parameter name=""><paramtype>int</paramtype></parameter></method>
1474</method-group>
1475<constructor><parameter name="cont"><paramtype>ContainerT &amp;</paramtype></parameter><parameter name="iter"><paramtype>typename ContainerT::iterator</paramtype></parameter><description><para>An <classname alt="boost::icl::add_iterator">add_iterator</classname> is constructed with a container and a position that has to be maintained. </para></description></constructor>
1476<copy-assignment><type><classname>add_iterator</classname> &amp;</type><parameter name="value"><paramtype>typename ContainerT::const_reference</paramtype></parameter><description><para>This assignment operator adds the <computeroutput>value</computeroutput> before the current position. It maintains it's position by incrementing after addition. </para></description></copy-assignment>
1477</class><class name="insert_iterator"><template>
1478      <template-type-parameter name="ContainerT"/>
1479    </template><purpose>Performes an insertion using a container's memberfunction add, when operator= is called. </purpose><typedef name="container_type"><purpose>The container's type. </purpose><type>ContainerT</type></typedef>
1480<typedef name="iterator_category"><type>std::output_iterator_tag</type></typedef>
1481<typedef name="value_type"><type>void</type></typedef>
1482<typedef name="difference_type"><type>void</type></typedef>
1483<typedef name="pointer"><type>void</type></typedef>
1484<typedef name="reference"><type>void</type></typedef>
1485<method-group name="public member functions">
1486<method name="operator *"><type><classname>insert_iterator</classname> &amp;</type></method>
1487<method name="operator++"><type><classname>insert_iterator</classname> &amp;</type></method>
1488<method name="operator++"><type><classname>insert_iterator</classname> &amp;</type><parameter name=""><paramtype>int</paramtype></parameter></method>
1489</method-group>
1490<constructor><parameter name="cont"><paramtype>ContainerT &amp;</paramtype></parameter><parameter name="iter"><paramtype>typename ContainerT::iterator</paramtype></parameter><description><para>An <classname alt="boost::icl::insert_iterator">insert_iterator</classname> is constructed with a container and a position that has to be maintained. </para></description></constructor>
1491<copy-assignment><type><classname>insert_iterator</classname> &amp;</type><parameter name="value"><paramtype>typename ContainerT::const_reference</paramtype></parameter><description><para>This assignment operator adds the <computeroutput>value</computeroutput> before the current position. It maintains it's position by incrementing after addition. </para></description></copy-assignment>
1492</class>
1493
1494
1495
1496<function name="adder"><type><classname>add_iterator</classname>&lt; ContainerT &gt;</type><template>
1497          <template-type-parameter name="ContainerT"/>
1498          <template-type-parameter name="IteratorT"/>
1499        </template><parameter name="cont"><paramtype>ContainerT &amp;</paramtype></parameter><parameter name="iter_"><paramtype>IteratorT</paramtype></parameter><description><para>Function adder creates and initializes an <classname alt="boost::icl::add_iterator">add_iterator</classname> </para></description></function>
1500<function name="inserter"><type><classname>insert_iterator</classname>&lt; ContainerT &gt;</type><template>
1501          <template-type-parameter name="ContainerT"/>
1502          <template-type-parameter name="IteratorT"/>
1503        </template><parameter name="cont"><paramtype>ContainerT &amp;</paramtype></parameter><parameter name="iter_"><paramtype>IteratorT</paramtype></parameter><description><para>Function inserter creates and initializes an <classname alt="boost::icl::insert_iterator">insert_iterator</classname> </para></description></function>
1504
1505
1506
1507
1508</namespace>
1509</namespace>
1510</header>
1511<header name="boost/icl/left_open_interval.hpp">
1512<namespace name="boost">
1513<namespace name="icl">
1514<struct-specialization name="interval_bound_type"><template>
1515      <template-type-parameter name="DomainT"/>
1516      <template-nontype-parameter name="Compare"><type>ICL_COMPARE</type></template-nontype-parameter>
1517    </template><specialization><template-arg>left_open_interval&lt; DomainT</template-arg><template-arg>Compare &gt;</template-arg></specialization><typedef name="type"><type>interval_bound_type</type></typedef>
1518<method-group name="public member functions">
1519<method name="BOOST_STATIC_CONSTANT"><type/><parameter name=""><paramtype>bound_type</paramtype></parameter><parameter name=""><paramtype>value</paramtype><default>interval_bounds::static_left_open</default></parameter></method>
1520</method-group>
1521</struct-specialization><struct-specialization name="interval_traits"><template>
1522      <template-type-parameter name="DomainT"/>
1523      <template-nontype-parameter name="Compare"><type>ICL_COMPARE</type></template-nontype-parameter>
1524    </template><specialization><template-arg>icl::left_open_interval&lt; DomainT</template-arg><template-arg>Compare &gt;</template-arg></specialization><typedef name="domain_type"><type>DomainT</type></typedef>
1525<typedef name="interval_type"><type><classname>icl::left_open_interval</classname>&lt; DomainT, Compare &gt;</type></typedef>
1526<method-group name="public member functions">
1527<method name="ICL_COMPARE_DOMAIN"><type>typedef</type><parameter name=""><paramtype>Compare</paramtype></parameter><parameter name=""><paramtype>DomainT</paramtype></parameter></method>
1528</method-group>
1529<method-group name="public static functions">
1530<method name="construct" specifiers="static"><type><classname>interval_type</classname></type><parameter name="lo"><paramtype>const domain_type &amp;</paramtype></parameter><parameter name="up"><paramtype>const domain_type &amp;</paramtype></parameter></method>
1531<method name="lower" specifiers="static"><type>domain_type</type><parameter name="inter_val"><paramtype>const <classname>interval_type</classname> &amp;</paramtype></parameter></method>
1532<method name="upper" specifiers="static"><type>domain_type</type><parameter name="inter_val"><paramtype>const <classname>interval_type</classname> &amp;</paramtype></parameter></method>
1533</method-group>
1534</struct-specialization><class name="left_open_interval"><template>
1535      <template-type-parameter name="DomainT"/>
1536      <template-nontype-parameter name="Compare"><type>ICL_COMPARE</type><default>ICL_COMPARE_INSTANCE(ICL_COMPARE_DEFAULT, DomainT)</default></template-nontype-parameter>
1537    </template><typedef name="type"><type><classname>left_open_interval</classname>&lt; DomainT, Compare &gt;</type></typedef>
1538<typedef name="domain_type"><type>DomainT</type></typedef>
1539<method-group name="public member functions">
1540<method name="ICL_COMPARE_DOMAIN"><type>typedef</type><parameter name=""><paramtype>Compare</paramtype></parameter><parameter name=""><paramtype>DomainT</paramtype></parameter></method>
1541<method name="lower" cv="const"><type>DomainT</type></method>
1542<method name="upper" cv="const"><type>DomainT</type></method>
1543</method-group>
1544<constructor><description><para>Default constructor; yields an empty interval <computeroutput>(0,0]</computeroutput>. </para></description></constructor>
1545<constructor specifiers="explicit"><parameter name="val"><paramtype>const DomainT &amp;</paramtype></parameter><description><para>Constructor for a left-open singleton interval <computeroutput>(val-1,val]</computeroutput> </para></description></constructor>
1546<constructor><parameter name="low"><paramtype>const DomainT &amp;</paramtype></parameter><parameter name="up"><paramtype>const DomainT &amp;</paramtype></parameter><description><para>Interval from <computeroutput>low</computeroutput> to <computeroutput>up</computeroutput> with bounds <computeroutput>bounds</computeroutput> </para></description></constructor>
1547</class><struct-specialization name="type_to_string"><template>
1548      <template-type-parameter name="DomainT"/>
1549      <template-nontype-parameter name="Compare"><type>ICL_COMPARE</type></template-nontype-parameter>
1550    </template><specialization><template-arg>icl::left_open_interval&lt; DomainT</template-arg><template-arg>Compare &gt;</template-arg></specialization><method-group name="public static functions">
1551<method name="apply" specifiers="static"><type>std::string</type></method>
1552</method-group>
1553</struct-specialization><struct-specialization name="value_size"><template>
1554      <template-type-parameter name="DomainT"/>
1555      <template-nontype-parameter name="Compare"><type>ICL_COMPARE</type></template-nontype-parameter>
1556    </template><specialization><template-arg>icl::left_open_interval&lt; DomainT</template-arg><template-arg>Compare &gt;</template-arg></specialization><method-group name="public static functions">
1557<method name="apply" specifiers="static"><type>std::size_t</type><parameter name=""><paramtype>const <classname>icl::left_open_interval</classname>&lt; DomainT &gt; &amp;</paramtype></parameter></method>
1558</method-group>
1559</struct-specialization>
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569</namespace>
1570</namespace>
1571</header>
1572<header name="boost/icl/map.hpp">
1573<namespace name="boost">
1574<namespace name="icl">
1575<struct-specialization name="absorbs_identities"><template>
1576      <template-type-parameter name="DomainT"/>
1577      <template-type-parameter name="CodomainT"/>
1578      <template-type-parameter name="Traits"/>
1579      <template-nontype-parameter name="Compare"><type>ICL_COMPARE</type></template-nontype-parameter>
1580      <template-nontype-parameter name="Combine"><type>ICL_COMBINE</type></template-nontype-parameter>
1581      <template-nontype-parameter name="Section"><type>ICL_SECTION</type></template-nontype-parameter>
1582      <template-nontype-parameter name="Alloc"><type>ICL_ALLOC</type></template-nontype-parameter>
1583    </template><specialization><template-arg>icl::map&lt; DomainT</template-arg><template-arg>CodomainT</template-arg><template-arg>Traits</template-arg><template-arg>Compare</template-arg><template-arg>Combine</template-arg><template-arg>Section</template-arg><template-arg>Alloc &gt;</template-arg></specialization><typedef name="type"><type>absorbs_identities</type></typedef>
1584<method-group name="public member functions">
1585<method name="BOOST_STATIC_CONSTANT"><type/><parameter name=""><paramtype>int</paramtype></parameter><parameter name=""><paramtype>value</paramtype><default>Traits::absorbs_identities</default></parameter></method>
1586</method-group>
1587</struct-specialization><struct-specialization name="has_inverse"><template>
1588      <template-type-parameter name="DomainT"/>
1589      <template-type-parameter name="CodomainT"/>
1590      <template-type-parameter name="Traits"/>
1591      <template-nontype-parameter name="Compare"><type>ICL_COMPARE</type></template-nontype-parameter>
1592      <template-nontype-parameter name="Combine"><type>ICL_COMBINE</type></template-nontype-parameter>
1593      <template-nontype-parameter name="Section"><type>ICL_SECTION</type></template-nontype-parameter>
1594      <template-nontype-parameter name="Alloc"><type>ICL_ALLOC</type></template-nontype-parameter>
1595    </template><specialization><template-arg>icl::map&lt; DomainT</template-arg><template-arg>CodomainT</template-arg><template-arg>Traits</template-arg><template-arg>Compare</template-arg><template-arg>Combine</template-arg><template-arg>Section</template-arg><template-arg>Alloc &gt;</template-arg></specialization><typedef name="type"><type>has_inverse&lt; <classname>icl::map</classname>&lt; DomainT, CodomainT, Traits, Compare, Combine, Section, Alloc &gt; &gt;</type></typedef>
1596<method-group name="public member functions">
1597<method name="BOOST_STATIC_CONSTANT"><type/><parameter name=""><paramtype>bool</paramtype></parameter><parameter name=""><paramtype>value</paramtype><default>(has_inverse&lt; CodomainT &gt;::value)</default></parameter></method>
1598</method-group>
1599</struct-specialization><struct-specialization name="is_map"><template>
1600      <template-type-parameter name="DomainT"/>
1601      <template-type-parameter name="CodomainT"/>
1602      <template-type-parameter name="Traits"/>
1603      <template-nontype-parameter name="Compare"><type>ICL_COMPARE</type></template-nontype-parameter>
1604      <template-nontype-parameter name="Combine"><type>ICL_COMBINE</type></template-nontype-parameter>
1605      <template-nontype-parameter name="Section"><type>ICL_SECTION</type></template-nontype-parameter>
1606      <template-nontype-parameter name="Alloc"><type>ICL_ALLOC</type></template-nontype-parameter>
1607    </template><specialization><template-arg>icl::map&lt; DomainT</template-arg><template-arg>CodomainT</template-arg><template-arg>Traits</template-arg><template-arg>Compare</template-arg><template-arg>Combine</template-arg><template-arg>Section</template-arg><template-arg>Alloc &gt;</template-arg></specialization><typedef name="type"><type>is_map&lt; <classname>icl::map</classname>&lt; DomainT, CodomainT, Traits, Compare, Combine, Section, Alloc &gt; &gt;</type></typedef>
1608<method-group name="public member functions">
1609<method name="BOOST_STATIC_CONSTANT"><type/><parameter name=""><paramtype>bool</paramtype></parameter><parameter name=""><paramtype>value</paramtype><default>true</default></parameter></method>
1610</method-group>
1611</struct-specialization><struct-specialization name="is_total"><template>
1612      <template-type-parameter name="DomainT"/>
1613      <template-type-parameter name="CodomainT"/>
1614      <template-type-parameter name="Traits"/>
1615      <template-nontype-parameter name="Compare"><type>ICL_COMPARE</type></template-nontype-parameter>
1616      <template-nontype-parameter name="Combine"><type>ICL_COMBINE</type></template-nontype-parameter>
1617      <template-nontype-parameter name="Section"><type>ICL_SECTION</type></template-nontype-parameter>
1618      <template-nontype-parameter name="Alloc"><type>ICL_ALLOC</type></template-nontype-parameter>
1619    </template><specialization><template-arg>icl::map&lt; DomainT</template-arg><template-arg>CodomainT</template-arg><template-arg>Traits</template-arg><template-arg>Compare</template-arg><template-arg>Combine</template-arg><template-arg>Section</template-arg><template-arg>Alloc &gt;</template-arg></specialization><typedef name="type"><type>is_total</type></typedef>
1620<method-group name="public member functions">
1621<method name="BOOST_STATIC_CONSTANT"><type/><parameter name=""><paramtype>int</paramtype></parameter><parameter name=""><paramtype>value</paramtype><default>Traits::is_total</default></parameter></method>
1622</method-group>
1623</struct-specialization><class name="map"><template>
1624      <template-type-parameter name="DomainT"/>
1625      <template-type-parameter name="CodomainT"/>
1626      <template-type-parameter name="Traits"><default><classname alt="boost::icl::partial_absorber">icl::partial_absorber</classname></default></template-type-parameter>
1627      <template-nontype-parameter name="Compare"><type>ICL_COMPARE</type><default>ICL_COMPARE_INSTANCE(ICL_COMPARE_DEFAULT, DomainT)</default></template-nontype-parameter>
1628      <template-nontype-parameter name="Combine"><type>ICL_COMBINE</type><default>ICL_COMBINE_INSTANCE(<classname alt="boost::icl::inplace_plus">icl::inplace_plus</classname>, CodomainT)</default></template-nontype-parameter>
1629      <template-nontype-parameter name="Section"><type>ICL_SECTION</type><default>ICL_SECTION_INSTANCE(<classname alt="boost::icl::inter_section">icl::inter_section</classname>, CodomainT)</default></template-nontype-parameter>
1630      <template-nontype-parameter name="Alloc"><type>ICL_ALLOC</type><default>std::allocator</default></template-nontype-parameter>
1631    </template><inherit access="private">ICL_IMPL_SPACE::map&lt; DomainT, CodomainT, ICL_COMPARE_DOMAIN(Compare, DomainT), Alloc&lt; std::pair&lt; const DomainT, CodomainT &gt; &gt; &gt;</inherit><purpose>Addable, subractable and intersectable maps. </purpose><struct name="on_codomain_model"><template>
1632      <template-type-parameter name="Type"/>
1633      <template-nontype-parameter name="has_set_semantics"><type>bool</type></template-nontype-parameter>
1634      <template-nontype-parameter name="absorbs_identities"><type>bool</type></template-nontype-parameter>
1635    </template></struct><struct-specialization name="on_codomain_model"><template>
1636      <template-type-parameter name="Type"/>
1637    </template><specialization><template-arg>Type</template-arg><template-arg>false</template-arg><template-arg>false</template-arg></specialization><method-group name="public static functions">
1638<method name="subtract" specifiers="static"><type>void</type><parameter name=""><paramtype>Type &amp;</paramtype></parameter><parameter name="it_"><paramtype>typename Type::iterator</paramtype></parameter><parameter name=""><paramtype>const typename Type::codomain_type &amp;</paramtype></parameter></method>
1639</method-group>
1640</struct-specialization><struct-specialization name="on_codomain_model"><template>
1641      <template-type-parameter name="Type"/>
1642    </template><specialization><template-arg>Type</template-arg><template-arg>false</template-arg><template-arg>true</template-arg></specialization><method-group name="public static functions">
1643<method name="subtract" specifiers="static"><type>void</type><parameter name="object"><paramtype>Type &amp;</paramtype></parameter><parameter name="it_"><paramtype>typename Type::iterator</paramtype></parameter><parameter name=""><paramtype>const typename Type::codomain_type &amp;</paramtype></parameter></method>
1644</method-group>
1645</struct-specialization><struct-specialization name="on_codomain_model"><template>
1646      <template-type-parameter name="Type"/>
1647    </template><specialization><template-arg>Type</template-arg><template-arg>true</template-arg><template-arg>false</template-arg></specialization><typedef name="inverse_codomain_intersect"><type>Type::inverse_codomain_intersect</type></typedef>
1648<method-group name="public static functions">
1649<method name="subtract" specifiers="static"><type>void</type><parameter name=""><paramtype>Type &amp;</paramtype></parameter><parameter name="it_"><paramtype>typename Type::iterator</paramtype></parameter><parameter name="co_value"><paramtype>const typename Type::codomain_type &amp;</paramtype></parameter></method>
1650</method-group>
1651</struct-specialization><struct-specialization name="on_codomain_model"><template>
1652      <template-type-parameter name="Type"/>
1653    </template><specialization><template-arg>Type</template-arg><template-arg>true</template-arg><template-arg>true</template-arg></specialization><typedef name="inverse_codomain_intersect"><type>Type::inverse_codomain_intersect</type></typedef>
1654<method-group name="public static functions">
1655<method name="subtract" specifiers="static"><type>void</type><parameter name="object"><paramtype>Type &amp;</paramtype></parameter><parameter name="it_"><paramtype>typename Type::iterator</paramtype></parameter><parameter name="co_value"><paramtype>const typename Type::codomain_type &amp;</paramtype></parameter></method>
1656</method-group>
1657</struct-specialization><struct name="on_definedness"><template>
1658      <template-type-parameter name="Type"/>
1659      <template-nontype-parameter name="is_total"><type>bool</type></template-nontype-parameter>
1660    </template></struct><struct-specialization name="on_definedness"><template>
1661      <template-type-parameter name="Type"/>
1662    </template><specialization><template-arg>Type</template-arg><template-arg>false</template-arg></specialization><method-group name="public static functions">
1663<method name="add_intersection" specifiers="static"><type>void</type><parameter name="section"><paramtype>Type &amp;</paramtype></parameter><parameter name="object"><paramtype>const Type &amp;</paramtype></parameter><parameter name="operand"><paramtype>const element_type &amp;</paramtype></parameter></method>
1664</method-group>
1665</struct-specialization><struct-specialization name="on_definedness"><template>
1666      <template-type-parameter name="Type"/>
1667    </template><specialization><template-arg>Type</template-arg><template-arg>true</template-arg></specialization><method-group name="public static functions">
1668<method name="add_intersection" specifiers="static"><type>void</type><parameter name="section"><paramtype>Type &amp;</paramtype></parameter><parameter name="object"><paramtype>const Type &amp;</paramtype></parameter><parameter name="operand"><paramtype>const element_type &amp;</paramtype></parameter></method>
1669</method-group>
1670</struct-specialization><struct name="on_invertible"><template>
1671      <template-type-parameter name="Type"/>
1672      <template-nontype-parameter name="is_total_invertible"><type>bool</type></template-nontype-parameter>
1673    </template></struct><struct-specialization name="on_invertible"><template>
1674      <template-type-parameter name="Type"/>
1675    </template><specialization><template-arg>Type</template-arg><template-arg>false</template-arg></specialization><typedef name="element_type"><type>Type::element_type</type></typedef>
1676<typedef name="inverse_codomain_combine"><type>Type::inverse_codomain_combine</type></typedef>
1677<method-group name="public static functions">
1678<method name="subtract" specifiers="static"><type>void</type><parameter name="object"><paramtype>Type &amp;</paramtype></parameter><parameter name="operand"><paramtype>const element_type &amp;</paramtype></parameter></method>
1679</method-group>
1680</struct-specialization><struct-specialization name="on_invertible"><template>
1681      <template-type-parameter name="Type"/>
1682    </template><specialization><template-arg>Type</template-arg><template-arg>true</template-arg></specialization><typedef name="element_type"><type>Type::element_type</type></typedef>
1683<typedef name="inverse_codomain_combine"><type>Type::inverse_codomain_combine</type></typedef>
1684<method-group name="public static functions">
1685<method name="subtract" specifiers="static"><type>void</type><parameter name="object"><paramtype>Type &amp;</paramtype></parameter><parameter name="operand"><paramtype>const element_type &amp;</paramtype></parameter></method>
1686</method-group>
1687</struct-specialization><struct name="on_total_absorbable"><template>
1688      <template-type-parameter name="Type"/>
1689      <template-nontype-parameter name="is_total"><type>bool</type></template-nontype-parameter>
1690      <template-nontype-parameter name="absorbs_identities"><type>bool</type></template-nontype-parameter>
1691    </template></struct><struct-specialization name="on_total_absorbable"><template>
1692      <template-type-parameter name="Type"/>
1693    </template><specialization><template-arg>Type</template-arg><template-arg>false</template-arg><template-arg>false</template-arg></specialization><typedef name="element_type"><type>Type::element_type</type></typedef>
1694<typedef name="codomain_type"><type>Type::codomain_type</type></typedef>
1695<typedef name="iterator"><type>Type::iterator</type></typedef>
1696<typedef name="inverse_codomain_intersect"><type>Type::inverse_codomain_intersect</type></typedef>
1697<method-group name="public static functions">
1698<method name="flip" specifiers="static"><type>void</type><parameter name="object"><paramtype>Type &amp;</paramtype></parameter><parameter name="operand"><paramtype>const element_type &amp;</paramtype></parameter></method>
1699</method-group>
1700</struct-specialization><struct-specialization name="on_total_absorbable"><template>
1701      <template-type-parameter name="Type"/>
1702    </template><specialization><template-arg>Type</template-arg><template-arg>false</template-arg><template-arg>true</template-arg></specialization><typedef name="element_type"><type>Type::element_type</type></typedef>
1703<typedef name="codomain_type"><type>Type::codomain_type</type></typedef>
1704<typedef name="iterator"><type>Type::iterator</type></typedef>
1705<typedef name="inverse_codomain_intersect"><type>Type::inverse_codomain_intersect</type></typedef>
1706<method-group name="public static functions">
1707<method name="flip" specifiers="static"><type>void</type><parameter name="object"><paramtype>Type &amp;</paramtype></parameter><parameter name="operand"><paramtype>const element_type &amp;</paramtype></parameter></method>
1708</method-group>
1709</struct-specialization><struct-specialization name="on_total_absorbable"><template>
1710      <template-type-parameter name="Type"/>
1711    </template><specialization><template-arg>Type</template-arg><template-arg>true</template-arg><template-arg>false</template-arg></specialization><typedef name="element_type"><type>Type::element_type</type></typedef>
1712<typedef name="codomain_type"><type>Type::codomain_type</type></typedef>
1713<method-group name="public static functions">
1714<method name="flip" specifiers="static"><type>void</type><parameter name="object"><paramtype>Type &amp;</paramtype></parameter><parameter name="operand"><paramtype>const element_type &amp;</paramtype></parameter></method>
1715</method-group>
1716</struct-specialization><struct-specialization name="on_total_absorbable"><template>
1717      <template-type-parameter name="Type"/>
1718    </template><specialization><template-arg>Type</template-arg><template-arg>true</template-arg><template-arg>true</template-arg></specialization><typedef name="element_type"><type>Type::element_type</type></typedef>
1719<method-group name="public static functions">
1720<method name="flip" specifiers="static"><type>void</type><parameter name="object"><paramtype>Type &amp;</paramtype></parameter><parameter name=""><paramtype>const typename Type::element_type &amp;</paramtype></parameter></method>
1721</method-group>
1722</struct-specialization><typedef name="allocator_type"><type>Alloc&lt; typename std::pair&lt; const DomainT, CodomainT &gt; &gt;</type></typedef>
1723<typedef name="type"><type><classname>icl::map</classname>&lt; DomainT, CodomainT, Traits, Compare, Combine, Section, Alloc &gt;</type></typedef>
1724<typedef name="base_type"><type>ICL_IMPL_SPACE::map&lt; DomainT, CodomainT, ICL_COMPARE_DOMAIN(Compare, DomainT), allocator_type &gt;</type></typedef>
1725<typedef name="traits"><type>Traits</type></typedef>
1726<typedef name="domain_type"><type>DomainT</type></typedef>
1727<typedef name="domain_param"><type>boost::call_traits&lt; DomainT &gt;::param_type</type></typedef>
1728<typedef name="key_type"><type>DomainT</type></typedef>
1729<typedef name="codomain_type"><type>CodomainT</type></typedef>
1730<typedef name="mapped_type"><type>CodomainT</type></typedef>
1731<typedef name="data_type"><type>CodomainT</type></typedef>
1732<typedef name="element_type"><type>std::pair&lt; const DomainT, CodomainT &gt;</type></typedef>
1733<typedef name="value_type"><type>std::pair&lt; const DomainT, CodomainT &gt;</type></typedef>
1734<typedef name="key_compare"><type>domain_compare</type></typedef>
1735<typedef name="inverse_codomain_combine"><type><classname>inverse</classname>&lt; codomain_combine &gt;::<classname>type</classname></type></typedef>
1736<typedef name="codomain_intersect"><type>mpl::if_&lt; has_set_semantics&lt; codomain_type &gt;, ICL_SECTION_CODOMAIN(Section, CodomainT), codomain_combine &gt;::<classname>type</classname></type></typedef>
1737<typedef name="inverse_codomain_intersect"><type><classname>inverse</classname>&lt; codomain_intersect &gt;::<classname>type</classname></type></typedef>
1738<typedef name="value_compare"><type>base_type::value_compare</type></typedef>
1739<typedef name="set_type"><type>ICL_IMPL_SPACE::set&lt; DomainT, domain_compare, Alloc&lt; DomainT &gt; &gt;</type></typedef>
1740<typedef name="key_object_type"><type>set_type</type></typedef>
1741<typedef name="on_identity_absorbtion"><type>on_absorbtion&lt; <classname>type</classname>, codomain_combine, Traits::absorbs_identities &gt;</type></typedef>
1742<typedef name="pointer"><type>base_type::pointer</type></typedef>
1743<typedef name="const_pointer"><type>base_type::const_pointer</type></typedef>
1744<typedef name="reference"><type>base_type::reference</type></typedef>
1745<typedef name="const_reference"><type>base_type::const_reference</type></typedef>
1746<typedef name="iterator"><type>base_type::iterator</type></typedef>
1747<typedef name="const_iterator"><type>base_type::const_iterator</type></typedef>
1748<typedef name="size_type"><type>base_type::size_type</type></typedef>
1749<typedef name="difference_type"><type>base_type::difference_type</type></typedef>
1750<typedef name="reverse_iterator"><type>base_type::reverse_iterator</type></typedef>
1751<typedef name="const_reverse_iterator"><type>base_type::const_reverse_iterator</type></typedef>
1752<method-group name="public member functions">
1753<method name="ICL_COMPARE_DOMAIN"><type>typedef</type><parameter name=""><paramtype>Compare</paramtype></parameter><parameter name=""><paramtype>DomainT</paramtype></parameter></method>
1754<method name="ICL_COMBINE_CODOMAIN"><type>typedef</type><parameter name=""><paramtype>Combine</paramtype></parameter><parameter name=""><paramtype>CodomainT</paramtype></parameter></method>
1755<method name="ICL_COMPARE_DOMAIN"><type>typedef</type><parameter name=""><paramtype>Compare</paramtype></parameter><parameter name=""><paramtype>element_type</paramtype></parameter></method>
1756<method name="BOOST_STATIC_CONSTANT"><type/><parameter name=""><paramtype>bool</paramtype></parameter><parameter name=""><paramtype>_total</paramtype><default>(Traits::is_total)</default></parameter></method>
1757<method name="BOOST_STATIC_CONSTANT"><type/><parameter name=""><paramtype>bool</paramtype></parameter><parameter name=""><paramtype>_absorbs</paramtype><default>(Traits::absorbs_identities)</default></parameter></method>
1758<method name="BOOST_STATIC_CONSTANT"><type/><parameter name=""><paramtype>bool</paramtype></parameter><parameter name=""><paramtype>total_invertible</paramtype><default>(mpl::and_&lt; is_total&lt; <classname alt="boost::icl::map">type</classname> &gt;, has_inverse&lt; codomain_type &gt; &gt;::value)</default></parameter></method>
1759<method name="BOOST_STATIC_CONSTANT"><type/><parameter name=""><paramtype>bool</paramtype></parameter><parameter name=""><paramtype>is_total_invertible</paramtype><default>(Traits::is_total &amp;&amp;has_inverse&lt; codomain_type &gt;::value)</default></parameter></method>
1760<method name="BOOST_STATIC_CONSTANT"><type/><parameter name=""><paramtype>int</paramtype></parameter><parameter name=""><paramtype>fineness</paramtype><default>4</default></parameter></method>
1761<method name="swap"><type>void</type><parameter name="src"><paramtype><classname>map</classname> &amp;</paramtype></parameter></method>
1762<method name="contains" cv="const"><type>bool</type><template>
1763          <template-type-parameter name="SubObject"/>
1764        </template><parameter name="sub"><paramtype>const SubObject &amp;</paramtype></parameter></method>
1765<method name="within" cv="const"><type>bool</type><parameter name="super"><paramtype>const <classname>map</classname> &amp;</paramtype></parameter></method>
1766<method name="iterative_size" cv="const"><type>std::size_t</type><description><para><computeroutput>iterative_size()</computeroutput> yields the number of elements that is visited throu complete iteration. For interval sets <computeroutput>iterative_size()</computeroutput> is different from <computeroutput>size()</computeroutput>. </para></description></method>
1767<method name="operator()" cv="const"><type>codomain_type</type><parameter name="key"><paramtype>const domain_type &amp;</paramtype></parameter><description><para>Total select function. </para></description></method>
1768<method name="add"><type><classname>map</classname> &amp;</type><parameter name="value_pair"><paramtype>const value_type &amp;</paramtype></parameter><description><para><computeroutput>add</computeroutput> inserts <computeroutput>value_pair</computeroutput> into the map if it's key does not exist in the map. If <computeroutput>value_pairs's</computeroutput> key value exists in the map, it's data value is added to the data value already found in the map. </para></description></method>
1769<method name="add"><type>iterator</type><parameter name="prior"><paramtype>iterator</paramtype></parameter><parameter name="value_pair"><paramtype>const value_type &amp;</paramtype></parameter><description><para><computeroutput>add</computeroutput> add <computeroutput>value_pair</computeroutput> into the map using <computeroutput>prior</computeroutput> as a hint to insert <computeroutput>value_pair</computeroutput> after the position <computeroutput>prior</computeroutput> is pointing to. </para></description></method>
1770<method name="subtract"><type><classname>map</classname> &amp;</type><parameter name="value_pair"><paramtype>const element_type &amp;</paramtype></parameter><description><para>If the <computeroutput>value_pair's</computeroutput> key value is in the map, it's data value is subtraced from the data value stored in the map. </para></description></method>
1771<method name="subtract"><type><classname>map</classname> &amp;</type><parameter name="key"><paramtype>const domain_type &amp;</paramtype></parameter></method>
1772<method name="insert"><type>std::pair&lt; iterator, bool &gt;</type><parameter name="value_pair"><paramtype>const value_type &amp;</paramtype></parameter></method>
1773<method name="insert"><type>iterator</type><parameter name="prior"><paramtype>iterator</paramtype></parameter><parameter name="value_pair"><paramtype>const value_type &amp;</paramtype></parameter></method>
1774<method name="insert"><type>iterator</type><template>
1775          <template-type-parameter name="Iterator"/>
1776        </template><parameter name="first"><paramtype>Iterator</paramtype></parameter><parameter name="last"><paramtype>Iterator</paramtype></parameter></method>
1777<method name="set"><type><classname>map</classname> &amp;</type><parameter name="key_value_pair"><paramtype>const element_type &amp;</paramtype></parameter><description><para>With <computeroutput>key_value_pair = (k,v)</computeroutput> set value <computeroutput>v</computeroutput> for key <computeroutput>k</computeroutput> </para></description></method>
1778<method name="erase"><type>size_type</type><parameter name="key_value_pair"><paramtype>const element_type &amp;</paramtype></parameter><description><para>erase <computeroutput>key_value_pair</computeroutput> from the map. Erase only if, the exact value content <computeroutput>val</computeroutput> is stored for the given key. </para></description></method>
1779<method name="add_intersection" cv="const"><type>void</type><parameter name="section"><paramtype><classname>map</classname> &amp;</paramtype></parameter><parameter name="key_value_pair"><paramtype>const element_type &amp;</paramtype></parameter><description><para>The intersection of <computeroutput>key_value_pair</computeroutput> and <computeroutput>*this</computeroutput> map is added to <computeroutput>section</computeroutput>. </para></description></method>
1780<method name="flip"><type><classname>map</classname> &amp;</type><parameter name="operand"><paramtype>const element_type &amp;</paramtype></parameter></method>
1781<method name="_add"><type><classname>map</classname>&lt; DomainT, CodomainT, Traits, Compare, Combine, Section, Alloc &gt; &amp;</type><template>
1782          <template-type-parameter name="Combiner"/>
1783        </template><parameter name="addend"><paramtype>const element_type &amp;</paramtype></parameter></method>
1784<method name="_subtract"><type><classname>map</classname>&lt; DomainT, CodomainT, Traits, Compare, Combine, Section, Alloc &gt; &amp;</type><template>
1785          <template-type-parameter name="Combiner"/>
1786        </template><parameter name="minuend"><paramtype>const value_type &amp;</paramtype></parameter></method>
1787</method-group>
1788<constructor/>
1789<constructor><parameter name="comp"><paramtype>const key_compare &amp;</paramtype></parameter></constructor>
1790<constructor><template>
1791          <template-type-parameter name="InputIterator"/>
1792        </template><parameter name="first"><paramtype>InputIterator</paramtype></parameter><parameter name="past"><paramtype>InputIterator</paramtype></parameter></constructor>
1793<constructor><template>
1794          <template-type-parameter name="InputIterator"/>
1795        </template><parameter name="first"><paramtype>InputIterator</paramtype></parameter><parameter name="past"><paramtype>InputIterator</paramtype></parameter><parameter name="comp"><paramtype>const key_compare &amp;</paramtype></parameter></constructor>
1796<constructor><parameter name="src"><paramtype>const <classname>map</classname> &amp;</paramtype></parameter></constructor>
1797<constructor specifiers="explicit"><parameter name="key_value_pair"><paramtype>const element_type &amp;</paramtype></parameter></constructor>
1798<constructor><parameter name="src"><paramtype><classname>map</classname> &amp;&amp;</paramtype></parameter></constructor>
1799<copy-assignment><type><classname>map</classname> &amp;</type><parameter name="src"><paramtype><classname>map</classname></paramtype></parameter></copy-assignment>
1800<method-group name="private member functions">
1801<method name="_add"><type><classname>map</classname> &amp;</type><template>
1802          <template-type-parameter name="Combiner"/>
1803        </template><parameter name="value_pair"><paramtype>const element_type &amp;</paramtype></parameter></method>
1804<method name="_add"><type>iterator</type><template>
1805          <template-type-parameter name="Combiner"/>
1806        </template><parameter name="prior"><paramtype>iterator</paramtype></parameter><parameter name="value_pair"><paramtype>const element_type &amp;</paramtype></parameter></method>
1807<method name="_subtract"><type><classname>map</classname> &amp;</type><template>
1808          <template-type-parameter name="Combiner"/>
1809        </template><parameter name="value_pair"><paramtype>const element_type &amp;</paramtype></parameter></method>
1810<method name="total_add_intersection" cv="const"><type>void</type><template>
1811          <template-type-parameter name="FragmentT"/>
1812        </template><parameter name="section"><paramtype><classname>type</classname> &amp;</paramtype></parameter><parameter name="fragment"><paramtype>const FragmentT &amp;</paramtype></parameter></method>
1813<method name="partial_add_intersection" cv="const"><type>void</type><parameter name="section"><paramtype><classname>type</classname> &amp;</paramtype></parameter><parameter name="operand"><paramtype>const element_type &amp;</paramtype></parameter></method>
1814</method-group>
1815</class><struct name="partial_absorber"><enum name="@3"><enumvalue name="absorbs_identities"><default>= true</default></enumvalue></enum>
1816<enum name="@4"><enumvalue name="is_total"><default>= false</default></enumvalue></enum>
1817</struct><struct name="partial_enricher"><enum name="@5"><enumvalue name="absorbs_identities"><default>= false</default></enumvalue></enum>
1818<enum name="@6"><enumvalue name="is_total"><default>= false</default></enumvalue></enum>
1819</struct><struct name="total_absorber"><enum name="@7"><enumvalue name="absorbs_identities"><default>= true</default></enumvalue></enum>
1820<enum name="@8"><enumvalue name="is_total"><default>= true</default></enumvalue></enum>
1821</struct><struct name="total_enricher"><enum name="@9"><enumvalue name="absorbs_identities"><default>= false</default></enumvalue></enum>
1822<enum name="@10"><enumvalue name="is_total"><default>= true</default></enumvalue></enum>
1823</struct><struct-specialization name="type_to_string"><template>
1824      <template-type-parameter name="DomainT"/>
1825      <template-type-parameter name="CodomainT"/>
1826      <template-type-parameter name="Traits"/>
1827      <template-nontype-parameter name="Compare"><type>ICL_COMPARE</type></template-nontype-parameter>
1828      <template-nontype-parameter name="Combine"><type>ICL_COMBINE</type></template-nontype-parameter>
1829      <template-nontype-parameter name="Section"><type>ICL_SECTION</type></template-nontype-parameter>
1830      <template-nontype-parameter name="Alloc"><type>ICL_ALLOC</type></template-nontype-parameter>
1831    </template><specialization><template-arg>icl::map&lt; DomainT</template-arg><template-arg>CodomainT</template-arg><template-arg>Traits</template-arg><template-arg>Compare</template-arg><template-arg>Combine</template-arg><template-arg>Section</template-arg><template-arg>Alloc &gt;</template-arg></specialization><method-group name="public static functions">
1832<method name="apply" specifiers="static"><type>std::string</type></method>
1833</method-group>
1834</struct-specialization>
1835
1836
1837
1838
1839
1840
1841
1842
1843
1844</namespace>
1845</namespace>
1846</header>
1847<header name="boost/icl/open_interval.hpp">
1848<namespace name="boost">
1849<namespace name="icl">
1850<struct-specialization name="interval_bound_type"><template>
1851      <template-type-parameter name="DomainT"/>
1852      <template-nontype-parameter name="Compare"><type>ICL_COMPARE</type></template-nontype-parameter>
1853    </template><specialization><template-arg>open_interval&lt; DomainT</template-arg><template-arg>Compare &gt;</template-arg></specialization><typedef name="type"><type>interval_bound_type</type></typedef>
1854<method-group name="public member functions">
1855<method name="BOOST_STATIC_CONSTANT"><type/><parameter name=""><paramtype>bound_type</paramtype></parameter><parameter name=""><paramtype>value</paramtype><default>interval_bounds::static_open</default></parameter></method>
1856</method-group>
1857</struct-specialization><struct-specialization name="interval_traits"><template>
1858      <template-type-parameter name="DomainT"/>
1859      <template-nontype-parameter name="Compare"><type>ICL_COMPARE</type></template-nontype-parameter>
1860    </template><specialization><template-arg>icl::open_interval&lt; DomainT</template-arg><template-arg>Compare &gt;</template-arg></specialization><typedef name="domain_type"><type>DomainT</type></typedef>
1861<typedef name="interval_type"><type><classname>icl::open_interval</classname>&lt; DomainT, Compare &gt;</type></typedef>
1862<method-group name="public member functions">
1863<method name="ICL_COMPARE_DOMAIN"><type>typedef</type><parameter name=""><paramtype>Compare</paramtype></parameter><parameter name=""><paramtype>DomainT</paramtype></parameter></method>
1864</method-group>
1865<method-group name="public static functions">
1866<method name="construct" specifiers="static"><type><classname>interval_type</classname></type><parameter name="lo"><paramtype>const domain_type &amp;</paramtype></parameter><parameter name="up"><paramtype>const domain_type &amp;</paramtype></parameter></method>
1867<method name="lower" specifiers="static"><type>domain_type</type><parameter name="inter_val"><paramtype>const <classname>interval_type</classname> &amp;</paramtype></parameter></method>
1868<method name="upper" specifiers="static"><type>domain_type</type><parameter name="inter_val"><paramtype>const <classname>interval_type</classname> &amp;</paramtype></parameter></method>
1869</method-group>
1870</struct-specialization><class name="open_interval"><template>
1871      <template-type-parameter name="DomainT"/>
1872      <template-nontype-parameter name="Compare"><type>ICL_COMPARE</type><default>ICL_COMPARE_INSTANCE(ICL_COMPARE_DEFAULT, DomainT)</default></template-nontype-parameter>
1873    </template><typedef name="type"><type><classname>open_interval</classname>&lt; DomainT, Compare &gt;</type></typedef>
1874<typedef name="domain_type"><type>DomainT</type></typedef>
1875<method-group name="public member functions">
1876<method name="ICL_COMPARE_DOMAIN"><type>typedef</type><parameter name=""><paramtype>Compare</paramtype></parameter><parameter name=""><paramtype>DomainT</paramtype></parameter></method>
1877<method name="lower" cv="const"><type>DomainT</type></method>
1878<method name="upper" cv="const"><type>DomainT</type></method>
1879</method-group>
1880<constructor><description><para>Default constructor; yields an empty interval <computeroutput>(0,0)</computeroutput>. </para></description></constructor>
1881<constructor specifiers="explicit"><parameter name="val"><paramtype>const DomainT &amp;</paramtype></parameter><description><para>Constructor for an open singleton interval <computeroutput>(val-1,val+1)</computeroutput> </para></description></constructor>
1882<constructor><parameter name="low"><paramtype>const DomainT &amp;</paramtype></parameter><parameter name="up"><paramtype>const DomainT &amp;</paramtype></parameter><description><para>Interval from <computeroutput>low</computeroutput> to <computeroutput>up</computeroutput> with bounds <computeroutput>bounds</computeroutput> </para></description></constructor>
1883</class><struct-specialization name="type_to_string"><template>
1884      <template-type-parameter name="DomainT"/>
1885      <template-nontype-parameter name="Compare"><type>ICL_COMPARE</type></template-nontype-parameter>
1886    </template><specialization><template-arg>icl::open_interval&lt; DomainT</template-arg><template-arg>Compare &gt;</template-arg></specialization><method-group name="public static functions">
1887<method name="apply" specifiers="static"><type>std::string</type></method>
1888</method-group>
1889</struct-specialization><struct-specialization name="value_size"><template>
1890      <template-type-parameter name="DomainT"/>
1891      <template-nontype-parameter name="Compare"><type>ICL_COMPARE</type></template-nontype-parameter>
1892    </template><specialization><template-arg>icl::open_interval&lt; DomainT</template-arg><template-arg>Compare &gt;</template-arg></specialization><method-group name="public static functions">
1893<method name="apply" specifiers="static"><type>std::size_t</type><parameter name=""><paramtype>const <classname>icl::open_interval</classname>&lt; DomainT &gt; &amp;</paramtype></parameter></method>
1894</method-group>
1895</struct-specialization>
1896
1897
1898
1899
1900
1901
1902
1903
1904
1905</namespace>
1906</namespace>
1907</header>
1908<header name="boost/icl/ptime.hpp">
1909<namespace name="boost">
1910<namespace name="icl">
1911<struct-specialization name="difference_type_of"><template>
1912    </template><specialization><template-arg>boost::posix_time::ptime</template-arg></specialization><typedef name="type"><type>boost::posix_time::time_duration</type></typedef>
1913</struct-specialization><struct-specialization name="has_difference"><template>
1914    </template><specialization><template-arg>boost::posix_time::ptime</template-arg></specialization><typedef name="type"><type>has_difference</type></typedef>
1915<method-group name="public member functions">
1916<method name="BOOST_STATIC_CONSTANT"><type/><parameter name=""><paramtype>bool</paramtype></parameter><parameter name=""><paramtype>value</paramtype><default>true</default></parameter></method>
1917</method-group>
1918</struct-specialization><struct-specialization name="has_difference"><template>
1919    </template><specialization><template-arg>boost::posix_time::time_duration</template-arg></specialization><typedef name="type"><type>has_difference</type></typedef>
1920<method-group name="public member functions">
1921<method name="BOOST_STATIC_CONSTANT"><type/><parameter name=""><paramtype>bool</paramtype></parameter><parameter name=""><paramtype>value</paramtype><default>true</default></parameter></method>
1922</method-group>
1923</struct-specialization><struct-specialization name="is_discrete"><template>
1924    </template><specialization><template-arg>boost::posix_time::ptime</template-arg></specialization><typedef name="type"><type>is_discrete</type></typedef>
1925<method-group name="public member functions">
1926<method name="BOOST_STATIC_CONSTANT"><type/><parameter name=""><paramtype>bool</paramtype></parameter><parameter name=""><paramtype>value</paramtype><default>true</default></parameter></method>
1927</method-group>
1928</struct-specialization><struct-specialization name="is_discrete"><template>
1929    </template><specialization><template-arg>boost::posix_time::time_duration</template-arg></specialization><typedef name="type"><type>is_discrete</type></typedef>
1930<method-group name="public member functions">
1931<method name="BOOST_STATIC_CONSTANT"><type/><parameter name=""><paramtype>bool</paramtype></parameter><parameter name=""><paramtype>value</paramtype><default>true</default></parameter></method>
1932</method-group>
1933</struct-specialization><struct-specialization name="size_type_of"><template>
1934    </template><specialization><template-arg>boost::posix_time::ptime</template-arg></specialization><typedef name="type"><type>boost::posix_time::time_duration</type></typedef>
1935</struct-specialization><struct-specialization name="size_type_of"><template>
1936    </template><specialization><template-arg>boost::posix_time::time_duration</template-arg></specialization><typedef name="type"><type>boost::posix_time::time_duration</type></typedef>
1937</struct-specialization><function name="operator++"><type>boost::posix_time::ptime</type><parameter name="x"><paramtype>boost::posix_time::ptime &amp;</paramtype></parameter></function>
1938<function name="operator--"><type>boost::posix_time::ptime</type><parameter name="x"><paramtype>boost::posix_time::ptime &amp;</paramtype></parameter></function>
1939<function name="operator++"><type>boost::posix_time::time_duration</type><parameter name="x"><paramtype>boost::posix_time::time_duration &amp;</paramtype></parameter></function>
1940<function name="operator--"><type>boost::posix_time::time_duration</type><parameter name="x"><paramtype>boost::posix_time::time_duration &amp;</paramtype></parameter></function>
1941
1942
1943
1944
1945
1946
1947</namespace>
1948</namespace>
1949</header>
1950<header name="boost/icl/rational.hpp">
1951<namespace name="boost">
1952<namespace name="icl">
1953<struct-specialization name="has_inverse"><template>
1954      <template-type-parameter name="Integral"/>
1955    </template><specialization><template-arg>boost::rational&lt; Integral &gt;</template-arg></specialization><typedef name="type"><type>has_inverse</type></typedef>
1956<method-group name="public member functions">
1957<method name="BOOST_STATIC_CONSTANT"><type/><parameter name=""><paramtype>bool</paramtype></parameter><parameter name=""><paramtype>value</paramtype><default>(boost::is_signed&lt; Integral &gt;::value)</default></parameter></method>
1958</method-group>
1959</struct-specialization><struct-specialization name="is_continuous"><template>
1960      <template-type-parameter name="Integral"/>
1961    </template><specialization><template-arg>boost::rational&lt; Integral &gt;</template-arg></specialization><typedef name="type"><type>is_continuous</type></typedef>
1962<method-group name="public member functions">
1963<method name="BOOST_STATIC_CONSTANT"><type/><parameter name=""><paramtype>bool</paramtype></parameter><parameter name=""><paramtype>value</paramtype><default>true</default></parameter></method>
1964</method-group>
1965</struct-specialization><struct-specialization name="is_discrete"><template>
1966      <template-type-parameter name="Integral"/>
1967    </template><specialization><template-arg>boost::rational&lt; Integral &gt;</template-arg></specialization><typedef name="type"><type>is_discrete</type></typedef>
1968<method-group name="public member functions">
1969<method name="BOOST_STATIC_CONSTANT"><type/><parameter name=""><paramtype>bool</paramtype></parameter><parameter name=""><paramtype>value</paramtype><default>false</default></parameter></method>
1970</method-group>
1971</struct-specialization><struct-specialization name="is_numeric"><template>
1972      <template-type-parameter name="Integral"/>
1973    </template><specialization><template-arg>boost::rational&lt; Integral &gt;</template-arg></specialization><typedef name="type"><type>is_numeric</type></typedef>
1974<method-group name="public member functions">
1975<method name="BOOST_STATIC_CONSTANT"><type/><parameter name=""><paramtype>bool</paramtype></parameter><parameter name=""><paramtype>value</paramtype><default>true</default></parameter></method>
1976</method-group>
1977</struct-specialization>
1978
1979
1980
1981
1982
1983
1984
1985
1986
1987</namespace>
1988</namespace>
1989</header>
1990<header name="boost/icl/right_open_interval.hpp">
1991<namespace name="boost">
1992<namespace name="icl">
1993<struct-specialization name="interval_bound_type"><template>
1994      <template-type-parameter name="DomainT"/>
1995      <template-nontype-parameter name="Compare"><type>ICL_COMPARE</type></template-nontype-parameter>
1996    </template><specialization><template-arg>right_open_interval&lt; DomainT</template-arg><template-arg>Compare &gt;</template-arg></specialization><typedef name="type"><type>interval_bound_type</type></typedef>
1997<method-group name="public member functions">
1998<method name="BOOST_STATIC_CONSTANT"><type/><parameter name=""><paramtype>bound_type</paramtype></parameter><parameter name=""><paramtype>value</paramtype><default>interval_bounds::static_right_open</default></parameter></method>
1999</method-group>
2000</struct-specialization><struct-specialization name="interval_traits"><template>
2001      <template-type-parameter name="DomainT"/>
2002      <template-nontype-parameter name="Compare"><type>ICL_COMPARE</type></template-nontype-parameter>
2003    </template><specialization><template-arg>icl::right_open_interval&lt; DomainT</template-arg><template-arg>Compare &gt;</template-arg></specialization><typedef name="domain_type"><type>DomainT</type></typedef>
2004<typedef name="interval_type"><type><classname>icl::right_open_interval</classname>&lt; DomainT, Compare &gt;</type></typedef>
2005<method-group name="public member functions">
2006<method name="ICL_COMPARE_DOMAIN"><type>typedef</type><parameter name=""><paramtype>Compare</paramtype></parameter><parameter name=""><paramtype>DomainT</paramtype></parameter></method>
2007</method-group>
2008<method-group name="public static functions">
2009<method name="construct" specifiers="static"><type><classname>interval_type</classname></type><parameter name="lo"><paramtype>const domain_type &amp;</paramtype></parameter><parameter name="up"><paramtype>const domain_type &amp;</paramtype></parameter></method>
2010<method name="lower" specifiers="static"><type>domain_type</type><parameter name="inter_val"><paramtype>const <classname>interval_type</classname> &amp;</paramtype></parameter></method>
2011<method name="upper" specifiers="static"><type>domain_type</type><parameter name="inter_val"><paramtype>const <classname>interval_type</classname> &amp;</paramtype></parameter></method>
2012</method-group>
2013</struct-specialization><class name="right_open_interval"><template>
2014      <template-type-parameter name="DomainT"/>
2015      <template-nontype-parameter name="Compare"><type>ICL_COMPARE</type><default>ICL_COMPARE_INSTANCE(ICL_COMPARE_DEFAULT, DomainT)</default></template-nontype-parameter>
2016    </template><typedef name="type"><type><classname>right_open_interval</classname>&lt; DomainT, Compare &gt;</type></typedef>
2017<typedef name="domain_type"><type>DomainT</type></typedef>
2018<method-group name="public member functions">
2019<method name="ICL_COMPARE_DOMAIN"><type>typedef</type><parameter name=""><paramtype>Compare</paramtype></parameter><parameter name=""><paramtype>DomainT</paramtype></parameter></method>
2020<method name="lower" cv="const"><type>domain_type</type></method>
2021<method name="upper" cv="const"><type>domain_type</type></method>
2022</method-group>
2023<constructor><description><para>Default constructor; yields an empty interval <computeroutput>[0,0)</computeroutput>. </para></description></constructor>
2024<constructor specifiers="explicit"><parameter name="val"><paramtype>const DomainT &amp;</paramtype></parameter><description><para>Constructor for a singleton interval <computeroutput>[val,val+1)</computeroutput> </para></description></constructor>
2025<constructor><parameter name="low"><paramtype>const DomainT &amp;</paramtype></parameter><parameter name="up"><paramtype>const DomainT &amp;</paramtype></parameter><description><para>Interval from <computeroutput>low</computeroutput> to <computeroutput>up</computeroutput> with bounds <computeroutput>bounds</computeroutput> </para></description></constructor>
2026</class><struct-specialization name="type_to_string"><template>
2027      <template-type-parameter name="DomainT"/>
2028      <template-nontype-parameter name="Compare"><type>ICL_COMPARE</type></template-nontype-parameter>
2029    </template><specialization><template-arg>icl::right_open_interval&lt; DomainT</template-arg><template-arg>Compare &gt;</template-arg></specialization><method-group name="public static functions">
2030<method name="apply" specifiers="static"><type>std::string</type></method>
2031</method-group>
2032</struct-specialization><struct-specialization name="value_size"><template>
2033      <template-type-parameter name="DomainT"/>
2034      <template-nontype-parameter name="Compare"><type>ICL_COMPARE</type></template-nontype-parameter>
2035    </template><specialization><template-arg>icl::right_open_interval&lt; DomainT</template-arg><template-arg>Compare &gt;</template-arg></specialization><method-group name="public static functions">
2036<method name="apply" specifiers="static"><type>std::size_t</type><parameter name=""><paramtype>const <classname>icl::right_open_interval</classname>&lt; DomainT &gt; &amp;</paramtype></parameter></method>
2037</method-group>
2038</struct-specialization>
2039
2040
2041
2042
2043
2044
2045
2046
2047
2048</namespace>
2049</namespace>
2050</header>
2051<header name="boost/icl/separate_interval_set.hpp">
2052<namespace name="boost">
2053<namespace name="icl">
2054<struct-specialization name="is_interval_container"><template>
2055      <template-type-parameter name="DomainT"/>
2056      <template-nontype-parameter name="Compare"><type>ICL_COMPARE</type></template-nontype-parameter>
2057      <template-nontype-parameter name="Interval"><type>ICL_INTERVAL(ICL_COMPARE)</type></template-nontype-parameter>
2058      <template-nontype-parameter name="Alloc"><type>ICL_ALLOC</type></template-nontype-parameter>
2059    </template><specialization><template-arg>icl::separate_interval_set&lt; DomainT</template-arg><template-arg>Compare</template-arg><template-arg>Interval</template-arg><template-arg>Alloc &gt;</template-arg></specialization><typedef name="type"><type>is_interval_container&lt; <classname>icl::separate_interval_set</classname>&lt; DomainT, Compare, Interval, Alloc &gt; &gt;</type></typedef>
2060<method-group name="public member functions">
2061<method name="BOOST_STATIC_CONSTANT"><type/><parameter name=""><paramtype>bool</paramtype></parameter><parameter name=""><paramtype>value</paramtype><default>true</default></parameter></method>
2062</method-group>
2063</struct-specialization><struct-specialization name="is_interval_separator"><template>
2064      <template-type-parameter name="DomainT"/>
2065      <template-nontype-parameter name="Compare"><type>ICL_COMPARE</type></template-nontype-parameter>
2066      <template-nontype-parameter name="Interval"><type>ICL_INTERVAL(ICL_COMPARE)</type></template-nontype-parameter>
2067      <template-nontype-parameter name="Alloc"><type>ICL_ALLOC</type></template-nontype-parameter>
2068    </template><specialization><template-arg>icl::separate_interval_set&lt; DomainT</template-arg><template-arg>Compare</template-arg><template-arg>Interval</template-arg><template-arg>Alloc &gt;</template-arg></specialization><typedef name="type"><type>is_interval_separator&lt; <classname>icl::separate_interval_set</classname>&lt; DomainT, Compare, Interval, Alloc &gt; &gt;</type></typedef>
2069<method-group name="public member functions">
2070<method name="BOOST_STATIC_CONSTANT"><type/><parameter name=""><paramtype>bool</paramtype></parameter><parameter name=""><paramtype>value</paramtype><default>true</default></parameter></method>
2071</method-group>
2072</struct-specialization><struct-specialization name="is_set"><template>
2073      <template-type-parameter name="DomainT"/>
2074      <template-nontype-parameter name="Compare"><type>ICL_COMPARE</type></template-nontype-parameter>
2075      <template-nontype-parameter name="Interval"><type>ICL_INTERVAL(ICL_COMPARE)</type></template-nontype-parameter>
2076      <template-nontype-parameter name="Alloc"><type>ICL_ALLOC</type></template-nontype-parameter>
2077    </template><specialization><template-arg>icl::separate_interval_set&lt; DomainT</template-arg><template-arg>Compare</template-arg><template-arg>Interval</template-arg><template-arg>Alloc &gt;</template-arg></specialization><typedef name="type"><type>is_set&lt; <classname>icl::separate_interval_set</classname>&lt; DomainT, Compare, Interval, Alloc &gt; &gt;</type></typedef>
2078<method-group name="public member functions">
2079<method name="BOOST_STATIC_CONSTANT"><type/><parameter name=""><paramtype>bool</paramtype></parameter><parameter name=""><paramtype>value</paramtype><default>true</default></parameter></method>
2080</method-group>
2081</struct-specialization><class name="separate_interval_set"><template>
2082      <template-type-parameter name="DomainT"/>
2083      <template-nontype-parameter name="Compare"><type>ICL_COMPARE</type><default>ICL_COMPARE_INSTANCE(ICL_COMPARE_DEFAULT, DomainT)</default></template-nontype-parameter>
2084      <template-nontype-parameter name="Interval"><type>ICL_INTERVAL(ICL_COMPARE)</type><default>ICL_INTERVAL_INSTANCE(ICL_INTERVAL_DEFAULT, DomainT, Compare)</default></template-nontype-parameter>
2085      <template-nontype-parameter name="Alloc"><type>ICL_ALLOC</type><default>std::allocator</default></template-nontype-parameter>
2086    </template><inherit access="public">boost::icl::interval_base_set&lt; separate_interval_set&lt; DomainT, Compare, Interval, Alloc &gt;, DomainT, Compare, Interval, Alloc &gt;</inherit><purpose>Implements a set as a set of intervals - leaving adjoining intervals separate. </purpose><enum name="@2"><enumvalue name="fineness"><default>= 2</default></enumvalue></enum>
2087<typedef name="type"><type><classname>separate_interval_set</classname>&lt; DomainT, Compare, Interval, Alloc &gt;</type></typedef>
2088<typedef name="base_type"><type><classname>interval_base_set</classname>&lt; <classname>type</classname>, DomainT, Compare, Interval, Alloc &gt;</type></typedef>
2089<typedef name="overloadable_type"><type><classname>type</classname></type></typedef>
2090<typedef name="key_object_type"><type><classname>type</classname></type></typedef>
2091<typedef name="joint_type"><type><classname>interval_set</classname>&lt; DomainT, Compare, Interval, Alloc &gt;</type></typedef>
2092<typedef name="domain_type"><purpose>The domain type of the set. </purpose><type>DomainT</type></typedef>
2093<typedef name="codomain_type"><purpose>The codomaintype is the same as domain_type. </purpose><type>DomainT</type></typedef>
2094<typedef name="element_type"><purpose>The element type of the set. </purpose><type>DomainT</type></typedef>
2095<typedef name="segment_type"><purpose>The segment type of the set. </purpose><type>interval_type</type></typedef>
2096<typedef name="interval_compare"><purpose>Comparison functor for intervals. </purpose><type>exclusive_less_than&lt; interval_type &gt;</type></typedef>
2097<typedef name="key_compare"><purpose>Comparison functor for keys. </purpose><type>exclusive_less_than&lt; interval_type &gt;</type></typedef>
2098<typedef name="allocator_type"><purpose>The allocator type of the set. </purpose><type>Alloc&lt; interval_type &gt;</type></typedef>
2099<typedef name="domain_allocator_type"><purpose>allocator type of the corresponding element set </purpose><type>Alloc&lt; DomainT &gt;</type></typedef>
2100<typedef name="atomized_type"><purpose>The corresponding atomized type representing this interval container of elements. </purpose><type>base_type::atomized_type</type></typedef>
2101<typedef name="ImplSetT"><purpose>Container type for the implementation. </purpose><type>base_type::ImplSetT</type></typedef>
2102<typedef name="key_type"><purpose>key type of the implementing container </purpose><type>ImplSetT::key_type</type></typedef>
2103<typedef name="data_type"><purpose>data type of the implementing container </purpose><type>ImplSetT::value_type</type></typedef>
2104<typedef name="value_type"><purpose>value type of the implementing container </purpose><type>ImplSetT::value_type</type></typedef>
2105<typedef name="iterator"><purpose>iterator for iteration over intervals </purpose><type>ImplSetT::iterator</type></typedef>
2106<typedef name="const_iterator"><purpose>const_iterator for iteration over intervals </purpose><type>ImplSetT::const_iterator</type></typedef>
2107<method-group name="public member functions">
2108<method name="ICL_INTERVAL_TYPE"><type>typedef</type><parameter name=""><paramtype>Interval</paramtype></parameter><parameter name=""><paramtype>DomainT</paramtype></parameter><parameter name=""><paramtype>Compare</paramtype></parameter><purpose>The interval type of the set. </purpose></method>
2109<method name="ICL_COMPARE_DOMAIN"><type>typedef</type><parameter name=""><paramtype>Compare</paramtype></parameter><parameter name=""><paramtype>DomainT</paramtype></parameter><purpose>Comparison functor for domain values. </purpose></method>
2110<method name="assign"><type>void</type><template>
2111          <template-type-parameter name="SubType"/>
2112        </template><parameter name="src"><paramtype>const <classname>interval_base_set</classname>&lt; SubType, DomainT, Compare, Interval, Alloc &gt; &amp;</paramtype></parameter><purpose>Assignment from a base <classname alt="boost::icl::interval_set">interval_set</classname>. </purpose></method>
2113</method-group>
2114<constructor><purpose>Default constructor for the empty object. </purpose></constructor>
2115<constructor><parameter name="src"><paramtype>const <classname>separate_interval_set</classname> &amp;</paramtype></parameter><purpose>Copy constructor. </purpose></constructor>
2116<constructor><template>
2117          <template-type-parameter name="SubType"/>
2118        </template><parameter name="src"><paramtype>const <classname>interval_base_set</classname>&lt; SubType, DomainT, Compare, Interval, Alloc &gt; &amp;</paramtype></parameter><purpose>Copy constructor for base_type. </purpose></constructor>
2119<constructor specifiers="explicit"><parameter name="elem"><paramtype>const domain_type &amp;</paramtype></parameter><purpose>Constructor for a single element. </purpose></constructor>
2120<constructor specifiers="explicit"><parameter name="itv"><paramtype>const interval_type &amp;</paramtype></parameter><purpose>Constructor for a single interval. </purpose></constructor>
2121<copy-assignment><type><classname>separate_interval_set</classname> &amp;</type><template>
2122          <template-type-parameter name="SubType"/>
2123        </template><parameter name="src"><paramtype>const <classname>interval_base_set</classname>&lt; SubType, DomainT, Compare, Interval, Alloc &gt; &amp;</paramtype></parameter><purpose>Assignment operator for base type. </purpose></copy-assignment>
2124<constructor><parameter name="src"><paramtype><classname>separate_interval_set</classname> &amp;&amp;</paramtype></parameter><purpose>Move constructor. </purpose></constructor>
2125<copy-assignment><type><classname>separate_interval_set</classname> &amp;</type><parameter name="src"><paramtype><classname>separate_interval_set</classname></paramtype></parameter><purpose>Move assignment operator. </purpose></copy-assignment>
2126<method-group name="private member functions">
2127<method name="handle_inserted"><type>iterator</type><parameter name="inserted_"><paramtype>iterator</paramtype></parameter></method>
2128<method name="add_over"><type>iterator</type><parameter name="addend"><paramtype>const interval_type &amp;</paramtype></parameter><parameter name="last_"><paramtype>iterator</paramtype></parameter></method>
2129<method name="add_over"><type>iterator</type><parameter name="addend"><paramtype>const interval_type &amp;</paramtype></parameter></method>
2130</method-group>
2131</class><struct-specialization name="type_to_string"><template>
2132      <template-type-parameter name="DomainT"/>
2133      <template-nontype-parameter name="Compare"><type>ICL_COMPARE</type></template-nontype-parameter>
2134      <template-nontype-parameter name="Interval"><type>ICL_INTERVAL(ICL_COMPARE)</type></template-nontype-parameter>
2135      <template-nontype-parameter name="Alloc"><type>ICL_ALLOC</type></template-nontype-parameter>
2136    </template><specialization><template-arg>icl::separate_interval_set&lt; DomainT</template-arg><template-arg>Compare</template-arg><template-arg>Interval</template-arg><template-arg>Alloc &gt;</template-arg></specialization><method-group name="public static functions">
2137<method name="apply" specifiers="static"><type>std::string</type></method>
2138</method-group>
2139</struct-specialization>
2140
2141
2142
2143
2144
2145
2146
2147
2148
2149</namespace>
2150</namespace>
2151</header>
2152<header name="boost/icl/set.hpp">
2153</header>
2154<header name="boost/icl/split_interval_map.hpp">
2155<namespace name="boost">
2156<namespace name="icl">
2157<struct-specialization name="absorbs_identities"><template>
2158      <template-type-parameter name="DomainT"/>
2159      <template-type-parameter name="CodomainT"/>
2160      <template-type-parameter name="Traits"/>
2161      <template-nontype-parameter name="Compare"><type>ICL_COMPARE</type></template-nontype-parameter>
2162      <template-nontype-parameter name="Combine"><type>ICL_COMBINE</type></template-nontype-parameter>
2163      <template-nontype-parameter name="Section"><type>ICL_SECTION</type></template-nontype-parameter>
2164      <template-nontype-parameter name="Interval"><type>ICL_INTERVAL(ICL_COMPARE)</type></template-nontype-parameter>
2165      <template-nontype-parameter name="Alloc"><type>ICL_ALLOC</type></template-nontype-parameter>
2166    </template><specialization><template-arg>icl::split_interval_map&lt; DomainT</template-arg><template-arg>CodomainT</template-arg><template-arg>Traits</template-arg><template-arg>Compare</template-arg><template-arg>Combine</template-arg><template-arg>Section</template-arg><template-arg>Interval</template-arg><template-arg>Alloc &gt;</template-arg></specialization><typedef name="type"><type>absorbs_identities&lt; <classname>icl::split_interval_map</classname>&lt; DomainT, CodomainT, Traits, Compare, Combine, Section, Interval, Alloc &gt; &gt;</type></typedef>
2167<method-group name="public member functions">
2168<method name="BOOST_STATIC_CONSTANT"><type/><parameter name=""><paramtype>bool</paramtype></parameter><parameter name=""><paramtype>value</paramtype><default>(Traits::absorbs_identities)</default></parameter></method>
2169</method-group>
2170</struct-specialization><struct-specialization name="has_inverse"><template>
2171      <template-type-parameter name="DomainT"/>
2172      <template-type-parameter name="CodomainT"/>
2173      <template-type-parameter name="Traits"/>
2174      <template-nontype-parameter name="Compare"><type>ICL_COMPARE</type></template-nontype-parameter>
2175      <template-nontype-parameter name="Combine"><type>ICL_COMBINE</type></template-nontype-parameter>
2176      <template-nontype-parameter name="Section"><type>ICL_SECTION</type></template-nontype-parameter>
2177      <template-nontype-parameter name="Interval"><type>ICL_INTERVAL(ICL_COMPARE)</type></template-nontype-parameter>
2178      <template-nontype-parameter name="Alloc"><type>ICL_ALLOC</type></template-nontype-parameter>
2179    </template><specialization><template-arg>icl::split_interval_map&lt; DomainT</template-arg><template-arg>CodomainT</template-arg><template-arg>Traits</template-arg><template-arg>Compare</template-arg><template-arg>Combine</template-arg><template-arg>Section</template-arg><template-arg>Interval</template-arg><template-arg>Alloc &gt;</template-arg></specialization><typedef name="type"><type>has_inverse&lt; <classname>icl::split_interval_map</classname>&lt; DomainT, CodomainT, Traits, Compare, Combine, Section, Interval, Alloc &gt; &gt;</type></typedef>
2180<method-group name="public member functions">
2181<method name="BOOST_STATIC_CONSTANT"><type/><parameter name=""><paramtype>bool</paramtype></parameter><parameter name=""><paramtype>value</paramtype><default>(has_inverse&lt; CodomainT &gt;::value)</default></parameter></method>
2182</method-group>
2183</struct-specialization><struct-specialization name="is_interval_container"><template>
2184      <template-type-parameter name="DomainT"/>
2185      <template-type-parameter name="CodomainT"/>
2186      <template-type-parameter name="Traits"/>
2187      <template-nontype-parameter name="Compare"><type>ICL_COMPARE</type></template-nontype-parameter>
2188      <template-nontype-parameter name="Combine"><type>ICL_COMBINE</type></template-nontype-parameter>
2189      <template-nontype-parameter name="Section"><type>ICL_SECTION</type></template-nontype-parameter>
2190      <template-nontype-parameter name="Interval"><type>ICL_INTERVAL(ICL_COMPARE)</type></template-nontype-parameter>
2191      <template-nontype-parameter name="Alloc"><type>ICL_ALLOC</type></template-nontype-parameter>
2192    </template><specialization><template-arg>icl::split_interval_map&lt; DomainT</template-arg><template-arg>CodomainT</template-arg><template-arg>Traits</template-arg><template-arg>Compare</template-arg><template-arg>Combine</template-arg><template-arg>Section</template-arg><template-arg>Interval</template-arg><template-arg>Alloc &gt;</template-arg></specialization><typedef name="type"><type>is_interval_container&lt; <classname>icl::split_interval_map</classname>&lt; DomainT, CodomainT, Traits, Compare, Combine, Section, Interval, Alloc &gt; &gt;</type></typedef>
2193<method-group name="public member functions">
2194<method name="BOOST_STATIC_CONSTANT"><type/><parameter name=""><paramtype>bool</paramtype></parameter><parameter name=""><paramtype>value</paramtype><default>true</default></parameter></method>
2195</method-group>
2196</struct-specialization><struct-specialization name="is_interval_splitter"><template>
2197      <template-type-parameter name="DomainT"/>
2198      <template-type-parameter name="CodomainT"/>
2199      <template-type-parameter name="Traits"/>
2200      <template-nontype-parameter name="Compare"><type>ICL_COMPARE</type></template-nontype-parameter>
2201      <template-nontype-parameter name="Combine"><type>ICL_COMBINE</type></template-nontype-parameter>
2202      <template-nontype-parameter name="Section"><type>ICL_SECTION</type></template-nontype-parameter>
2203      <template-nontype-parameter name="Interval"><type>ICL_INTERVAL(ICL_COMPARE)</type></template-nontype-parameter>
2204      <template-nontype-parameter name="Alloc"><type>ICL_ALLOC</type></template-nontype-parameter>
2205    </template><specialization><template-arg>icl::split_interval_map&lt; DomainT</template-arg><template-arg>CodomainT</template-arg><template-arg>Traits</template-arg><template-arg>Compare</template-arg><template-arg>Combine</template-arg><template-arg>Section</template-arg><template-arg>Interval</template-arg><template-arg>Alloc &gt;</template-arg></specialization><typedef name="type"><type>is_interval_splitter&lt; <classname>icl::split_interval_map</classname>&lt; DomainT, CodomainT, Traits, Compare, Combine, Section, Interval, Alloc &gt; &gt;</type></typedef>
2206<method-group name="public member functions">
2207<method name="BOOST_STATIC_CONSTANT"><type/><parameter name=""><paramtype>bool</paramtype></parameter><parameter name=""><paramtype>value</paramtype><default>true</default></parameter></method>
2208</method-group>
2209</struct-specialization><struct-specialization name="is_map"><template>
2210      <template-type-parameter name="DomainT"/>
2211      <template-type-parameter name="CodomainT"/>
2212      <template-type-parameter name="Traits"/>
2213      <template-nontype-parameter name="Compare"><type>ICL_COMPARE</type></template-nontype-parameter>
2214      <template-nontype-parameter name="Combine"><type>ICL_COMBINE</type></template-nontype-parameter>
2215      <template-nontype-parameter name="Section"><type>ICL_SECTION</type></template-nontype-parameter>
2216      <template-nontype-parameter name="Interval"><type>ICL_INTERVAL(ICL_COMPARE)</type></template-nontype-parameter>
2217      <template-nontype-parameter name="Alloc"><type>ICL_ALLOC</type></template-nontype-parameter>
2218    </template><specialization><template-arg>icl::split_interval_map&lt; DomainT</template-arg><template-arg>CodomainT</template-arg><template-arg>Traits</template-arg><template-arg>Compare</template-arg><template-arg>Combine</template-arg><template-arg>Section</template-arg><template-arg>Interval</template-arg><template-arg>Alloc &gt;</template-arg></specialization><typedef name="type"><type>is_map&lt; <classname>icl::split_interval_map</classname>&lt; DomainT, CodomainT, Traits, Compare, Combine, Section, Interval, Alloc &gt; &gt;</type></typedef>
2219<method-group name="public member functions">
2220<method name="BOOST_STATIC_CONSTANT"><type/><parameter name=""><paramtype>bool</paramtype></parameter><parameter name=""><paramtype>value</paramtype><default>true</default></parameter></method>
2221</method-group>
2222</struct-specialization><struct-specialization name="is_total"><template>
2223      <template-type-parameter name="DomainT"/>
2224      <template-type-parameter name="CodomainT"/>
2225      <template-type-parameter name="Traits"/>
2226      <template-nontype-parameter name="Compare"><type>ICL_COMPARE</type></template-nontype-parameter>
2227      <template-nontype-parameter name="Combine"><type>ICL_COMBINE</type></template-nontype-parameter>
2228      <template-nontype-parameter name="Section"><type>ICL_SECTION</type></template-nontype-parameter>
2229      <template-nontype-parameter name="Interval"><type>ICL_INTERVAL(ICL_COMPARE)</type></template-nontype-parameter>
2230      <template-nontype-parameter name="Alloc"><type>ICL_ALLOC</type></template-nontype-parameter>
2231    </template><specialization><template-arg>icl::split_interval_map&lt; DomainT</template-arg><template-arg>CodomainT</template-arg><template-arg>Traits</template-arg><template-arg>Compare</template-arg><template-arg>Combine</template-arg><template-arg>Section</template-arg><template-arg>Interval</template-arg><template-arg>Alloc &gt;</template-arg></specialization><typedef name="type"><type>is_total&lt; <classname>icl::split_interval_map</classname>&lt; DomainT, CodomainT, Traits, Compare, Combine, Section, Interval, Alloc &gt; &gt;</type></typedef>
2232<method-group name="public member functions">
2233<method name="BOOST_STATIC_CONSTANT"><type/><parameter name=""><paramtype>bool</paramtype></parameter><parameter name=""><paramtype>value</paramtype><default>(Traits::is_total)</default></parameter></method>
2234</method-group>
2235</struct-specialization><class name="split_interval_map"><template>
2236      <template-type-parameter name="DomainT"/>
2237      <template-type-parameter name="CodomainT"/>
2238      <template-type-parameter name="Traits"><default><classname alt="boost::icl::partial_absorber">icl::partial_absorber</classname></default></template-type-parameter>
2239      <template-nontype-parameter name="Compare"><type>ICL_COMPARE</type><default>ICL_COMPARE_INSTANCE(ICL_COMPARE_DEFAULT, DomainT)</default></template-nontype-parameter>
2240      <template-nontype-parameter name="Combine"><type>ICL_COMBINE</type><default>ICL_COMBINE_INSTANCE(<classname alt="boost::icl::inplace_plus">icl::inplace_plus</classname>, CodomainT)</default></template-nontype-parameter>
2241      <template-nontype-parameter name="Section"><type>ICL_SECTION</type><default>ICL_SECTION_INSTANCE(<classname alt="boost::icl::inter_section">icl::inter_section</classname>, CodomainT)</default></template-nontype-parameter>
2242      <template-nontype-parameter name="Interval"><type>ICL_INTERVAL(ICL_COMPARE)</type><default>ICL_INTERVAL_INSTANCE(ICL_INTERVAL_DEFAULT, DomainT, Compare)</default></template-nontype-parameter>
2243      <template-nontype-parameter name="Alloc"><type>ICL_ALLOC</type><default>std::allocator</default></template-nontype-parameter>
2244    </template><inherit access="public">boost::icl::interval_base_map&lt; split_interval_map&lt; DomainT, CodomainT, Traits, Compare, Combine, Section, Interval, Alloc &gt;, DomainT, CodomainT, Traits, Compare, Combine, Section, Interval, Alloc &gt;</inherit><purpose>implements a map as a map of intervals - on insertion overlapping intervals are split and associated values are combined. </purpose><enum name="@1"><enumvalue name="fineness"><default>= 3</default></enumvalue></enum>
2245<typedef name="traits"><type>Traits</type></typedef>
2246<typedef name="type"><type><classname>split_interval_map</classname>&lt; DomainT, CodomainT, Traits, Compare, Combine, Section, Interval, Alloc &gt;</type></typedef>
2247<typedef name="joint_type"><type><classname>interval_map</classname>&lt; DomainT, CodomainT, Traits, Compare, Combine, Section, Interval, Alloc &gt;</type></typedef>
2248<typedef name="overloadable_type"><type><classname>type</classname></type></typedef>
2249<typedef name="base_type"><type><classname>interval_base_map</classname>&lt; <classname>type</classname>, DomainT, CodomainT, Traits, Compare, Combine, Section, Interval, Alloc &gt;</type></typedef>
2250<typedef name="domain_type"><type>DomainT</type></typedef>
2251<typedef name="codomain_type"><type>CodomainT</type></typedef>
2252<typedef name="iterator"><type>base_type::iterator</type></typedef>
2253<typedef name="value_type"><type>base_type::value_type</type></typedef>
2254<typedef name="element_type"><type>base_type::element_type</type></typedef>
2255<typedef name="segment_type"><type>base_type::segment_type</type></typedef>
2256<typedef name="domain_mapping_type"><type>base_type::domain_mapping_type</type></typedef>
2257<typedef name="interval_mapping_type"><type>base_type::interval_mapping_type</type></typedef>
2258<typedef name="ImplMapT"><type>base_type::ImplMapT</type></typedef>
2259<typedef name="codomain_combine"><type>base_type::codomain_combine</type></typedef>
2260<typedef name="interval_set_type"><type><classname>interval_set</classname>&lt; DomainT, Compare, Interval, Alloc &gt;</type></typedef>
2261<typedef name="set_type"><type><classname>interval_set_type</classname></type></typedef>
2262<typedef name="key_object_type"><type><classname>set_type</classname></type></typedef>
2263<method-group name="public member functions">
2264<method name="ICL_INTERVAL_TYPE"><type>typedef</type><parameter name=""><paramtype>Interval</paramtype></parameter><parameter name=""><paramtype>DomainT</paramtype></parameter><parameter name=""><paramtype>Compare</paramtype></parameter></method>
2265<method name="assign"><type>void</type><template>
2266          <template-type-parameter name="SubType"/>
2267        </template><parameter name="src"><paramtype>const <classname>interval_base_map</classname>&lt; SubType, DomainT, CodomainT, Traits, Compare, Combine, Section, Interval, Alloc &gt; &amp;</paramtype></parameter><purpose>Assignment from a base <classname alt="boost::icl::interval_map">interval_map</classname>. </purpose></method>
2268</method-group>
2269<constructor><purpose>Default constructor for the empty object. </purpose></constructor>
2270<constructor><parameter name="src"><paramtype>const <classname>split_interval_map</classname> &amp;</paramtype></parameter><purpose>Copy constructor. </purpose></constructor>
2271<constructor specifiers="explicit"><parameter name="base_pair"><paramtype>const <classname>domain_mapping_type</classname> &amp;</paramtype></parameter></constructor>
2272<constructor specifiers="explicit"><parameter name="value_pair"><paramtype>const value_type &amp;</paramtype></parameter></constructor>
2273<copy-assignment><type><classname>split_interval_map</classname> &amp;</type><template>
2274          <template-type-parameter name="SubType"/>
2275        </template><parameter name="src"><paramtype>const <classname>interval_base_map</classname>&lt; SubType, DomainT, CodomainT, Traits, Compare, Combine, Section, Interval, Alloc &gt; &amp;</paramtype></parameter><purpose>Assignment operator for base type. </purpose></copy-assignment>
2276<constructor><parameter name="src"><paramtype><classname>split_interval_map</classname> &amp;&amp;</paramtype></parameter><purpose>Move constructor. </purpose></constructor>
2277<copy-assignment><type><classname>split_interval_map</classname> &amp;</type><parameter name="src"><paramtype><classname>split_interval_map</classname></paramtype></parameter><purpose>Move assignment operator. </purpose></copy-assignment>
2278<method-group name="private member functions">
2279<method name="handle_inserted" cv="const"><type>iterator</type><parameter name="it_"><paramtype>iterator</paramtype></parameter></method>
2280<method name="handle_inserted" cv="const"><type>void</type><parameter name=""><paramtype>iterator</paramtype></parameter><parameter name=""><paramtype>iterator</paramtype></parameter></method>
2281<method name="handle_left_combined"><type>void</type><template>
2282          <template-type-parameter name="Combiner"/>
2283        </template><parameter name="it_"><paramtype>iterator</paramtype></parameter></method>
2284<method name="handle_combined"><type>void</type><template>
2285          <template-type-parameter name="Combiner"/>
2286        </template><parameter name="it_"><paramtype>iterator</paramtype></parameter></method>
2287<method name="handle_preceeded_combined"><type>void</type><template>
2288          <template-type-parameter name="Combiner"/>
2289        </template><parameter name="prior_"><paramtype>iterator</paramtype></parameter><parameter name="it_"><paramtype>iterator &amp;</paramtype></parameter></method>
2290<method name="handle_succeeded_combined"><type>void</type><template>
2291          <template-type-parameter name="Combiner"/>
2292        </template><parameter name="it_"><paramtype>iterator</paramtype></parameter><parameter name=""><paramtype>iterator</paramtype></parameter></method>
2293<method name="handle_reinserted"><type>void</type><parameter name=""><paramtype>iterator</paramtype></parameter></method>
2294<method name="gap_insert_at"><type>void</type><template>
2295          <template-type-parameter name="Combiner"/>
2296        </template><parameter name="it_"><paramtype>iterator &amp;</paramtype></parameter><parameter name="prior_"><paramtype>iterator</paramtype></parameter><parameter name="end_gap"><paramtype>const interval_type &amp;</paramtype></parameter><parameter name="co_val"><paramtype>const codomain_type &amp;</paramtype></parameter></method>
2297</method-group>
2298</class><struct-specialization name="type_to_string"><template>
2299      <template-type-parameter name="DomainT"/>
2300      <template-type-parameter name="CodomainT"/>
2301      <template-type-parameter name="Traits"/>
2302      <template-nontype-parameter name="Compare"><type>ICL_COMPARE</type></template-nontype-parameter>
2303      <template-nontype-parameter name="Combine"><type>ICL_COMBINE</type></template-nontype-parameter>
2304      <template-nontype-parameter name="Section"><type>ICL_SECTION</type></template-nontype-parameter>
2305      <template-nontype-parameter name="Interval"><type>ICL_INTERVAL(ICL_COMPARE)</type></template-nontype-parameter>
2306      <template-nontype-parameter name="Alloc"><type>ICL_ALLOC</type></template-nontype-parameter>
2307    </template><specialization><template-arg>icl::split_interval_map&lt; DomainT</template-arg><template-arg>CodomainT</template-arg><template-arg>Traits</template-arg><template-arg>Compare</template-arg><template-arg>Combine</template-arg><template-arg>Section</template-arg><template-arg>Interval</template-arg><template-arg>Alloc &gt;</template-arg></specialization><method-group name="public static functions">
2308<method name="apply" specifiers="static"><type>std::string</type></method>
2309</method-group>
2310</struct-specialization>
2311
2312
2313
2314
2315
2316
2317
2318
2319
2320</namespace>
2321</namespace>
2322</header>
2323<header name="boost/icl/split_interval_set.hpp">
2324<namespace name="boost">
2325<namespace name="icl">
2326<struct-specialization name="is_interval_container"><template>
2327      <template-type-parameter name="DomainT"/>
2328      <template-nontype-parameter name="Compare"><type>ICL_COMPARE</type></template-nontype-parameter>
2329      <template-nontype-parameter name="Interval"><type>ICL_INTERVAL(ICL_COMPARE)</type></template-nontype-parameter>
2330      <template-nontype-parameter name="Alloc"><type>ICL_ALLOC</type></template-nontype-parameter>
2331    </template><specialization><template-arg>icl::split_interval_set&lt; DomainT</template-arg><template-arg>Compare</template-arg><template-arg>Interval</template-arg><template-arg>Alloc &gt;</template-arg></specialization><typedef name="type"><type>is_interval_container&lt; <classname>icl::split_interval_set</classname>&lt; DomainT, Compare, Interval, Alloc &gt; &gt;</type></typedef>
2332<method-group name="public member functions">
2333<method name="BOOST_STATIC_CONSTANT"><type/><parameter name=""><paramtype>bool</paramtype></parameter><parameter name=""><paramtype>value</paramtype><default>true</default></parameter></method>
2334</method-group>
2335</struct-specialization><struct-specialization name="is_interval_splitter"><template>
2336      <template-type-parameter name="DomainT"/>
2337      <template-nontype-parameter name="Compare"><type>ICL_COMPARE</type></template-nontype-parameter>
2338      <template-nontype-parameter name="Interval"><type>ICL_INTERVAL(ICL_COMPARE)</type></template-nontype-parameter>
2339      <template-nontype-parameter name="Alloc"><type>ICL_ALLOC</type></template-nontype-parameter>
2340    </template><specialization><template-arg>icl::split_interval_set&lt; DomainT</template-arg><template-arg>Compare</template-arg><template-arg>Interval</template-arg><template-arg>Alloc &gt;</template-arg></specialization><typedef name="type"><type>is_interval_splitter&lt; <classname>icl::split_interval_set</classname>&lt; DomainT, Compare, Interval, Alloc &gt; &gt;</type></typedef>
2341<method-group name="public member functions">
2342<method name="BOOST_STATIC_CONSTANT"><type/><parameter name=""><paramtype>bool</paramtype></parameter><parameter name=""><paramtype>value</paramtype><default>true</default></parameter></method>
2343</method-group>
2344</struct-specialization><struct-specialization name="is_set"><template>
2345      <template-type-parameter name="DomainT"/>
2346      <template-nontype-parameter name="Compare"><type>ICL_COMPARE</type></template-nontype-parameter>
2347      <template-nontype-parameter name="Interval"><type>ICL_INTERVAL(ICL_COMPARE)</type></template-nontype-parameter>
2348      <template-nontype-parameter name="Alloc"><type>ICL_ALLOC</type></template-nontype-parameter>
2349    </template><specialization><template-arg>icl::split_interval_set&lt; DomainT</template-arg><template-arg>Compare</template-arg><template-arg>Interval</template-arg><template-arg>Alloc &gt;</template-arg></specialization><typedef name="type"><type>is_set&lt; <classname>icl::split_interval_set</classname>&lt; DomainT, Compare, Interval, Alloc &gt; &gt;</type></typedef>
2350<method-group name="public member functions">
2351<method name="BOOST_STATIC_CONSTANT"><type/><parameter name=""><paramtype>bool</paramtype></parameter><parameter name=""><paramtype>value</paramtype><default>true</default></parameter></method>
2352</method-group>
2353</struct-specialization><class name="split_interval_set"><template>
2354      <template-type-parameter name="DomainT"/>
2355      <template-nontype-parameter name="Compare"><type>ICL_COMPARE</type><default>ICL_COMPARE_INSTANCE(ICL_COMPARE_DEFAULT, DomainT)</default></template-nontype-parameter>
2356      <template-nontype-parameter name="Interval"><type>ICL_INTERVAL(ICL_COMPARE)</type><default>ICL_INTERVAL_INSTANCE(ICL_INTERVAL_DEFAULT, DomainT, Compare)</default></template-nontype-parameter>
2357      <template-nontype-parameter name="Alloc"><type>ICL_ALLOC</type><default>std::allocator</default></template-nontype-parameter>
2358    </template><inherit access="public">boost::icl::interval_base_set&lt; split_interval_set&lt; DomainT, Compare, Interval, Alloc &gt;, DomainT, Compare, Interval, Alloc &gt;</inherit><purpose>implements a set as a set of intervals - on insertion overlapping intervals are split </purpose><enum name="@0"><enumvalue name="fineness"><default>= 3</default></enumvalue></enum>
2359<typedef name="type"><type><classname>split_interval_set</classname>&lt; DomainT, Compare, Interval, Alloc &gt;</type></typedef>
2360<typedef name="base_type"><type><classname>interval_base_set</classname>&lt; <classname>type</classname>, DomainT, Compare, Interval, Alloc &gt;</type></typedef>
2361<typedef name="joint_type"><type><classname>interval_set</classname>&lt; DomainT, Compare, Interval, Alloc &gt;</type></typedef>
2362<typedef name="overloadable_type"><type><classname>type</classname></type></typedef>
2363<typedef name="key_object_type"><type><classname>type</classname></type></typedef>
2364<typedef name="domain_type"><purpose>The domain type of the set. </purpose><type>DomainT</type></typedef>
2365<typedef name="codomain_type"><purpose>The codomaintype is the same as domain_type. </purpose><type>DomainT</type></typedef>
2366<typedef name="element_type"><purpose>The element type of the set. </purpose><type>DomainT</type></typedef>
2367<typedef name="segment_type"><purpose>The segment type of the set. </purpose><type>interval_type</type></typedef>
2368<typedef name="interval_compare"><purpose>Comparison functor for intervals. </purpose><type>exclusive_less_than&lt; interval_type &gt;</type></typedef>
2369<typedef name="key_compare"><purpose>Comparison functor for keys. </purpose><type>exclusive_less_than&lt; interval_type &gt;</type></typedef>
2370<typedef name="allocator_type"><purpose>The allocator type of the set. </purpose><type>Alloc&lt; interval_type &gt;</type></typedef>
2371<typedef name="domain_allocator_type"><purpose>allocator type of the corresponding element set </purpose><type>Alloc&lt; DomainT &gt;</type></typedef>
2372<typedef name="atomized_type"><purpose>The corresponding atomized type representing this interval container of elements. </purpose><type>base_type::atomized_type</type></typedef>
2373<typedef name="ImplSetT"><purpose>Container type for the implementation. </purpose><type>base_type::ImplSetT</type></typedef>
2374<typedef name="key_type"><purpose>key type of the implementing container </purpose><type>ImplSetT::key_type</type></typedef>
2375<typedef name="data_type"><purpose>data type of the implementing container </purpose><type>ImplSetT::value_type</type></typedef>
2376<typedef name="value_type"><purpose>value type of the implementing container </purpose><type>ImplSetT::value_type</type></typedef>
2377<typedef name="iterator"><purpose>iterator for iteration over intervals </purpose><type>ImplSetT::iterator</type></typedef>
2378<typedef name="const_iterator"><purpose>const_iterator for iteration over intervals </purpose><type>ImplSetT::const_iterator</type></typedef>
2379<method-group name="public member functions">
2380<method name="ICL_INTERVAL_TYPE"><type>typedef</type><parameter name=""><paramtype>Interval</paramtype></parameter><parameter name=""><paramtype>DomainT</paramtype></parameter><parameter name=""><paramtype>Compare</paramtype></parameter><purpose>The interval type of the set. </purpose></method>
2381<method name="ICL_COMPARE_DOMAIN"><type>typedef</type><parameter name=""><paramtype>Compare</paramtype></parameter><parameter name=""><paramtype>DomainT</paramtype></parameter><purpose>Comparison functor for domain values. </purpose></method>
2382<method name="assign"><type>void</type><template>
2383          <template-type-parameter name="SubType"/>
2384        </template><parameter name="src"><paramtype>const <classname>interval_base_set</classname>&lt; SubType, DomainT, Compare, Interval, Alloc &gt; &amp;</paramtype></parameter><purpose>Assignment from a base <classname alt="boost::icl::interval_set">interval_set</classname>. </purpose></method>
2385</method-group>
2386<constructor><purpose>Default constructor for the empty object. </purpose></constructor>
2387<constructor><parameter name="src"><paramtype>const <classname>split_interval_set</classname> &amp;</paramtype></parameter><purpose>Copy constructor. </purpose></constructor>
2388<constructor><template>
2389          <template-type-parameter name="SubType"/>
2390        </template><parameter name="src"><paramtype>const <classname>interval_base_set</classname>&lt; SubType, DomainT, Compare, Interval, Alloc &gt; &amp;</paramtype></parameter><purpose>Copy constructor for base_type. </purpose></constructor>
2391<constructor specifiers="explicit"><parameter name="elem"><paramtype>const interval_type &amp;</paramtype></parameter><purpose>Constructor for a single element. </purpose></constructor>
2392<constructor specifiers="explicit"><parameter name="itv"><paramtype>const domain_type &amp;</paramtype></parameter><purpose>Constructor for a single interval. </purpose></constructor>
2393<copy-assignment><type><classname>split_interval_set</classname> &amp;</type><template>
2394          <template-type-parameter name="SubType"/>
2395        </template><parameter name="src"><paramtype>const <classname>interval_base_set</classname>&lt; SubType, DomainT, Compare, Interval, Alloc &gt; &amp;</paramtype></parameter><purpose>Assignment operator for base type. </purpose></copy-assignment>
2396<constructor><parameter name="src"><paramtype><classname>split_interval_set</classname> &amp;&amp;</paramtype></parameter><purpose>Move constructor. </purpose></constructor>
2397<copy-assignment><type><classname>split_interval_set</classname> &amp;</type><parameter name="src"><paramtype><classname>split_interval_set</classname></paramtype></parameter><purpose>Move assignment operator. </purpose></copy-assignment>
2398<method-group name="private member functions">
2399<method name="handle_inserted"><type>iterator</type><parameter name="inserted_"><paramtype>iterator</paramtype></parameter></method>
2400<method name="add_over"><type>iterator</type><parameter name="addend"><paramtype>const interval_type &amp;</paramtype></parameter><parameter name="last_"><paramtype>iterator</paramtype></parameter></method>
2401<method name="add_over"><type>iterator</type><parameter name="addend"><paramtype>const interval_type &amp;</paramtype></parameter></method>
2402</method-group>
2403</class><struct-specialization name="type_to_string"><template>
2404      <template-type-parameter name="DomainT"/>
2405      <template-nontype-parameter name="Compare"><type>ICL_COMPARE</type></template-nontype-parameter>
2406      <template-nontype-parameter name="Interval"><type>ICL_INTERVAL(ICL_COMPARE)</type></template-nontype-parameter>
2407      <template-nontype-parameter name="Alloc"><type>ICL_ALLOC</type></template-nontype-parameter>
2408    </template><specialization><template-arg>icl::split_interval_set&lt; DomainT</template-arg><template-arg>Compare</template-arg><template-arg>Interval</template-arg><template-arg>Alloc &gt;</template-arg></specialization><method-group name="public static functions">
2409<method name="apply" specifiers="static"><type>std::string</type></method>
2410</method-group>
2411</struct-specialization>
2412
2413
2414
2415
2416
2417
2418
2419
2420
2421</namespace>
2422</namespace>
2423</header>
2424</library-reference>