icldoc.xml 246 KB

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