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>< DomainT, Compare ></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 &</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 &</paramtype></parameter><parameter name="up"><paramtype>const DomainT &</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< DomainT</template-arg><template-arg>Compare ></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< DomainT</template-arg><template-arg>Compare ></template-arg></specialization><typedef name="domain_type"><type>DomainT</type></typedef> 35<typedef name="interval_type"><type><classname>icl::closed_interval</classname>< DomainT, Compare ></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 &</paramtype></parameter><parameter name="up"><paramtype>const domain_type &</paramtype></parameter></method> 41<method name="lower" specifiers="static"><type>domain_type</type><parameter name="inter_val"><paramtype>const <classname>interval_type</classname> &</paramtype></parameter></method> 42<method name="upper" specifiers="static"><type>domain_type</type><parameter name="inter_val"><paramtype>const <classname>interval_type</classname> &</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< DomainT</template-arg><template-arg>Compare ></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< DomainT ></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>< DomainT > &</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>< DomainT, Compare ></type></typedef> 75<typedef name="domain_type"><type>DomainT</type></typedef> 76<typedef name="bounded_domain_type"><type><classname>bounded_value</classname>< DomainT >::<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 &</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 &</paramtype></parameter><parameter name="up"><paramtype>const DomainT &</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 &</paramtype></parameter><parameter name="up"><paramtype>const DomainT &</paramtype></parameter></method> 88<method name="right_open" specifiers="static"><type><classname>continuous_interval</classname></type><parameter name="lo"><paramtype>const DomainT &</paramtype></parameter><parameter name="up"><paramtype>const DomainT &</paramtype></parameter></method> 89<method name="left_open" specifiers="static"><type><classname>continuous_interval</classname></type><parameter name="lo"><paramtype>const DomainT &</paramtype></parameter><parameter name="up"><paramtype>const DomainT &</paramtype></parameter></method> 90<method name="closed" specifiers="static"><type><classname>continuous_interval</classname></type><parameter name="lo"><paramtype>const DomainT &</paramtype></parameter><parameter name="up"><paramtype>const DomainT &</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< DomainT</template-arg><template-arg>Compare ></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>< DomainT, Compare ></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>< DomainT > &</paramtype></parameter><parameter name="up"><paramtype>const <classname>bounded_value</classname>< DomainT > &</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< DomainT</template-arg><template-arg>Compare ></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< DomainT</template-arg><template-arg>Compare ></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>< DomainT, Compare ></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 &</paramtype></parameter><parameter name="up"><paramtype>const domain_type &</paramtype></parameter></method> 123<method name="lower" specifiers="static"><type>domain_type</type><parameter name="inter_val"><paramtype>const <classname>interval_type</classname> &</paramtype></parameter></method> 124<method name="upper" specifiers="static"><type>domain_type</type><parameter name="inter_val"><paramtype>const <classname>interval_type</classname> &</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< DomainT</template-arg><template-arg>Compare ></template-arg></specialization><typedef name="type"><type>is_continuous_interval< <classname>continuous_interval</classname>< DomainT, Compare > ></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< DomainT</template-arg><template-arg>Compare ></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< DomainT ></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>< DomainT > &</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>< DomainT, Compare ></type></typedef> 164<typedef name="domain_type"><type>DomainT</type></typedef> 165<typedef name="bounded_domain_type"><type><classname>bounded_value</classname>< DomainT >::<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 &</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 &</paramtype></parameter><parameter name="up"><paramtype>const DomainT &</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 &</paramtype></parameter><parameter name="up"><paramtype>const DomainT &</paramtype></parameter></method> 177<method name="right_open" specifiers="static"><type><classname>discrete_interval</classname></type><parameter name="lo"><paramtype>const DomainT &</paramtype></parameter><parameter name="up"><paramtype>const DomainT &</paramtype></parameter></method> 178<method name="left_open" specifiers="static"><type><classname>discrete_interval</classname></type><parameter name="lo"><paramtype>const DomainT &</paramtype></parameter><parameter name="up"><paramtype>const DomainT &</paramtype></parameter></method> 179<method name="closed" specifiers="static"><type><classname>discrete_interval</classname></type><parameter name="lo"><paramtype>const DomainT &</paramtype></parameter><parameter name="up"><paramtype>const DomainT &</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< DomainT</template-arg><template-arg>Compare ></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>< DomainT, Compare ></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 &</paramtype></parameter><parameter name="up"><paramtype>const domain_type &</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>< DomainT > &</paramtype></parameter><parameter name="up"><paramtype>const <classname>bounded_value</classname>< DomainT > &</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< DomainT</template-arg><template-arg>Compare ></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< DomainT</template-arg><template-arg>Compare ></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>< DomainT, Compare ></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 &</paramtype></parameter><parameter name="up"><paramtype>const domain_type &</paramtype></parameter></method> 212<method name="lower" specifiers="static"><type>domain_type</type><parameter name="inter_val"><paramtype>const <classname>interval_type</classname> &</paramtype></parameter></method> 213<method name="upper" specifiers="static"><type>domain_type</type><parameter name="inter_val"><paramtype>const <classname>interval_type</classname> &</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< DomainT</template-arg><template-arg>Compare ></template-arg></specialization><typedef name="type"><type>is_discrete_interval< <classname>discrete_interval</classname>< DomainT, Compare > ></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< DomainT >::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< DomainT</template-arg><template-arg>Compare ></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< DomainT ></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>< DomainT > &</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 &</paramtype></parameter><parameter name="up"><paramtype>const domain_type &</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>< domain_type > &</paramtype></parameter><parameter name="up"><paramtype>const <classname>bounded_value</classname>< domain_type > &</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>< Combiner ></type></typedef> 276<typedef name="argument_type"><type>remove_const< typename remove_reference< typename Combiner::first_argument_type >::<classname>type</classname> >::<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 &</paramtype></parameter></method> 279<method name="inversion" specifiers="static"><type>argument_type</type><parameter name="value"><paramtype>const argument_type &</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 &</type></typedef> 284<typedef name="second_argument_type"><type>const Type &</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< Type ></inherit><typedef name="type"><type><classname>inplace_bit_add</classname>< Type ></type></typedef> 292<method-group name="public member functions"> 293<method name="operator()" cv="const"><type>void</type><parameter name="object"><paramtype>Type &</paramtype></parameter><parameter name="operand"><paramtype>const Type &</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 &</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< Type ></inherit><typedef name="type"><type><classname>inplace_bit_and</classname>< Type ></type></typedef> 301<method-group name="public member functions"> 302<method name="operator()" cv="const"><type>void</type><parameter name="object"><paramtype>Type &</paramtype></parameter><parameter name="operand"><paramtype>const Type &</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< Type ></inherit><typedef name="type"><type><classname>inplace_bit_subtract</classname>< Type ></type></typedef> 307<method-group name="public member functions"> 308<method name="operator()" cv="const"><type>void</type><parameter name="object"><paramtype>Type &</paramtype></parameter><parameter name="operand"><paramtype>const Type &</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< Type ></inherit><typedef name="type"><type><classname>inplace_bit_xor</classname>< Type ></type></typedef> 313<method-group name="public member functions"> 314<method name="operator()" cv="const"><type>void</type><parameter name="object"><paramtype>Type &</paramtype></parameter><parameter name="operand"><paramtype>const Type &</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< Type ></inherit><typedef name="type"><type><classname>inplace_caret</classname>< Type ></type></typedef> 319<method-group name="public member functions"> 320<method name="operator()" cv="const"><type>void</type><parameter name="object"><paramtype>Type &</paramtype></parameter><parameter name="operand"><paramtype>const Type &</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< Type ></inherit><typedef name="type"><type><classname>inplace_erase</classname>< Type ></type></typedef> 325<method-group name="public member functions"> 326<method name="operator()" cv="const"><type>void</type><parameter name="object"><paramtype>Type &</paramtype></parameter><parameter name="operand"><paramtype>const Type &</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< Type ></inherit><typedef name="type"><type><classname>inplace_erasure</classname>< Type ></type></typedef> 331<typedef name="base_type"><type><classname>identity_based_inplace_combine</classname>< Type ></type></typedef> 332<method-group name="public member functions"> 333<method name="operator()" cv="const"><type>void</type><parameter name="object"><paramtype>Type &</paramtype></parameter><parameter name="operand"><paramtype>const Type &</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< Type ></inherit><typedef name="type"><type><classname>inplace_et</classname>< Type ></type></typedef> 338<method-group name="public member functions"> 339<method name="operator()" cv="const"><type>void</type><parameter name="object"><paramtype>Type &</paramtype></parameter><parameter name="operand"><paramtype>const Type &</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< Type ></inherit><typedef name="type"><type><classname>inplace_identity</classname>< Type ></type></typedef> 344<method-group name="public member functions"> 345<method name="operator()" cv="const"><type>void</type><parameter name=""><paramtype>Type &</paramtype></parameter><parameter name=""><paramtype>const Type &</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< Type ></inherit><typedef name="type"><type><classname>inplace_insert</classname>< Type ></type></typedef> 350<method-group name="public member functions"> 351<method name="operator()" cv="const"><type>void</type><parameter name="object"><paramtype>Type &</paramtype></parameter><parameter name="operand"><paramtype>const Type &</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< Type ></inherit><typedef name="type"><type><classname>inplace_max</classname>< Type ></type></typedef> 356<method-group name="public member functions"> 357<method name="operator()" cv="const"><type>void</type><parameter name="object"><paramtype>Type &</paramtype></parameter><parameter name="operand"><paramtype>const Type &</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< Type ></inherit><typedef name="type"><type><classname>inplace_min</classname>< Type ></type></typedef> 362<method-group name="public member functions"> 363<method name="operator()" cv="const"><type>void</type><parameter name="object"><paramtype>Type &</paramtype></parameter><parameter name="operand"><paramtype>const Type &</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< Type ></inherit><typedef name="type"><type><classname>inplace_minus</classname>< Type ></type></typedef> 368<method-group name="public member functions"> 369<method name="operator()" cv="const"><type>void</type><parameter name="object"><paramtype>Type &</paramtype></parameter><parameter name="operand"><paramtype>const Type &</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< Type ></inherit><typedef name="type"><type><classname>inplace_plus</classname>< Type ></type></typedef> 374<method-group name="public member functions"> 375<method name="operator()" cv="const"><type>void</type><parameter name="object"><paramtype>Type &</paramtype></parameter><parameter name="operand"><paramtype>const Type &</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 &</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< Type ></inherit><typedef name="type"><type><classname>inplace_slash</classname>< Type ></type></typedef> 383<method-group name="public member functions"> 384<method name="operator()" cv="const"><type>void</type><parameter name="object"><paramtype>Type &</paramtype></parameter><parameter name="operand"><paramtype>const Type &</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< Type ></inherit><typedef name="type"><type><classname>inplace_star</classname>< Type ></type></typedef> 389<method-group name="public member functions"> 390<method name="operator()" cv="const"><type>void</type><parameter name="object"><paramtype>Type &</paramtype></parameter><parameter name="operand"><paramtype>const Type &</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< Type ></inherit><typedef name="type"><type>boost::mpl::if_< has_set_semantics< Type >, <classname>icl::inplace_et</classname>< Type >, <classname>icl::inplace_plus</classname>< Type > >::type</type></typedef> 395<method-group name="public member functions"> 396<method name="operator()" cv="const"><type>void</type><parameter name="object"><paramtype>Type &</paramtype></parameter><parameter name="operand"><paramtype>const Type &</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< typename Functor::first_argument_type >::<classname>type</classname></type></typedef> 401<typedef name="type"><type><classname>icl::inplace_erasure</classname>< argument_type ></type></typedef> 402</struct><struct-specialization name="inverse"><template> 403 <template-type-parameter name="Type"/> 404 </template><specialization><template-arg>icl::inplace_bit_add< Type ></template-arg></specialization><typedef name="type"><type><classname>icl::inplace_bit_subtract</classname>< Type ></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< Type ></template-arg></specialization><typedef name="type"><type><classname>icl::inplace_bit_xor</classname>< Type ></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< Type ></template-arg></specialization><typedef name="type"><type><classname>icl::inplace_bit_add</classname>< Type ></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< Type ></template-arg></specialization><typedef name="type"><type><classname>icl::inplace_bit_and</classname>< Type ></type></typedef> 414</struct-specialization><struct-specialization name="inverse"><template> 415 <template-type-parameter name="Type"/> 416 </template><specialization><template-arg>icl::inplace_caret< Type ></template-arg></specialization><typedef name="type"><type><classname>icl::inplace_et</classname>< Type ></type></typedef> 417</struct-specialization><struct-specialization name="inverse"><template> 418 <template-type-parameter name="Type"/> 419 </template><specialization><template-arg>icl::inplace_et< Type ></template-arg></specialization><typedef name="type"><type><classname>icl::inplace_caret</classname>< Type ></type></typedef> 420</struct-specialization><struct-specialization name="inverse"><template> 421 <template-type-parameter name="Type"/> 422 </template><specialization><template-arg>icl::inplace_identity< Type ></template-arg></specialization><typedef name="type"><type><classname>icl::inplace_erasure</classname>< Type ></type></typedef> 423</struct-specialization><struct-specialization name="inverse"><template> 424 <template-type-parameter name="Type"/> 425 </template><specialization><template-arg>icl::inplace_max< Type ></template-arg></specialization><typedef name="type"><type><classname>icl::inplace_min</classname>< Type ></type></typedef> 426</struct-specialization><struct-specialization name="inverse"><template> 427 <template-type-parameter name="Type"/> 428 </template><specialization><template-arg>icl::inplace_min< Type ></template-arg></specialization><typedef name="type"><type><classname>icl::inplace_max</classname>< Type ></type></typedef> 429</struct-specialization><struct-specialization name="inverse"><template> 430 <template-type-parameter name="Type"/> 431 </template><specialization><template-arg>icl::inplace_minus< Type ></template-arg></specialization><typedef name="type"><type><classname>icl::inplace_plus</classname>< Type ></type></typedef> 432</struct-specialization><struct-specialization name="inverse"><template> 433 <template-type-parameter name="Type"/> 434 </template><specialization><template-arg>icl::inplace_plus< Type ></template-arg></specialization><typedef name="type"><type><classname>icl::inplace_minus</classname>< Type ></type></typedef> 435</struct-specialization><struct-specialization name="inverse"><template> 436 <template-type-parameter name="Type"/> 437 </template><specialization><template-arg>icl::inplace_slash< Type ></template-arg></specialization><typedef name="type"><type><classname>icl::inplace_star</classname>< Type ></type></typedef> 438</struct-specialization><struct-specialization name="inverse"><template> 439 <template-type-parameter name="Type"/> 440 </template><specialization><template-arg>icl::inplace_star< Type ></template-arg></specialization><typedef name="type"><type><classname>icl::inplace_slash</classname>< Type ></type></typedef> 441</struct-specialization><struct-specialization name="inverse"><template> 442 <template-type-parameter name="Type"/> 443 </template><specialization><template-arg>icl::inter_section< Type ></template-arg></specialization><inherit access="public">boost::icl::identity_based_inplace_combine< Type ></inherit><typedef name="type"><type>boost::mpl::if_< has_set_semantics< Type >, <classname>icl::inplace_caret</classname>< Type >, <classname>icl::inplace_minus</classname>< Type > >::type</type></typedef> 444<method-group name="public member functions"> 445<method name="operator()" cv="const"><type>void</type><parameter name="object"><paramtype>Type &</paramtype></parameter><parameter name="operand"><paramtype>const Type &</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>< Functor ></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< Type ></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< Type ></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 &</type></typedef> 468<typedef name="second_argument_type"><type>const Type &</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< Combiner ></inherit><typedef name="type"><type><classname>version</classname>< Combiner ></type></typedef> 476<typedef name="base_type"><type><classname>conversion</classname>< Combiner ></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 &</paramtype></parameter></method> 480</method-group> 481</struct><struct-specialization name="version"><template> 482 </template><specialization><template-arg>icl::inplace_minus< double ></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< float ></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< int ></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< long ></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< long double ></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< long long ></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< short ></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< Type ></template-arg></specialization><inherit access="public">boost::icl::conversion< icl::inplace_minus< Type > ></inherit><typedef name="type"><type><classname>version</classname>< <classname>icl::inplace_minus</classname>< Type > ></type></typedef> 512<typedef name="base_type"><type><classname>conversion</classname>< <classname>icl::inplace_minus</classname>< Type > ></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 &</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 &</paramtype></parameter></function> 570<function name="operator--"><type>boost::gregorian::date</type><parameter name="x"><paramtype>boost::gregorian::date &</paramtype></parameter></function> 571<function name="operator++"><type>boost::gregorian::date_duration</type><parameter name="x"><paramtype>boost::gregorian::date_duration &</paramtype></parameter></function> 572<function name="operator--"><type>boost::gregorian::date_duration</type><parameter name="x"><paramtype>boost::gregorian::date_duration &</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< DomainT, Compare >::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 &</paramtype></parameter><parameter name="up"><paramtype>const DomainT &</paramtype></parameter></method> 589<method name="left_open" specifiers="static"><type>interval_type</type><parameter name="low"><paramtype>const DomainT &</paramtype></parameter><parameter name="up"><paramtype>const DomainT &</paramtype></parameter></method> 590<method name="open" specifiers="static"><type>interval_type</type><parameter name="low"><paramtype>const DomainT &</paramtype></parameter><parameter name="up"><paramtype>const DomainT &</paramtype></parameter></method> 591<method name="closed" specifiers="static"><type>interval_type</type><parameter name="low"><paramtype>const DomainT &</paramtype></parameter><parameter name="up"><paramtype>const DomainT &</paramtype></parameter></method> 592<method name="construct" specifiers="static"><type>interval_type</type><parameter name="low"><paramtype>const DomainT &</paramtype></parameter><parameter name="up"><paramtype>const DomainT &</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>< IntervalT >::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 &</paramtype></parameter><parameter name="up"><paramtype>const domain_type &</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>< IntervalT >::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 &</paramtype></parameter><parameter name="up"><paramtype>const domain_type &</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< 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 ></template-arg></specialization><typedef name="type"><type>absorbs_identities< <classname>icl::interval_base_map</classname>< SubType, DomainT, CodomainT, Traits, Compare, Combine, Section, Interval, Alloc > ></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< 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 ></template-arg></specialization><typedef name="type"><type>has_inverse< <classname>icl::interval_base_map</classname>< SubType, DomainT, CodomainT, Traits, Compare, Combine, Section, Interval, Alloc > ></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< CodomainT >::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 &</paramtype></parameter><parameter name="common_interval"><paramtype>interval_type &</paramtype></parameter><parameter name=""><paramtype>const codomain_type &</paramtype></parameter><parameter name=""><paramtype>const codomain_type &</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 &</paramtype></parameter><parameter name="common_interval"><paramtype>interval_type &</paramtype></parameter><parameter name="flip_value"><paramtype>const codomain_type &</paramtype></parameter><parameter name="co_value"><paramtype>const codomain_type &</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 &</paramtype></parameter><parameter name="object"><paramtype>const Type &</paramtype></parameter><parameter name="operand"><paramtype>const segment_type &</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 &</paramtype></parameter><parameter name="object"><paramtype>const Type &</paramtype></parameter><parameter name="operand"><paramtype>const segment_type &</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 &</paramtype></parameter><parameter name="operand"><paramtype>const segment_type &</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 &</paramtype></parameter><parameter name="operand"><paramtype>const segment_type &</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 &</paramtype></parameter><parameter name="interval_value_pair"><paramtype>const segment_type &</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 &</paramtype></parameter><parameter name="operand"><paramtype>const segment_type &</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 &</paramtype></parameter><parameter name=""><paramtype>const typename Type::segment_type &</paramtype></parameter></method> 749</method-group> 750</struct-specialization><typedef name="type"><type><classname>interval_base_map</classname>< SubType, DomainT, CodomainT, Traits, Compare, Combine, Section, Interval, Alloc ></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>< DomainT, CodomainT, Traits, Compare, Combine, Section, Alloc ></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< DomainT >::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>< domain_type, codomain_type ></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< interval_type, CodomainT ></type></typedef> 761<typedef name="segment_type"><purpose>Type of an interval containers segment, that is spanned by an interval. </purpose><type>std::pair< interval_type, CodomainT ></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< domain_type >::<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< domain_type >::<classname>type</classname></type></typedef> 764<typedef name="inverse_codomain_combine"><purpose>Inverse Combine functor for codomain value aggregation. </purpose><type><classname>inverse</classname>< codomain_combine >::<classname>type</classname></type></typedef> 765<typedef name="codomain_intersect"><purpose>Intersection functor for codomain values. </purpose><type>mpl::if_< has_set_semantics< codomain_type >, ICL_SECTION_CODOMAIN(Section, CodomainT), codomain_combine >::<classname>type</classname></type></typedef> 766<typedef name="inverse_codomain_intersect"><purpose>Inverse Combine functor for codomain value intersection. </purpose><type><classname>inverse</classname>< codomain_intersect >::<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< interval_type ></type></typedef> 768<typedef name="key_compare"><purpose>Comparison functor for keys. </purpose><type>exclusive_less_than< interval_type ></type></typedef> 769<typedef name="allocator_type"><purpose>The allocator type of the set. </purpose><type>Alloc< std::pair< const interval_type, codomain_type > ></type></typedef> 770<typedef name="ImplMapT"><purpose>Container type for the implementation. </purpose><type>ICL_IMPL_SPACE::map< interval_type, codomain_type, key_compare, allocator_type ></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< iterator ></type></typedef> 783<typedef name="element_const_iterator"><purpose>const element iterator: Depreciated, see documentation. </purpose><type>boost::icl::element_iterator< const_iterator ></type></typedef> 784<typedef name="element_reverse_iterator"><purpose>element reverse iterator: Depreciated, see documentation. </purpose><type>boost::icl::element_iterator< reverse_iterator ></type></typedef> 785<typedef name="element_const_reverse_iterator"><purpose>element const reverse iterator: Depreciated, see documentation. </purpose><type>boost::icl::element_iterator< const_reverse_iterator ></type></typedef> 786<typedef name="on_codomain_absorbtion"><type>on_absorbtion< <classname>type</classname>, codomain_combine, Traits::absorbs_identities >::<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 &&has_inverse< codomain_type >::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> &</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 &</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 &</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 &</paramtype></parameter><description><para>Total select function. </para></description></method> 802<method name="add"><type>SubType &</type><parameter name="key_value_pair"><paramtype>const element_type &</paramtype></parameter><description><para>Addition of a key value pair to the map </para></description></method> 803<method name="add"><type>SubType &</type><parameter name="interval_value_pair"><paramtype>const segment_type &</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 &</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 &</type><parameter name="key_value_pair"><paramtype>const element_type &</paramtype></parameter><description><para>Subtraction of a key value pair from the map </para></description></method> 806<method name="subtract"><type>SubType &</type><parameter name="interval_value_pair"><paramtype>const segment_type &</paramtype></parameter><description><para>Subtraction of an interval value pair from the map. </para></description></method> 807<method name="insert"><type>SubType &</type><parameter name="key_value_pair"><paramtype>const element_type &</paramtype></parameter><description><para>Insertion of a <computeroutput>key_value_pair</computeroutput> into the map. </para></description></method> 808<method name="insert"><type>SubType &</type><parameter name="interval_value_pair"><paramtype>const segment_type &</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 &</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 &</type><parameter name="key_value_pair"><paramtype>const element_type &</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 &</type><parameter name="interval_value_pair"><paramtype>const segment_type &</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 &</type><parameter name="key_value_pair"><paramtype>const element_type &</paramtype></parameter><description><para>Erase a <computeroutput>key_value_pair</computeroutput> from the map. </para></description></method> 813<method name="erase"><type>SubType &</type><parameter name="interval_value_pair"><paramtype>const segment_type &</paramtype></parameter><description><para>Erase an <computeroutput>interval_value_pair</computeroutput> from the map. </para></description></method> 814<method name="erase"><type>SubType &</type><parameter name="key"><paramtype>const domain_type &</paramtype></parameter><description><para>Erase a key value pair for <computeroutput>key</computeroutput>. </para></description></method> 815<method name="erase"><type>SubType &</type><parameter name="inter_val"><paramtype>const interval_type &</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 &</paramtype></parameter><parameter name="interval_value_pair"><paramtype>const segment_type &</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 &</type><parameter name="key_value_pair"><paramtype>const element_type &</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 &</type><parameter name="interval_value_pair"><paramtype>const segment_type &</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 &</paramtype></parameter></method> 822<method name="upper_bound"><type>iterator</type><parameter name="interval"><paramtype>const key_type &</paramtype></parameter></method> 823<method name="lower_bound" cv="const"><type>const_iterator</type><parameter name="interval"><paramtype>const key_type &</paramtype></parameter></method> 824<method name="upper_bound" cv="const"><type>const_iterator</type><parameter name="interval"><paramtype>const key_type &</paramtype></parameter></method> 825<method name="equal_range"><type>std::pair< iterator, iterator ></type><parameter name="interval"><paramtype>const key_type &</paramtype></parameter></method> 826<method name="equal_range" cv="const"><type>std::pair< const_iterator, const_iterator ></type><parameter name="interval"><paramtype>const key_type &</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> &</paramtype></parameter><description><para>Copy constructor </para></description></constructor> 838<constructor><parameter name="src"><paramtype><classname>interval_base_map</classname> &&</paramtype></parameter><description><para>Move constructor </para></description></constructor> 839<copy-assignment><type><classname>interval_base_map</classname> &</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 &</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 &</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 &</paramtype></parameter></method> 850<method name="_insert"><type>iterator</type><parameter name="interval_value_pair"><paramtype>const segment_type &</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 &</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 &</paramtype></parameter><parameter name="co_val"><paramtype>const CodomainT &</paramtype></parameter><parameter name="it_"><paramtype>iterator &</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 &</paramtype></parameter><parameter name="co_val"><paramtype>const CodomainT &</paramtype></parameter><parameter name="it_"><paramtype>iterator &</paramtype></parameter><parameter name="last_"><paramtype>const iterator &</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 &</paramtype></parameter><parameter name="co_val"><paramtype>const CodomainT &</paramtype></parameter><parameter name="it_"><paramtype>iterator &</paramtype></parameter></method> 861<method name="add_front"><type>void</type><parameter name="inter_val"><paramtype>const interval_type &</paramtype></parameter><parameter name="first_"><paramtype>iterator &</paramtype></parameter></method> 862<method name="subtract_front"><type>void</type><parameter name="inter_val"><paramtype>const interval_type &</paramtype></parameter><parameter name="first_"><paramtype>iterator &</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 &</paramtype></parameter><parameter name="it_"><paramtype>iterator &</paramtype></parameter><parameter name="last_"><paramtype>const iterator &</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 &</paramtype></parameter><parameter name="co_val"><paramtype>const CodomainT &</paramtype></parameter><parameter name="it_"><paramtype>iterator &</paramtype></parameter></method> 869<method name="insert_main"><type>void</type><parameter name=""><paramtype>const interval_type &</paramtype></parameter><parameter name=""><paramtype>const CodomainT &</paramtype></parameter><parameter name=""><paramtype>iterator &</paramtype></parameter><parameter name=""><paramtype>const iterator &</paramtype></parameter></method> 870<method name="erase_rest"><type>void</type><parameter name=""><paramtype>interval_type &</paramtype></parameter><parameter name=""><paramtype>const CodomainT &</paramtype></parameter><parameter name=""><paramtype>iterator &</paramtype></parameter><parameter name=""><paramtype>const iterator &</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 &</paramtype></parameter><parameter name="fragment"><paramtype>const FragmentT &</paramtype></parameter></method> 874<method name="partial_add_intersection" cv="const"><type>void</type><parameter name="section"><paramtype>SubType &</paramtype></parameter><parameter name="operand"><paramtype>const segment_type &</paramtype></parameter></method> 875<method name="partial_add_intersection" cv="const"><type>void</type><parameter name="section"><paramtype>SubType &</paramtype></parameter><parameter name="operand"><paramtype>const element_type &</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 &</paramtype></parameter><parameter name="co_val"><paramtype>const codomain_type &</paramtype></parameter></method> 881<method name="add_at"><type>std::pair< iterator, bool ></type><template> 882 <template-type-parameter name="Combiner"/> 883 </template><parameter name="prior_"><paramtype>const iterator &</paramtype></parameter><parameter name="inter_val"><paramtype>const interval_type &</paramtype></parameter><parameter name="co_val"><paramtype>const codomain_type &</paramtype></parameter></method> 884<method name="insert_at"><type>std::pair< iterator, bool ></type><parameter name="prior_"><paramtype>const iterator &</paramtype></parameter><parameter name="inter_val"><paramtype>const interval_type &</paramtype></parameter><parameter name="co_val"><paramtype>const codomain_type &</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< 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 ></template-arg></specialization><typedef name="type"><type>is_interval_container< <classname>icl::interval_base_map</classname>< SubType, DomainT, CodomainT, Traits, Compare, Combine, Section, Interval, Alloc > ></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< 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 ></template-arg></specialization><typedef name="type"><type>is_map< <classname>icl::interval_base_map</classname>< SubType, DomainT, CodomainT, Traits, Compare, Combine, Section, Interval, Alloc > ></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< 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 ></template-arg></specialization><typedef name="type"><type>is_total< <classname>icl::interval_base_map</classname>< SubType, DomainT, CodomainT, Traits, Compare, Combine, Section, Interval, Alloc > ></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 &</paramtype></parameter><parameter name="data_value"><paramtype>const CodomainT &</paramtype></parameter></constructor> 939<constructor><parameter name="std_pair"><paramtype>const std::pair< DomainT, CodomainT > &</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>< SubType, DomainT, Compare, Interval, Alloc ></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< domain_type >::<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< domain_type >::<classname>type</classname></type></typedef> 971<typedef name="interval_compare"><purpose>Comparison functor for intervals. </purpose><type>exclusive_less_than< interval_type ></type></typedef> 972<typedef name="key_compare"><purpose>Comparison functor for keys. </purpose><type>exclusive_less_than< interval_type ></type></typedef> 973<typedef name="atomized_type"><purpose>The atomized type representing the corresponding container of elements. </purpose><type>ICL_IMPL_SPACE::set< DomainT, domain_compare, Alloc< DomainT > ></type></typedef> 974<typedef name="allocator_type"><purpose>The allocator type of the set. </purpose><type>Alloc< interval_type ></type></typedef> 975<typedef name="domain_allocator_type"><purpose>allocator type of the corresponding element set </purpose><type>Alloc< DomainT ></type></typedef> 976<typedef name="ImplSetT"><purpose>Container type for the implementation. </purpose><type>ICL_IMPL_SPACE::set< interval_type, key_compare, allocator_type ></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< iterator ></type></typedef> 989<typedef name="element_const_iterator"><purpose>element const iterator: Depreciated, see documentation. </purpose><type>boost::icl::element_iterator< const_iterator ></type></typedef> 990<typedef name="element_reverse_iterator"><purpose>element reverse iterator: Depreciated, see documentation. </purpose><type>boost::icl::element_iterator< reverse_iterator ></type></typedef> 991<typedef name="element_const_reverse_iterator"><purpose>element const reverse iterator: Depreciated, see documentation. </purpose><type>boost::icl::element_iterator< const_reverse_iterator ></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> &</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 &</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 &</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 &</type><parameter name="key"><paramtype>const element_type &</paramtype></parameter><description><para>Add a single element <computeroutput>key</computeroutput> to the set </para></description></method> 1005<method name="add"><type>SubType &</type><parameter name="inter_val"><paramtype>const segment_type &</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 &</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 &</type><parameter name="key"><paramtype>const element_type &</paramtype></parameter><description><para>Subtract a single element <computeroutput>key</computeroutput> from the set </para></description></method> 1008<method name="subtract"><type>SubType &</type><parameter name="inter_val"><paramtype>const segment_type &</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 &</type><parameter name="key"><paramtype>const element_type &</paramtype></parameter><description><para>Insert an element <computeroutput>key</computeroutput> into the set </para></description></method> 1010<method name="insert"><type>SubType &</type><parameter name="inter_val"><paramtype>const segment_type &</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 &</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 &</type><parameter name="key"><paramtype>const element_type &</paramtype></parameter><description><para>Erase an element <computeroutput>key</computeroutput> from the set </para></description></method> 1013<method name="erase"><type>SubType &</type><parameter name="inter_val"><paramtype>const segment_type &</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 &</type><parameter name="key"><paramtype>const element_type &</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 &</type><parameter name="inter_val"><paramtype>const segment_type &</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 &</paramtype></parameter></method> 1027<method name="upper_bound"><type>iterator</type><parameter name="interval"><paramtype>const value_type &</paramtype></parameter></method> 1028<method name="lower_bound" cv="const"><type>const_iterator</type><parameter name="interval"><paramtype>const value_type &</paramtype></parameter></method> 1029<method name="upper_bound" cv="const"><type>const_iterator</type><parameter name="interval"><paramtype>const value_type &</paramtype></parameter></method> 1030<method name="equal_range"><type>std::pair< iterator, iterator ></type><parameter name="interval"><paramtype>const key_type &</paramtype></parameter></method> 1031<method name="equal_range" cv="const"><type>std::pair< const_iterator, const_iterator ></type><parameter name="interval"><paramtype>const key_type &</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> &</paramtype></parameter><description><para>Copy constructor </para></description></constructor> 1035<constructor><parameter name="src"><paramtype><classname>interval_base_set</classname> &&</paramtype></parameter><description><para>Move constructor </para></description></constructor> 1036<copy-assignment><type><classname>interval_base_set</classname> &</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 &</paramtype></parameter></method> 1039<method name="_add"><type>iterator</type><parameter name="prior"><paramtype>iterator</paramtype></parameter><parameter name="addend"><paramtype>const segment_type &</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 &</paramtype></parameter><parameter name="first_"><paramtype>iterator &</paramtype></parameter></method> 1043<method name="add_main"><type>void</type><parameter name="inter_val"><paramtype>interval_type &</paramtype></parameter><parameter name="it_"><paramtype>iterator &</paramtype></parameter><parameter name="last_"><paramtype>const iterator &</paramtype></parameter></method> 1044<method name="add_segment"><type>void</type><parameter name="inter_val"><paramtype>const interval_type &</paramtype></parameter><parameter name="it_"><paramtype>iterator &</paramtype></parameter></method> 1045<method name="add_rear"><type>void</type><parameter name="inter_val"><paramtype>const interval_type &</paramtype></parameter><parameter name="it_"><paramtype>iterator &</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< SubType</template-arg><template-arg>DomainT</template-arg><template-arg>Compare</template-arg><template-arg>Interval</template-arg><template-arg>Alloc ></template-arg></specialization><typedef name="type"><type>is_interval_container< <classname>icl::interval_base_set</classname>< SubType, DomainT, Compare, Interval, Alloc > ></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< SubType</template-arg><template-arg>DomainT</template-arg><template-arg>Compare</template-arg><template-arg>Interval</template-arg><template-arg>Alloc ></template-arg></specialization><typedef name="type"><type>is_set< <classname>icl::interval_base_set</classname>< SubType, DomainT, Compare, Interval, Alloc > ></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>< DomainT ></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 &</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< 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 ></template-arg></specialization><typedef name="type"><type>absorbs_identities< <classname>icl::interval_map</classname>< DomainT, CodomainT, Traits, Compare, Combine, Section, Interval, Alloc > ></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< 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 ></template-arg></specialization><typedef name="type"><type>has_inverse< <classname>icl::interval_map</classname>< DomainT, CodomainT, Traits, Compare, Combine, Section, Interval, Alloc > ></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< CodomainT >::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< interval_map< DomainT, CodomainT, Traits, Compare, Combine, Section, Interval, Alloc >, DomainT, CodomainT, Traits, Compare, Combine, Section, Interval, Alloc ></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>< DomainT, CodomainT, Traits, Compare, Combine, Section, Interval, Alloc ></type></typedef> 1202<typedef name="split_type"><type><classname>split_interval_map</classname>< DomainT, CodomainT, Traits, Compare, Combine, Section, Interval, Alloc ></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>< <classname>type</classname>, DomainT, CodomainT, Traits, Compare, Combine, Section, Interval, Alloc ></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>< DomainT, Compare, Interval, Alloc ></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>< SubType, DomainT, CodomainT, Traits, Compare, Combine, Section, Interval, Alloc > &</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> &</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>< SubType, DomainT, CodomainT, Traits, Compare, Combine, Section, Interval, Alloc > &</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> &</paramtype></parameter></constructor> 1232<constructor specifiers="explicit"><parameter name="value_pair"><paramtype>const value_type &</paramtype></parameter></constructor> 1233<copy-assignment><type><classname>interval_map</classname> &</type><template> 1234 <template-type-parameter name="SubType"/> 1235 </template><parameter name="src"><paramtype>const <classname>interval_base_map</classname>< SubType, DomainT, CodomainT, Traits, Compare, Combine, Section, Interval, Alloc > &</paramtype></parameter><purpose>Assignment operator for base type. </purpose></copy-assignment> 1236<constructor><parameter name="src"><paramtype><classname>interval_map</classname> &&</paramtype></parameter><purpose>Move constructor. </purpose></constructor> 1237<copy-assignment><type><classname>interval_map</classname> &</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 &</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 &</paramtype></parameter><parameter name="prior_"><paramtype>iterator</paramtype></parameter><parameter name="end_gap"><paramtype>const interval_type &</paramtype></parameter><parameter name="co_val"><paramtype>const codomain_type &</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< 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 ></template-arg></specialization><typedef name="type"><type>is_interval_container< <classname>icl::interval_map</classname>< DomainT, CodomainT, Traits, Compare, Combine, Section, Interval, Alloc > ></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< 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 ></template-arg></specialization><typedef name="type"><type>is_map< <classname>icl::interval_map</classname>< DomainT, CodomainT, Traits, Compare, Combine, Section, Interval, Alloc > ></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< 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 ></template-arg></specialization><typedef name="type"><type>is_total< <classname>icl::interval_map</classname>< DomainT, CodomainT, Traits, Compare, Combine, Section, Interval, Alloc > ></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< 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 ></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< interval_set< DomainT, Compare, Interval, Alloc >, DomainT, Compare, Interval, Alloc ></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>< DomainT, Compare, Interval, Alloc ></type></typedef> 1332<typedef name="base_type"><purpose>The base_type of this class. </purpose><type><classname>interval_base_set</classname>< <classname>type</classname>, DomainT, Compare, Interval, Alloc ></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< interval_type ></type></typedef> 1341<typedef name="key_compare"><purpose>Comparison functor for keys. </purpose><type>exclusive_less_than< interval_type ></type></typedef> 1342<typedef name="allocator_type"><purpose>The allocator type of the set. </purpose><type>Alloc< interval_type ></type></typedef> 1343<typedef name="domain_allocator_type"><purpose>allocator type of the corresponding element set </purpose><type>Alloc< DomainT ></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>< SubType, DomainT, Compare, Interval, Alloc > &</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> &</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>< SubType, DomainT, Compare, Interval, Alloc > &</paramtype></parameter><purpose>Copy constructor for base_type. </purpose></constructor> 1363<constructor specifiers="explicit"><parameter name="value"><paramtype>const domain_type &</paramtype></parameter><purpose>Constructor for a single element. </purpose></constructor> 1364<constructor specifiers="explicit"><parameter name="itv"><paramtype>const interval_type &</paramtype></parameter><purpose>Constructor for a single interval. </purpose></constructor> 1365<copy-assignment><type><classname>interval_set</classname> &</type><template> 1366 <template-type-parameter name="SubType"/> 1367 </template><parameter name="src"><paramtype>const <classname>interval_base_set</classname>< SubType, DomainT, Compare, Interval, Alloc > &</paramtype></parameter><purpose>Assignment operator for base type. </purpose></copy-assignment> 1368<constructor><parameter name="src"><paramtype><classname>interval_set</classname> &&</paramtype></parameter><purpose>Move constructor. </purpose></constructor> 1369<copy-assignment><type><classname>interval_set</classname> &</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 &</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 &</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< DomainT</template-arg><template-arg>Compare</template-arg><template-arg>Interval</template-arg><template-arg>Alloc ></template-arg></specialization><typedef name="type"><type>is_interval_container< <classname>icl::interval_set</classname>< DomainT, Compare, Interval, Alloc > ></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< DomainT</template-arg><template-arg>Compare</template-arg><template-arg>Interval</template-arg><template-arg>Alloc ></template-arg></specialization><typedef name="type"><type>is_interval_joiner< <classname>icl::interval_set</classname>< DomainT, Compare, Interval, Alloc > ></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< DomainT</template-arg><template-arg>Compare</template-arg><template-arg>Interval</template-arg><template-arg>Alloc ></template-arg></specialization><typedef name="type"><type>is_set< <classname>icl::interval_set</classname>< DomainT, Compare, Interval, Alloc > ></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< DomainT</template-arg><template-arg>Compare</template-arg><template-arg>Interval</template-arg><template-arg>Alloc ></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< Type ></template-arg></specialization><typedef name="domain_type"><type><classname>interval_traits</classname>< Type >::domain_type</type></typedef> 1429<typedef name="type"><type>difference_type_of< domain_type >::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< Type ></template-arg></specialization><typedef name="type"><type><classname>interval_traits</classname>< Type >::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< Type >::<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 &</paramtype></parameter><parameter name="up"><paramtype>const domain_type &</paramtype></parameter></method> 1439<method name="upper" specifiers="static"><type>domain_type</type><parameter name="inter_val"><paramtype>const Type &</paramtype></parameter></method> 1440<method name="lower" specifiers="static"><type>domain_type</type><parameter name="inter_val"><paramtype>const Type &</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< Type ></template-arg></specialization><typedef name="domain_type"><type><classname>interval_traits</classname>< Type >::domain_type</type></typedef> 1445<typedef name="type"><type>size_type_of< domain_type >::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> &</type></method> 1472<method name="operator++"><type><classname>add_iterator</classname> &</type></method> 1473<method name="operator++"><type><classname>add_iterator</classname> &</type><parameter name=""><paramtype>int</paramtype></parameter></method> 1474</method-group> 1475<constructor><parameter name="cont"><paramtype>ContainerT &</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> &</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> &</type></method> 1487<method name="operator++"><type><classname>insert_iterator</classname> &</type></method> 1488<method name="operator++"><type><classname>insert_iterator</classname> &</type><parameter name=""><paramtype>int</paramtype></parameter></method> 1489</method-group> 1490<constructor><parameter name="cont"><paramtype>ContainerT &</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> &</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>< ContainerT ></type><template> 1497 <template-type-parameter name="ContainerT"/> 1498 <template-type-parameter name="IteratorT"/> 1499 </template><parameter name="cont"><paramtype>ContainerT &</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>< ContainerT ></type><template> 1501 <template-type-parameter name="ContainerT"/> 1502 <template-type-parameter name="IteratorT"/> 1503 </template><parameter name="cont"><paramtype>ContainerT &</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< DomainT</template-arg><template-arg>Compare ></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< DomainT</template-arg><template-arg>Compare ></template-arg></specialization><typedef name="domain_type"><type>DomainT</type></typedef> 1525<typedef name="interval_type"><type><classname>icl::left_open_interval</classname>< DomainT, Compare ></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 &</paramtype></parameter><parameter name="up"><paramtype>const domain_type &</paramtype></parameter></method> 1531<method name="lower" specifiers="static"><type>domain_type</type><parameter name="inter_val"><paramtype>const <classname>interval_type</classname> &</paramtype></parameter></method> 1532<method name="upper" specifiers="static"><type>domain_type</type><parameter name="inter_val"><paramtype>const <classname>interval_type</classname> &</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>< DomainT, Compare ></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 &</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 &</paramtype></parameter><parameter name="up"><paramtype>const DomainT &</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< DomainT</template-arg><template-arg>Compare ></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< DomainT</template-arg><template-arg>Compare ></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>< DomainT > &</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< 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 ></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< 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 ></template-arg></specialization><typedef name="type"><type>has_inverse< <classname>icl::map</classname>< DomainT, CodomainT, Traits, Compare, Combine, Section, Alloc > ></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< CodomainT >::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< 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 ></template-arg></specialization><typedef name="type"><type>is_map< <classname>icl::map</classname>< DomainT, CodomainT, Traits, Compare, Combine, Section, Alloc > ></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< 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 ></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< DomainT, CodomainT, ICL_COMPARE_DOMAIN(Compare, DomainT), Alloc< std::pair< const DomainT, CodomainT > > ></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 &</paramtype></parameter><parameter name="it_"><paramtype>typename Type::iterator</paramtype></parameter><parameter name=""><paramtype>const typename Type::codomain_type &</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 &</paramtype></parameter><parameter name="it_"><paramtype>typename Type::iterator</paramtype></parameter><parameter name=""><paramtype>const typename Type::codomain_type &</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 &</paramtype></parameter><parameter name="it_"><paramtype>typename Type::iterator</paramtype></parameter><parameter name="co_value"><paramtype>const typename Type::codomain_type &</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 &</paramtype></parameter><parameter name="it_"><paramtype>typename Type::iterator</paramtype></parameter><parameter name="co_value"><paramtype>const typename Type::codomain_type &</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 &</paramtype></parameter><parameter name="object"><paramtype>const Type &</paramtype></parameter><parameter name="operand"><paramtype>const element_type &</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 &</paramtype></parameter><parameter name="object"><paramtype>const Type &</paramtype></parameter><parameter name="operand"><paramtype>const element_type &</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 &</paramtype></parameter><parameter name="operand"><paramtype>const element_type &</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 &</paramtype></parameter><parameter name="operand"><paramtype>const element_type &</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 &</paramtype></parameter><parameter name="operand"><paramtype>const element_type &</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 &</paramtype></parameter><parameter name="operand"><paramtype>const element_type &</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 &</paramtype></parameter><parameter name="operand"><paramtype>const element_type &</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 &</paramtype></parameter><parameter name=""><paramtype>const typename Type::element_type &</paramtype></parameter></method> 1721</method-group> 1722</struct-specialization><typedef name="allocator_type"><type>Alloc< typename std::pair< const DomainT, CodomainT > ></type></typedef> 1723<typedef name="type"><type><classname>icl::map</classname>< DomainT, CodomainT, Traits, Compare, Combine, Section, Alloc ></type></typedef> 1724<typedef name="base_type"><type>ICL_IMPL_SPACE::map< DomainT, CodomainT, ICL_COMPARE_DOMAIN(Compare, DomainT), allocator_type ></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< DomainT >::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< const DomainT, CodomainT ></type></typedef> 1733<typedef name="value_type"><type>std::pair< const DomainT, CodomainT ></type></typedef> 1734<typedef name="key_compare"><type>domain_compare</type></typedef> 1735<typedef name="inverse_codomain_combine"><type><classname>inverse</classname>< codomain_combine >::<classname>type</classname></type></typedef> 1736<typedef name="codomain_intersect"><type>mpl::if_< has_set_semantics< codomain_type >, ICL_SECTION_CODOMAIN(Section, CodomainT), codomain_combine >::<classname>type</classname></type></typedef> 1737<typedef name="inverse_codomain_intersect"><type><classname>inverse</classname>< codomain_intersect >::<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< DomainT, domain_compare, Alloc< DomainT > ></type></typedef> 1740<typedef name="key_object_type"><type>set_type</type></typedef> 1741<typedef name="on_identity_absorbtion"><type>on_absorbtion< <classname>type</classname>, codomain_combine, Traits::absorbs_identities ></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_< is_total< <classname alt="boost::icl::map">type</classname> >, has_inverse< codomain_type > >::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 &&has_inverse< codomain_type >::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> &</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 &</paramtype></parameter></method> 1765<method name="within" cv="const"><type>bool</type><parameter name="super"><paramtype>const <classname>map</classname> &</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 &</paramtype></parameter><description><para>Total select function. </para></description></method> 1768<method name="add"><type><classname>map</classname> &</type><parameter name="value_pair"><paramtype>const value_type &</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 &</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> &</type><parameter name="value_pair"><paramtype>const element_type &</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> &</type><parameter name="key"><paramtype>const domain_type &</paramtype></parameter></method> 1772<method name="insert"><type>std::pair< iterator, bool ></type><parameter name="value_pair"><paramtype>const value_type &</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 &</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> &</type><parameter name="key_value_pair"><paramtype>const element_type &</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 &</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> &</paramtype></parameter><parameter name="key_value_pair"><paramtype>const element_type &</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> &</type><parameter name="operand"><paramtype>const element_type &</paramtype></parameter></method> 1781<method name="_add"><type><classname>map</classname>< DomainT, CodomainT, Traits, Compare, Combine, Section, Alloc > &</type><template> 1782 <template-type-parameter name="Combiner"/> 1783 </template><parameter name="addend"><paramtype>const element_type &</paramtype></parameter></method> 1784<method name="_subtract"><type><classname>map</classname>< DomainT, CodomainT, Traits, Compare, Combine, Section, Alloc > &</type><template> 1785 <template-type-parameter name="Combiner"/> 1786 </template><parameter name="minuend"><paramtype>const value_type &</paramtype></parameter></method> 1787</method-group> 1788<constructor/> 1789<constructor><parameter name="comp"><paramtype>const key_compare &</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 &</paramtype></parameter></constructor> 1796<constructor><parameter name="src"><paramtype>const <classname>map</classname> &</paramtype></parameter></constructor> 1797<constructor specifiers="explicit"><parameter name="key_value_pair"><paramtype>const element_type &</paramtype></parameter></constructor> 1798<constructor><parameter name="src"><paramtype><classname>map</classname> &&</paramtype></parameter></constructor> 1799<copy-assignment><type><classname>map</classname> &</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> &</type><template> 1802 <template-type-parameter name="Combiner"/> 1803 </template><parameter name="value_pair"><paramtype>const element_type &</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 &</paramtype></parameter></method> 1807<method name="_subtract"><type><classname>map</classname> &</type><template> 1808 <template-type-parameter name="Combiner"/> 1809 </template><parameter name="value_pair"><paramtype>const element_type &</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> &</paramtype></parameter><parameter name="fragment"><paramtype>const FragmentT &</paramtype></parameter></method> 1813<method name="partial_add_intersection" cv="const"><type>void</type><parameter name="section"><paramtype><classname>type</classname> &</paramtype></parameter><parameter name="operand"><paramtype>const element_type &</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< 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 ></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< DomainT</template-arg><template-arg>Compare ></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< DomainT</template-arg><template-arg>Compare ></template-arg></specialization><typedef name="domain_type"><type>DomainT</type></typedef> 1861<typedef name="interval_type"><type><classname>icl::open_interval</classname>< DomainT, Compare ></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 &</paramtype></parameter><parameter name="up"><paramtype>const domain_type &</paramtype></parameter></method> 1867<method name="lower" specifiers="static"><type>domain_type</type><parameter name="inter_val"><paramtype>const <classname>interval_type</classname> &</paramtype></parameter></method> 1868<method name="upper" specifiers="static"><type>domain_type</type><parameter name="inter_val"><paramtype>const <classname>interval_type</classname> &</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>< DomainT, Compare ></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 &</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 &</paramtype></parameter><parameter name="up"><paramtype>const DomainT &</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< DomainT</template-arg><template-arg>Compare ></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< DomainT</template-arg><template-arg>Compare ></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>< DomainT > &</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 &</paramtype></parameter></function> 1938<function name="operator--"><type>boost::posix_time::ptime</type><parameter name="x"><paramtype>boost::posix_time::ptime &</paramtype></parameter></function> 1939<function name="operator++"><type>boost::posix_time::time_duration</type><parameter name="x"><paramtype>boost::posix_time::time_duration &</paramtype></parameter></function> 1940<function name="operator--"><type>boost::posix_time::time_duration</type><parameter name="x"><paramtype>boost::posix_time::time_duration &</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< Integral ></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< Integral >::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< Integral ></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< Integral ></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< Integral ></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< DomainT</template-arg><template-arg>Compare ></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< DomainT</template-arg><template-arg>Compare ></template-arg></specialization><typedef name="domain_type"><type>DomainT</type></typedef> 2004<typedef name="interval_type"><type><classname>icl::right_open_interval</classname>< DomainT, Compare ></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 &</paramtype></parameter><parameter name="up"><paramtype>const domain_type &</paramtype></parameter></method> 2010<method name="lower" specifiers="static"><type>domain_type</type><parameter name="inter_val"><paramtype>const <classname>interval_type</classname> &</paramtype></parameter></method> 2011<method name="upper" specifiers="static"><type>domain_type</type><parameter name="inter_val"><paramtype>const <classname>interval_type</classname> &</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>< DomainT, Compare ></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 &</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 &</paramtype></parameter><parameter name="up"><paramtype>const DomainT &</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< DomainT</template-arg><template-arg>Compare ></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< DomainT</template-arg><template-arg>Compare ></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>< DomainT > &</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< DomainT</template-arg><template-arg>Compare</template-arg><template-arg>Interval</template-arg><template-arg>Alloc ></template-arg></specialization><typedef name="type"><type>is_interval_container< <classname>icl::separate_interval_set</classname>< DomainT, Compare, Interval, Alloc > ></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< DomainT</template-arg><template-arg>Compare</template-arg><template-arg>Interval</template-arg><template-arg>Alloc ></template-arg></specialization><typedef name="type"><type>is_interval_separator< <classname>icl::separate_interval_set</classname>< DomainT, Compare, Interval, Alloc > ></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< DomainT</template-arg><template-arg>Compare</template-arg><template-arg>Interval</template-arg><template-arg>Alloc ></template-arg></specialization><typedef name="type"><type>is_set< <classname>icl::separate_interval_set</classname>< DomainT, Compare, Interval, Alloc > ></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< separate_interval_set< DomainT, Compare, Interval, Alloc >, DomainT, Compare, Interval, Alloc ></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>< DomainT, Compare, Interval, Alloc ></type></typedef> 2088<typedef name="base_type"><type><classname>interval_base_set</classname>< <classname>type</classname>, DomainT, Compare, Interval, Alloc ></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>< DomainT, Compare, Interval, Alloc ></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< interval_type ></type></typedef> 2097<typedef name="key_compare"><purpose>Comparison functor for keys. </purpose><type>exclusive_less_than< interval_type ></type></typedef> 2098<typedef name="allocator_type"><purpose>The allocator type of the set. </purpose><type>Alloc< interval_type ></type></typedef> 2099<typedef name="domain_allocator_type"><purpose>allocator type of the corresponding element set </purpose><type>Alloc< DomainT ></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>< SubType, DomainT, Compare, Interval, Alloc > &</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> &</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>< SubType, DomainT, Compare, Interval, Alloc > &</paramtype></parameter><purpose>Copy constructor for base_type. </purpose></constructor> 2119<constructor specifiers="explicit"><parameter name="elem"><paramtype>const domain_type &</paramtype></parameter><purpose>Constructor for a single element. </purpose></constructor> 2120<constructor specifiers="explicit"><parameter name="itv"><paramtype>const interval_type &</paramtype></parameter><purpose>Constructor for a single interval. </purpose></constructor> 2121<copy-assignment><type><classname>separate_interval_set</classname> &</type><template> 2122 <template-type-parameter name="SubType"/> 2123 </template><parameter name="src"><paramtype>const <classname>interval_base_set</classname>< SubType, DomainT, Compare, Interval, Alloc > &</paramtype></parameter><purpose>Assignment operator for base type. </purpose></copy-assignment> 2124<constructor><parameter name="src"><paramtype><classname>separate_interval_set</classname> &&</paramtype></parameter><purpose>Move constructor. </purpose></constructor> 2125<copy-assignment><type><classname>separate_interval_set</classname> &</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 &</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 &</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< DomainT</template-arg><template-arg>Compare</template-arg><template-arg>Interval</template-arg><template-arg>Alloc ></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< 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 ></template-arg></specialization><typedef name="type"><type>absorbs_identities< <classname>icl::split_interval_map</classname>< DomainT, CodomainT, Traits, Compare, Combine, Section, Interval, Alloc > ></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< 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 ></template-arg></specialization><typedef name="type"><type>has_inverse< <classname>icl::split_interval_map</classname>< DomainT, CodomainT, Traits, Compare, Combine, Section, Interval, Alloc > ></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< CodomainT >::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< 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 ></template-arg></specialization><typedef name="type"><type>is_interval_container< <classname>icl::split_interval_map</classname>< DomainT, CodomainT, Traits, Compare, Combine, Section, Interval, Alloc > ></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< 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 ></template-arg></specialization><typedef name="type"><type>is_interval_splitter< <classname>icl::split_interval_map</classname>< DomainT, CodomainT, Traits, Compare, Combine, Section, Interval, Alloc > ></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< 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 ></template-arg></specialization><typedef name="type"><type>is_map< <classname>icl::split_interval_map</classname>< DomainT, CodomainT, Traits, Compare, Combine, Section, Interval, Alloc > ></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< 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 ></template-arg></specialization><typedef name="type"><type>is_total< <classname>icl::split_interval_map</classname>< DomainT, CodomainT, Traits, Compare, Combine, Section, Interval, Alloc > ></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< split_interval_map< DomainT, CodomainT, Traits, Compare, Combine, Section, Interval, Alloc >, DomainT, CodomainT, Traits, Compare, Combine, Section, Interval, Alloc ></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>< DomainT, CodomainT, Traits, Compare, Combine, Section, Interval, Alloc ></type></typedef> 2247<typedef name="joint_type"><type><classname>interval_map</classname>< DomainT, CodomainT, Traits, Compare, Combine, Section, Interval, Alloc ></type></typedef> 2248<typedef name="overloadable_type"><type><classname>type</classname></type></typedef> 2249<typedef name="base_type"><type><classname>interval_base_map</classname>< <classname>type</classname>, DomainT, CodomainT, Traits, Compare, Combine, Section, Interval, Alloc ></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>< DomainT, Compare, Interval, Alloc ></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>< SubType, DomainT, CodomainT, Traits, Compare, Combine, Section, Interval, Alloc > &</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> &</paramtype></parameter><purpose>Copy constructor. </purpose></constructor> 2271<constructor specifiers="explicit"><parameter name="base_pair"><paramtype>const <classname>domain_mapping_type</classname> &</paramtype></parameter></constructor> 2272<constructor specifiers="explicit"><parameter name="value_pair"><paramtype>const value_type &</paramtype></parameter></constructor> 2273<copy-assignment><type><classname>split_interval_map</classname> &</type><template> 2274 <template-type-parameter name="SubType"/> 2275 </template><parameter name="src"><paramtype>const <classname>interval_base_map</classname>< SubType, DomainT, CodomainT, Traits, Compare, Combine, Section, Interval, Alloc > &</paramtype></parameter><purpose>Assignment operator for base type. </purpose></copy-assignment> 2276<constructor><parameter name="src"><paramtype><classname>split_interval_map</classname> &&</paramtype></parameter><purpose>Move constructor. </purpose></constructor> 2277<copy-assignment><type><classname>split_interval_map</classname> &</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 &</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 &</paramtype></parameter><parameter name="prior_"><paramtype>iterator</paramtype></parameter><parameter name="end_gap"><paramtype>const interval_type &</paramtype></parameter><parameter name="co_val"><paramtype>const codomain_type &</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< 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 ></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< DomainT</template-arg><template-arg>Compare</template-arg><template-arg>Interval</template-arg><template-arg>Alloc ></template-arg></specialization><typedef name="type"><type>is_interval_container< <classname>icl::split_interval_set</classname>< DomainT, Compare, Interval, Alloc > ></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< DomainT</template-arg><template-arg>Compare</template-arg><template-arg>Interval</template-arg><template-arg>Alloc ></template-arg></specialization><typedef name="type"><type>is_interval_splitter< <classname>icl::split_interval_set</classname>< DomainT, Compare, Interval, Alloc > ></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< DomainT</template-arg><template-arg>Compare</template-arg><template-arg>Interval</template-arg><template-arg>Alloc ></template-arg></specialization><typedef name="type"><type>is_set< <classname>icl::split_interval_set</classname>< DomainT, Compare, Interval, Alloc > ></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< split_interval_set< DomainT, Compare, Interval, Alloc >, DomainT, Compare, Interval, Alloc ></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>< DomainT, Compare, Interval, Alloc ></type></typedef> 2360<typedef name="base_type"><type><classname>interval_base_set</classname>< <classname>type</classname>, DomainT, Compare, Interval, Alloc ></type></typedef> 2361<typedef name="joint_type"><type><classname>interval_set</classname>< DomainT, Compare, Interval, Alloc ></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< interval_type ></type></typedef> 2369<typedef name="key_compare"><purpose>Comparison functor for keys. </purpose><type>exclusive_less_than< interval_type ></type></typedef> 2370<typedef name="allocator_type"><purpose>The allocator type of the set. </purpose><type>Alloc< interval_type ></type></typedef> 2371<typedef name="domain_allocator_type"><purpose>allocator type of the corresponding element set </purpose><type>Alloc< DomainT ></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>< SubType, DomainT, Compare, Interval, Alloc > &</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> &</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>< SubType, DomainT, Compare, Interval, Alloc > &</paramtype></parameter><purpose>Copy constructor for base_type. </purpose></constructor> 2391<constructor specifiers="explicit"><parameter name="elem"><paramtype>const interval_type &</paramtype></parameter><purpose>Constructor for a single element. </purpose></constructor> 2392<constructor specifiers="explicit"><parameter name="itv"><paramtype>const domain_type &</paramtype></parameter><purpose>Constructor for a single interval. </purpose></constructor> 2393<copy-assignment><type><classname>split_interval_set</classname> &</type><template> 2394 <template-type-parameter name="SubType"/> 2395 </template><parameter name="src"><paramtype>const <classname>interval_base_set</classname>< SubType, DomainT, Compare, Interval, Alloc > &</paramtype></parameter><purpose>Assignment operator for base type. </purpose></copy-assignment> 2396<constructor><parameter name="src"><paramtype><classname>split_interval_set</classname> &&</paramtype></parameter><purpose>Move constructor. </purpose></constructor> 2397<copy-assignment><type><classname>split_interval_set</classname> &</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 &</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 &</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< DomainT</template-arg><template-arg>Compare</template-arg><template-arg>Interval</template-arg><template-arg>Alloc ></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>