3 <meta http-equiv=
"Content-Type" content=
"text/html; charset=US-ASCII">
4 <title>Class template interval_base_set
</title>
5 <link rel=
"stylesheet" href=
"../../../../../../doc/src/boostbook.css" type=
"text/css">
6 <meta name=
"generator" content=
"DocBook XSL Stylesheets V1.74.0">
7 <link rel=
"home" href=
"../../index.html" title=
"Chapter 1. Boost.Icl">
8 <link rel=
"up" href=
"../../header/boost/icl/interval_base_set_hpp.html" title=
"Header <boost/icl/interval_base_set.hpp>">
9 <link rel=
"prev" href=
"../../header/boost/icl/interval_base_set_hpp.html" title=
"Header <boost/icl/interval_base_set.hpp>">
10 <link rel=
"next" href=
"is_set_icl_interv_id654405.html" title=
"Struct template is_set<icl::interval_base_set< SubType, DomainT, Compare, Interval, Alloc >>">
12 <body bgcolor=
"white" text=
"black" link=
"#0000FF" vlink=
"#840084" alink=
"#0000FF">
13 <table cellpadding=
"2" width=
"100%"><tr>
14 <td valign=
"top"><img alt=
"Boost C++ Libraries" width=
"277" height=
"86" src=
"../../../../../../boost.png"></td>
15 <td align=
"center"><a href=
"../../../../../../index.html">Home
</a></td>
16 <td align=
"center"><a href=
"../../../../../libraries.htm">Libraries
</a></td>
17 <td align=
"center"><a href=
"http://www.boost.org/users/people.html">People
</a></td>
18 <td align=
"center"><a href=
"http://www.boost.org/users/faq.html">FAQ
</a></td>
19 <td align=
"center"><a href=
"../../../../../../more/index.htm">More
</a></td>
22 <div class=
"spirit-nav">
23 <a accesskey=
"p" href=
"../../header/boost/icl/interval_base_set_hpp.html"><img src=
"../../../../../../doc/src/images/prev.png" alt=
"Prev"></a><a accesskey=
"u" href=
"../../header/boost/icl/interval_base_set_hpp.html"><img src=
"../../../../../../doc/src/images/up.png" alt=
"Up"></a><a accesskey=
"h" href=
"../../index.html"><img src=
"../../../../../../doc/src/images/home.png" alt=
"Home"></a><a accesskey=
"n" href=
"is_set_icl_interv_id654405.html"><img src=
"../../../../../../doc/src/images/next.png" alt=
"Next"></a>
25 <div class=
"refentry" lang=
"en">
26 <a name=
"boost.icl.interval_base_set"></a><div class=
"titlepage"></div>
27 <div class=
"refnamediv">
28 <h2><span class=
"refentrytitle">Class template interval_base_set
</span></h2>
29 <p>boost::icl::interval_base_set
— Implements a set as a set of intervals (base class).
</p>
31 <h2 xmlns:
rev=
"http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class=
"refsynopsisdiv-title">Synopsis
</h2>
32 <div xmlns:
rev=
"http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class=
"refsynopsisdiv"><pre class=
"synopsis"><span class=
"comment">// In header:
<<a class=
"link" href=
"../../header/boost/icl/interval_base_set_hpp.html" title=
"Header <boost/icl/interval_base_set.hpp>">boost/icl/interval_base_set.hpp
</a>>
34 </span><span class=
"keyword">template
</span><span class=
"special"><</span><span class=
"keyword">typename
</span> SubType
<span class=
"special">,
</span> <span class=
"keyword">typename
</span> DomainT
<span class=
"special">,
</span>
35 <span class=
"identifier">ICL_COMPARE
</span> Compare
<span class=
"special">=
</span> <span class=
"identifier">ICL_COMPARE_INSTANCE
</span><span class=
"special">(
</span><span class=
"identifier">ICL_COMPARE_DEFAULT
</span><span class=
"special">,
</span> <span class=
"identifier">DomainT
</span><span class=
"special">)
</span><span class=
"special">,
</span>
36 <span class=
"identifier">ICL_INTERVAL
</span><span class=
"special">(
</span><span class=
"identifier">ICL_COMPARE
</span><span class=
"special">)
</span> Interval
<span class=
"special">=
</span> <span class=
"identifier">ICL_INTERVAL_INSTANCE
</span><span class=
"special">(
</span><span class=
"identifier">ICL_INTERVAL_DEFAULT
</span><span class=
"special">,
</span> <span class=
"identifier">DomainT
</span><span class=
"special">,
</span> <span class=
"identifier">Compare
</span><span class=
"special">)
</span><span class=
"special">,
</span>
37 <span class=
"identifier">ICL_ALLOC
</span> Alloc
<span class=
"special">=
</span> <span class=
"identifier">std
</span><span class=
"special">::
</span><span class=
"identifier">allocator
</span><span class=
"special">></span>
38 <span class=
"keyword">class
</span> <a class=
"link" href=
"interval_base_set.html" title=
"Class template interval_base_set">interval_base_set
</a> <span class=
"special">{
</span>
39 <span class=
"keyword">public
</span><span class=
"special">:
</span>
40 <span class=
"comment">// types
</span>
41 <span class=
"keyword">typedef
</span> <a class=
"link" href=
"interval_base_set.html" title=
"Class template interval_base_set">interval_base_set
</a><span class=
"special"><</span> <span class=
"identifier">SubType
</span><span class=
"special">,
</span> <span class=
"identifier">DomainT
</span><span class=
"special">,
</span> <span class=
"identifier">Compare
</span><span class=
"special">,
</span> <span class=
"identifier">Interval
</span><span class=
"special">,
</span> <span class=
"identifier">Alloc
</span> <span class=
"special">></span> <a name=
"boost.icl.interval_base_set.type"></a><span class=
"identifier">type
</span><span class=
"special">;
</span>
42 <span class=
"keyword">typedef
</span> <span class=
"identifier">SubType
</span> <a name=
"boost.icl.interval_base_set.sub_type"></a><span class=
"identifier">sub_type
</span><span class=
"special">;
</span> <span class=
"comment">// The designated
<span class=
"emphasis"><em>derived
</em></span> or
<span class=
"emphasis"><em>sub_type
</em></span> of this base class.
</span>
43 <span class=
"keyword">typedef
</span> <a class=
"link" href=
"interval_base_set.html#boost.icl.interval_base_set.type">type
</a> <a name=
"boost.icl.interval_base_set.overloadable_type"></a><span class=
"identifier">overloadable_type
</span><span class=
"special">;
</span> <span class=
"comment">// Auxilliary type for overloadresolution.
</span>
44 <span class=
"keyword">typedef
</span> <span class=
"identifier">DomainT
</span> <a name=
"boost.icl.interval_base_set.domain_type"></a><span class=
"identifier">domain_type
</span><span class=
"special">;
</span> <span class=
"comment">// The domain type of the set.
</span>
45 <span class=
"keyword">typedef
</span> <span class=
"identifier">DomainT
</span> <a name=
"boost.icl.interval_base_set.codomain_type"></a><span class=
"identifier">codomain_type
</span><span class=
"special">;
</span> <span class=
"comment">// The codomaintype is the same as domain_type.
</span>
46 <span class=
"keyword">typedef
</span> <span class=
"identifier">DomainT
</span> <a name=
"boost.icl.interval_base_set.element_type"></a><span class=
"identifier">element_type
</span><span class=
"special">;
</span> <span class=
"comment">// The element type of the set.
</span>
47 <span class=
"keyword">typedef
</span> <span class=
"identifier">interval_type
</span> <a name=
"boost.icl.interval_base_set.segment_type"></a><span class=
"identifier">segment_type
</span><span class=
"special">;
</span> <span class=
"comment">// The segment type of the set.
</span>
48 <span class=
"keyword">typedef
</span> <span class=
"identifier">difference_type_of
</span><span class=
"special"><</span> <span class=
"identifier">domain_type
</span> <span class=
"special">></span><span class=
"special">::
</span><a class=
"link" href=
"interval_base_set.html#boost.icl.interval_base_set.type">type
</a> <a name=
"boost.icl.interval_base_set.difference_type"></a><span class=
"identifier">difference_type
</span><span class=
"special">;
</span> <span class=
"comment">// The difference type of an interval which is sometimes different form the data_type.
</span>
49 <span class=
"keyword">typedef
</span> <span class=
"identifier">size_type_of
</span><span class=
"special"><</span> <span class=
"identifier">domain_type
</span> <span class=
"special">></span><span class=
"special">::
</span><a class=
"link" href=
"interval_base_set.html#boost.icl.interval_base_set.type">type
</a> <a name=
"boost.icl.interval_base_set.size_type"></a><span class=
"identifier">size_type
</span><span class=
"special">;
</span> <span class=
"comment">// The size type of an interval which is mostly std::size_t.
</span>
50 <span class=
"keyword">typedef
</span> <span class=
"identifier">exclusive_less_than
</span><span class=
"special"><</span> <span class=
"identifier">interval_type
</span> <span class=
"special">></span> <a name=
"boost.icl.interval_base_set.interval_compare"></a><span class=
"identifier">interval_compare
</span><span class=
"special">;
</span> <span class=
"comment">// Comparison functor for intervals.
</span>
51 <span class=
"keyword">typedef
</span> <span class=
"identifier">exclusive_less_than
</span><span class=
"special"><</span> <span class=
"identifier">interval_type
</span> <span class=
"special">></span> <a name=
"boost.icl.interval_base_set.key_compare"></a><span class=
"identifier">key_compare
</span><span class=
"special">;
</span> <span class=
"comment">// Comparison functor for keys.
</span>
52 <span class=
"keyword">typedef
</span> <span class=
"identifier">ICL_IMPL_SPACE
</span><span class=
"special">::
</span><span class=
"identifier">set
</span><span class=
"special"><</span> <span class=
"identifier">DomainT
</span><span class=
"special">,
</span> <span class=
"identifier">domain_compare
</span><span class=
"special">,
</span> <span class=
"identifier">Alloc
</span><span class=
"special"><</span> <span class=
"identifier">DomainT
</span> <span class=
"special">></span> <span class=
"special">></span> <a name=
"boost.icl.interval_base_set.atomized_type"></a><span class=
"identifier">atomized_type
</span><span class=
"special">;
</span> <span class=
"comment">// The atomized type representing the corresponding container of elements.
</span>
53 <span class=
"keyword">typedef
</span> <span class=
"identifier">Alloc
</span><span class=
"special"><</span> <span class=
"identifier">interval_type
</span> <span class=
"special">></span> <a name=
"boost.icl.interval_base_set.allocator_type"></a><span class=
"identifier">allocator_type
</span><span class=
"special">;
</span> <span class=
"comment">// The allocator type of the set.
</span>
54 <span class=
"keyword">typedef
</span> <span class=
"identifier">Alloc
</span><span class=
"special"><</span> <span class=
"identifier">DomainT
</span> <span class=
"special">></span> <a name=
"boost.icl.interval_base_set.domain_allocator_type"></a><span class=
"identifier">domain_allocator_type
</span><span class=
"special">;
</span> <span class=
"comment">// allocator type of the corresponding element set
</span>
55 <span class=
"keyword">typedef
</span> <span class=
"identifier">ICL_IMPL_SPACE
</span><span class=
"special">::
</span><span class=
"identifier">set
</span><span class=
"special"><</span> <span class=
"identifier">interval_type
</span><span class=
"special">,
</span> <span class=
"identifier">key_compare
</span><span class=
"special">,
</span> <span class=
"identifier">allocator_type
</span> <span class=
"special">></span> <a name=
"boost.icl.interval_base_set.ImplSetT"></a><span class=
"identifier">ImplSetT
</span><span class=
"special">;
</span> <span class=
"comment">// Container type for the implementation.
</span>
56 <span class=
"keyword">typedef
</span> <span class=
"identifier">ImplSetT
</span><span class=
"special">::
</span><span class=
"identifier">key_type
</span> <a name=
"boost.icl.interval_base_set.key_type"></a><span class=
"identifier">key_type
</span><span class=
"special">;
</span> <span class=
"comment">// key type of the implementing container
</span>
57 <span class=
"keyword">typedef
</span> <span class=
"identifier">ImplSetT
</span><span class=
"special">::
</span><span class=
"identifier">key_type
</span> <a name=
"boost.icl.interval_base_set.data_type"></a><span class=
"identifier">data_type
</span><span class=
"special">;
</span> <span class=
"comment">// data type of the implementing container
</span>
58 <span class=
"keyword">typedef
</span> <span class=
"identifier">ImplSetT
</span><span class=
"special">::
</span><span class=
"identifier">value_type
</span> <a name=
"boost.icl.interval_base_set.value_type"></a><span class=
"identifier">value_type
</span><span class=
"special">;
</span> <span class=
"comment">// value type of the implementing container
</span>
59 <span class=
"keyword">typedef
</span> <span class=
"identifier">ImplSetT
</span><span class=
"special">::
</span><span class=
"identifier">pointer
</span> <a name=
"boost.icl.interval_base_set.pointer"></a><span class=
"identifier">pointer
</span><span class=
"special">;
</span> <span class=
"comment">// pointer type
</span>
60 <span class=
"keyword">typedef
</span> <span class=
"identifier">ImplSetT
</span><span class=
"special">::
</span><span class=
"identifier">const_pointer
</span> <a name=
"boost.icl.interval_base_set.const_pointer"></a><span class=
"identifier">const_pointer
</span><span class=
"special">;
</span> <span class=
"comment">// const pointer type
</span>
61 <span class=
"keyword">typedef
</span> <span class=
"identifier">ImplSetT
</span><span class=
"special">::
</span><span class=
"identifier">reference
</span> <a name=
"boost.icl.interval_base_set.reference"></a><span class=
"identifier">reference
</span><span class=
"special">;
</span> <span class=
"comment">// reference type
</span>
62 <span class=
"keyword">typedef
</span> <span class=
"identifier">ImplSetT
</span><span class=
"special">::
</span><span class=
"identifier">const_reference
</span> <a name=
"boost.icl.interval_base_set.const_reference"></a><span class=
"identifier">const_reference
</span><span class=
"special">;
</span> <span class=
"comment">// const reference type
</span>
63 <span class=
"keyword">typedef
</span> <span class=
"identifier">ImplSetT
</span><span class=
"special">::
</span><span class=
"identifier">iterator
</span> <a name=
"boost.icl.interval_base_set.iterator"></a><span class=
"identifier">iterator
</span><span class=
"special">;
</span> <span class=
"comment">// iterator for iteration over intervals
</span>
64 <span class=
"keyword">typedef
</span> <span class=
"identifier">ImplSetT
</span><span class=
"special">::
</span><span class=
"identifier">const_iterator
</span> <a name=
"boost.icl.interval_base_set.const_iterator"></a><span class=
"identifier">const_iterator
</span><span class=
"special">;
</span> <span class=
"comment">// const_iterator for iteration over intervals
</span>
65 <span class=
"keyword">typedef
</span> <span class=
"identifier">ImplSetT
</span><span class=
"special">::
</span><span class=
"identifier">reverse_iterator
</span> <a name=
"boost.icl.interval_base_set.reverse_iterator"></a><span class=
"identifier">reverse_iterator
</span><span class=
"special">;
</span> <span class=
"comment">// iterator for reverse iteration over intervals
</span>
66 <span class=
"keyword">typedef
</span> <span class=
"identifier">ImplSetT
</span><span class=
"special">::
</span><span class=
"identifier">const_reverse_iterator
</span> <a name=
"boost.icl.interval_base_set.const_reverse_iterator"></a><span class=
"identifier">const_reverse_iterator
</span><span class=
"special">;
</span> <span class=
"comment">// const_iterator for iteration over intervals
</span>
67 <span class=
"keyword">typedef
</span> <span class=
"identifier">boost
</span><span class=
"special">::
</span><span class=
"identifier">icl
</span><span class=
"special">::
</span><span class=
"identifier">element_iterator
</span><span class=
"special"><</span> <span class=
"identifier">iterator
</span> <span class=
"special">></span> <a name=
"boost.icl.interval_base_set.element_iterator"></a><span class=
"identifier">element_iterator
</span><span class=
"special">;
</span> <span class=
"comment">// element iterator: Depreciated, see documentation.
</span>
68 <span class=
"keyword">typedef
</span> <span class=
"identifier">boost
</span><span class=
"special">::
</span><span class=
"identifier">icl
</span><span class=
"special">::
</span><span class=
"identifier">element_iterator
</span><span class=
"special"><</span> <span class=
"identifier">const_iterator
</span> <span class=
"special">></span> <a name=
"boost.icl.interval_base_set.element_const_iterator"></a><span class=
"identifier">element_const_iterator
</span><span class=
"special">;
</span> <span class=
"comment">// element const iterator: Depreciated, see documentation.
</span>
69 <span class=
"keyword">typedef
</span> <span class=
"identifier">boost
</span><span class=
"special">::
</span><span class=
"identifier">icl
</span><span class=
"special">::
</span><span class=
"identifier">element_iterator
</span><span class=
"special"><</span> <span class=
"identifier">reverse_iterator
</span> <span class=
"special">></span> <a name=
"boost.icl.interval_base_set.element_reverse_iterator"></a><span class=
"identifier">element_reverse_iterator
</span><span class=
"special">;
</span> <span class=
"comment">// element reverse iterator: Depreciated, see documentation.
</span>
70 <span class=
"keyword">typedef
</span> <span class=
"identifier">boost
</span><span class=
"special">::
</span><span class=
"identifier">icl
</span><span class=
"special">::
</span><span class=
"identifier">element_iterator
</span><span class=
"special"><</span> <span class=
"identifier">const_reverse_iterator
</span> <span class=
"special">></span> <a name=
"boost.icl.interval_base_set.element_const_rev_id653664"></a><span class=
"identifier">element_const_reverse_iterator
</span><span class=
"special">;
</span> <span class=
"comment">// element const reverse iterator: Depreciated, see documentation.
</span>
72 <span class=
"comment">//
<a class=
"link" href=
"interval_base_set.html#boost.icl.interval_base_setconstruct-copy-destruct">construct/copy/destruct
</a></span>
73 <a class=
"link" href=
"interval_base_set.html#id654239-bb"><span class=
"identifier">interval_base_set
</span></a><span class=
"special">(
</span><span class=
"special">)
</span><span class=
"special">;
</span>
74 <a class=
"link" href=
"interval_base_set.html#id654244-bb"><span class=
"identifier">interval_base_set
</span></a><span class=
"special">(
</span><span class=
"keyword">const
</span> <a class=
"link" href=
"interval_base_set.html" title=
"Class template interval_base_set">interval_base_set
</a> <span class=
"special">&</span><span class=
"special">)
</span><span class=
"special">;
</span>
75 <a class=
"link" href=
"interval_base_set.html#id654270-bb"><span class=
"identifier">interval_base_set
</span></a><span class=
"special">(
</span><a class=
"link" href=
"interval_base_set.html" title=
"Class template interval_base_set">interval_base_set
</a> <span class=
"special">&&</span><span class=
"special">)
</span><span class=
"special">;
</span>
76 interval_base_set
& <a class=
"link" href=
"interval_base_set.html#id654257-bb"><span class=
"keyword">operator
</span><span class=
"special">=
</span></a><span class=
"special">(
</span><span class=
"keyword">const
</span> <a class=
"link" href=
"interval_base_set.html" title=
"Class template interval_base_set">interval_base_set
</a> <span class=
"special">&</span><span class=
"special">)
</span><span class=
"special">;
</span>
77 interval_base_set
& <a class=
"link" href=
"interval_base_set.html#id654282-bb"><span class=
"keyword">operator
</span><span class=
"special">=
</span></a><span class=
"special">(
</span><a class=
"link" href=
"interval_base_set.html" title=
"Class template interval_base_set">interval_base_set
</a> <span class=
"special">&&</span><span class=
"special">)
</span><span class=
"special">;
</span>
79 <span class=
"comment">//
<a class=
"link" href=
"interval_base_set.html#id653672-bb">public member functions
</a></span>
80 <span class=
"keyword">typedef
</span> <a class=
"link" href=
"interval_base_set.html#id653674-bb"><span class=
"identifier">ICL_INTERVAL_TYPE
</span></a><span class=
"special">(
</span><span class=
"identifier">Interval
</span><span class=
"special">,
</span> <span class=
"identifier">DomainT
</span><span class=
"special">,
</span> <span class=
"identifier">Compare
</span><span class=
"special">)
</span><span class=
"special">;
</span>
81 <span class=
"keyword">typedef
</span> <a class=
"link" href=
"interval_base_set.html#id653697-bb"><span class=
"identifier">ICL_COMPARE_DOMAIN
</span></a><span class=
"special">(
</span><span class=
"identifier">Compare
</span><span class=
"special">,
</span> <span class=
"identifier">DomainT
</span><span class=
"special">)
</span><span class=
"special">;
</span>
82 <span class=
"keyword">typedef
</span> <a class=
"link" href=
"interval_base_set.html#id653715-bb"><span class=
"identifier">ICL_COMPARE_DOMAIN
</span></a><span class=
"special">(
</span><span class=
"identifier">Compare
</span><span class=
"special">,
</span> <span class=
"identifier">segment_type
</span><span class=
"special">)
</span><span class=
"special">;
</span>
83 <a class=
"link" href=
"interval_base_set.html#id653730-bb"><span class=
"identifier">BOOST_STATIC_CONSTANT
</span></a><span class=
"special">(
</span><span class=
"keyword">int
</span><span class=
"special">,
</span> <span class=
"identifier">fineness
</span> <span class=
"special">=
</span> <span class=
"number">0</span><span class=
"special">)
</span><span class=
"special">;
</span>
84 <span class=
"keyword">void
</span> <a class=
"link" href=
"interval_base_set.html#id653747-bb"><span class=
"identifier">swap
</span></a><span class=
"special">(
</span><a class=
"link" href=
"interval_base_set.html" title=
"Class template interval_base_set">interval_base_set
</a> <span class=
"special">&</span><span class=
"special">)
</span><span class=
"special">;
</span>
85 <span class=
"keyword">void
</span> <a class=
"link" href=
"interval_base_set.html#id653764-bb"><span class=
"identifier">clear
</span></a><span class=
"special">(
</span><span class=
"special">)
</span><span class=
"special">;
</span>
86 <span class=
"keyword">bool
</span> <a class=
"link" href=
"interval_base_set.html#id653774-bb"><span class=
"identifier">empty
</span></a><span class=
"special">(
</span><span class=
"special">)
</span> <span class=
"keyword">const
</span><span class=
"special">;
</span>
87 <span class=
"identifier">size_type
</span> <a class=
"link" href=
"interval_base_set.html#id653783-bb"><span class=
"identifier">size
</span></a><span class=
"special">(
</span><span class=
"special">)
</span> <span class=
"keyword">const
</span><span class=
"special">;
</span>
88 <span class=
"identifier">std
</span><span class=
"special">::
</span><span class=
"identifier">size_t
</span> <a class=
"link" href=
"interval_base_set.html#id653793-bb"><span class=
"identifier">iterative_size
</span></a><span class=
"special">(
</span><span class=
"special">)
</span> <span class=
"keyword">const
</span><span class=
"special">;
</span>
89 <span class=
"identifier">const_iterator
</span> <a class=
"link" href=
"interval_base_set.html#id653802-bb"><span class=
"identifier">find
</span></a><span class=
"special">(
</span><span class=
"keyword">const
</span> <span class=
"identifier">element_type
</span> <span class=
"special">&</span><span class=
"special">)
</span> <span class=
"keyword">const
</span><span class=
"special">;
</span>
90 <span class=
"identifier">const_iterator
</span> <a class=
"link" href=
"interval_base_set.html#id653820-bb"><span class=
"identifier">find
</span></a><span class=
"special">(
</span><span class=
"keyword">const
</span> <span class=
"identifier">interval_type
</span> <span class=
"special">&</span><span class=
"special">)
</span> <span class=
"keyword">const
</span><span class=
"special">;
</span>
91 <span class=
"identifier">SubType
</span> <span class=
"special">&</span> <a class=
"link" href=
"interval_base_set.html#id653838-bb"><span class=
"identifier">add
</span></a><span class=
"special">(
</span><span class=
"keyword">const
</span> <span class=
"identifier">element_type
</span> <span class=
"special">&</span><span class=
"special">)
</span><span class=
"special">;
</span>
92 <span class=
"identifier">SubType
</span> <span class=
"special">&</span> <a class=
"link" href=
"interval_base_set.html#id653856-bb"><span class=
"identifier">add
</span></a><span class=
"special">(
</span><span class=
"keyword">const
</span> <span class=
"identifier">segment_type
</span> <span class=
"special">&</span><span class=
"special">)
</span><span class=
"special">;
</span>
93 <span class=
"identifier">iterator
</span> <a class=
"link" href=
"interval_base_set.html#id653874-bb"><span class=
"identifier">add
</span></a><span class=
"special">(
</span><span class=
"identifier">iterator
</span><span class=
"special">,
</span> <span class=
"keyword">const
</span> <span class=
"identifier">segment_type
</span> <span class=
"special">&</span><span class=
"special">)
</span><span class=
"special">;
</span>
94 <span class=
"identifier">SubType
</span> <span class=
"special">&</span> <a class=
"link" href=
"interval_base_set.html#id653904-bb"><span class=
"identifier">subtract
</span></a><span class=
"special">(
</span><span class=
"keyword">const
</span> <span class=
"identifier">element_type
</span> <span class=
"special">&</span><span class=
"special">)
</span><span class=
"special">;
</span>
95 <span class=
"identifier">SubType
</span> <span class=
"special">&</span> <a class=
"link" href=
"interval_base_set.html#id653922-bb"><span class=
"identifier">subtract
</span></a><span class=
"special">(
</span><span class=
"keyword">const
</span> <span class=
"identifier">segment_type
</span> <span class=
"special">&</span><span class=
"special">)
</span><span class=
"special">;
</span>
96 <span class=
"identifier">SubType
</span> <span class=
"special">&</span> <a class=
"link" href=
"interval_base_set.html#id653940-bb"><span class=
"identifier">insert
</span></a><span class=
"special">(
</span><span class=
"keyword">const
</span> <span class=
"identifier">element_type
</span> <span class=
"special">&</span><span class=
"special">)
</span><span class=
"special">;
</span>
97 <span class=
"identifier">SubType
</span> <span class=
"special">&</span> <a class=
"link" href=
"interval_base_set.html#id653958-bb"><span class=
"identifier">insert
</span></a><span class=
"special">(
</span><span class=
"keyword">const
</span> <span class=
"identifier">segment_type
</span> <span class=
"special">&</span><span class=
"special">)
</span><span class=
"special">;
</span>
98 <span class=
"identifier">iterator
</span> <a class=
"link" href=
"interval_base_set.html#id653976-bb"><span class=
"identifier">insert
</span></a><span class=
"special">(
</span><span class=
"identifier">iterator
</span><span class=
"special">,
</span> <span class=
"keyword">const
</span> <span class=
"identifier">segment_type
</span> <span class=
"special">&</span><span class=
"special">)
</span><span class=
"special">;
</span>
99 <span class=
"identifier">SubType
</span> <span class=
"special">&</span> <a class=
"link" href=
"interval_base_set.html#id654006-bb"><span class=
"identifier">erase
</span></a><span class=
"special">(
</span><span class=
"keyword">const
</span> <span class=
"identifier">element_type
</span> <span class=
"special">&</span><span class=
"special">)
</span><span class=
"special">;
</span>
100 <span class=
"identifier">SubType
</span> <span class=
"special">&</span> <a class=
"link" href=
"interval_base_set.html#id654024-bb"><span class=
"identifier">erase
</span></a><span class=
"special">(
</span><span class=
"keyword">const
</span> <span class=
"identifier">segment_type
</span> <span class=
"special">&</span><span class=
"special">)
</span><span class=
"special">;
</span>
101 <span class=
"keyword">void
</span> <a class=
"link" href=
"interval_base_set.html#id654042-bb"><span class=
"identifier">erase
</span></a><span class=
"special">(
</span><span class=
"identifier">iterator
</span><span class=
"special">)
</span><span class=
"special">;
</span>
102 <span class=
"keyword">void
</span> <a class=
"link" href=
"interval_base_set.html#id654060-bb"><span class=
"identifier">erase
</span></a><span class=
"special">(
</span><span class=
"identifier">iterator
</span><span class=
"special">,
</span> <span class=
"identifier">iterator
</span><span class=
"special">)
</span><span class=
"special">;
</span>
103 <span class=
"identifier">SubType
</span> <span class=
"special">&</span> <a class=
"link" href=
"interval_base_set.html#id654083-bb"><span class=
"identifier">flip
</span></a><span class=
"special">(
</span><span class=
"keyword">const
</span> <span class=
"identifier">element_type
</span> <span class=
"special">&</span><span class=
"special">)
</span><span class=
"special">;
</span>
104 <span class=
"identifier">SubType
</span> <span class=
"special">&</span> <a class=
"link" href=
"interval_base_set.html#id654105-bb"><span class=
"identifier">flip
</span></a><span class=
"special">(
</span><span class=
"keyword">const
</span> <span class=
"identifier">segment_type
</span> <span class=
"special">&</span><span class=
"special">)
</span><span class=
"special">;
</span>
105 <span class=
"identifier">iterator
</span> <a class=
"link" href=
"interval_base_set.html#id654126-bb"><span class=
"identifier">begin
</span></a><span class=
"special">(
</span><span class=
"special">)
</span><span class=
"special">;
</span>
106 <span class=
"identifier">iterator
</span> <a class=
"link" href=
"interval_base_set.html#id654132-bb"><span class=
"identifier">end
</span></a><span class=
"special">(
</span><span class=
"special">)
</span><span class=
"special">;
</span>
107 <span class=
"identifier">const_iterator
</span> <a class=
"link" href=
"interval_base_set.html#id654138-bb"><span class=
"identifier">begin
</span></a><span class=
"special">(
</span><span class=
"special">)
</span> <span class=
"keyword">const
</span><span class=
"special">;
</span>
108 <span class=
"identifier">const_iterator
</span> <a class=
"link" href=
"interval_base_set.html#id654144-bb"><span class=
"identifier">end
</span></a><span class=
"special">(
</span><span class=
"special">)
</span> <span class=
"keyword">const
</span><span class=
"special">;
</span>
109 <span class=
"identifier">reverse_iterator
</span> <a class=
"link" href=
"interval_base_set.html#id654150-bb"><span class=
"identifier">rbegin
</span></a><span class=
"special">(
</span><span class=
"special">)
</span><span class=
"special">;
</span>
110 <span class=
"identifier">reverse_iterator
</span> <a class=
"link" href=
"interval_base_set.html#id654156-bb"><span class=
"identifier">rend
</span></a><span class=
"special">(
</span><span class=
"special">)
</span><span class=
"special">;
</span>
111 <span class=
"identifier">const_reverse_iterator
</span> <a class=
"link" href=
"interval_base_set.html#id654162-bb"><span class=
"identifier">rbegin
</span></a><span class=
"special">(
</span><span class=
"special">)
</span> <span class=
"keyword">const
</span><span class=
"special">;
</span>
112 <span class=
"identifier">const_reverse_iterator
</span> <a class=
"link" href=
"interval_base_set.html#id654168-bb"><span class=
"identifier">rend
</span></a><span class=
"special">(
</span><span class=
"special">)
</span> <span class=
"keyword">const
</span><span class=
"special">;
</span>
113 <span class=
"identifier">iterator
</span> <a class=
"link" href=
"interval_base_set.html#id654174-bb"><span class=
"identifier">lower_bound
</span></a><span class=
"special">(
</span><span class=
"keyword">const
</span> <span class=
"identifier">value_type
</span> <span class=
"special">&</span><span class=
"special">)
</span><span class=
"special">;
</span>
114 <span class=
"identifier">iterator
</span> <a class=
"link" href=
"interval_base_set.html#id654185-bb"><span class=
"identifier">upper_bound
</span></a><span class=
"special">(
</span><span class=
"keyword">const
</span> <span class=
"identifier">value_type
</span> <span class=
"special">&</span><span class=
"special">)
</span><span class=
"special">;
</span>
115 <span class=
"identifier">const_iterator
</span> <a class=
"link" href=
"interval_base_set.html#id654196-bb"><span class=
"identifier">lower_bound
</span></a><span class=
"special">(
</span><span class=
"keyword">const
</span> <span class=
"identifier">value_type
</span> <span class=
"special">&</span><span class=
"special">)
</span> <span class=
"keyword">const
</span><span class=
"special">;
</span>
116 <span class=
"identifier">const_iterator
</span> <a class=
"link" href=
"interval_base_set.html#id654207-bb"><span class=
"identifier">upper_bound
</span></a><span class=
"special">(
</span><span class=
"keyword">const
</span> <span class=
"identifier">value_type
</span> <span class=
"special">&</span><span class=
"special">)
</span> <span class=
"keyword">const
</span><span class=
"special">;
</span>
117 <span class=
"identifier">std
</span><span class=
"special">::
</span><span class=
"identifier">pair
</span><span class=
"special"><</span> <span class=
"identifier">iterator
</span><span class=
"special">,
</span> <span class=
"identifier">iterator
</span> <span class=
"special">></span> <a class=
"link" href=
"interval_base_set.html#id654218-bb"><span class=
"identifier">equal_range
</span></a><span class=
"special">(
</span><span class=
"keyword">const
</span> <span class=
"identifier">key_type
</span> <span class=
"special">&</span><span class=
"special">)
</span><span class=
"special">;
</span>
118 <span class=
"identifier">std
</span><span class=
"special">::
</span><span class=
"identifier">pair
</span><span class=
"special"><</span> <span class=
"identifier">const_iterator
</span><span class=
"special">,
</span> <span class=
"identifier">const_iterator
</span> <span class=
"special">></span>
119 <a class=
"link" href=
"interval_base_set.html#id654228-bb"><span class=
"identifier">equal_range
</span></a><span class=
"special">(
</span><span class=
"keyword">const
</span> <span class=
"identifier">key_type
</span> <span class=
"special">&</span><span class=
"special">)
</span> <span class=
"keyword">const
</span><span class=
"special">;
</span>
121 <span class=
"comment">//
<a class=
"link" href=
"interval_base_set.html#id654294-bb">private member functions
</a></span>
122 <span class=
"identifier">iterator
</span> <a class=
"link" href=
"interval_base_set.html#id654297-bb"><span class=
"identifier">_add
</span></a><span class=
"special">(
</span><span class=
"keyword">const
</span> <span class=
"identifier">segment_type
</span> <span class=
"special">&</span><span class=
"special">)
</span><span class=
"special">;
</span>
123 <span class=
"identifier">iterator
</span> <a class=
"link" href=
"interval_base_set.html#id654308-bb"><span class=
"identifier">_add
</span></a><span class=
"special">(
</span><span class=
"identifier">iterator
</span><span class=
"special">,
</span> <span class=
"keyword">const
</span> <span class=
"identifier">segment_type
</span> <span class=
"special">&</span><span class=
"special">)
</span><span class=
"special">;
</span>
125 <span class=
"comment">//
<a class=
"link" href=
"interval_base_set.html#id654323-bb">protected member functions
</a></span>
126 <span class=
"keyword">void
</span> <a class=
"link" href=
"interval_base_set.html#id654326-bb"><span class=
"identifier">add_front
</span></a><span class=
"special">(
</span><span class=
"keyword">const
</span> <span class=
"identifier">interval_type
</span> <span class=
"special">&</span><span class=
"special">,
</span> <span class=
"identifier">iterator
</span> <span class=
"special">&</span><span class=
"special">)
</span><span class=
"special">;
</span>
127 <span class=
"keyword">void
</span> <a class=
"link" href=
"interval_base_set.html#id654341-bb"><span class=
"identifier">add_main
</span></a><span class=
"special">(
</span><span class=
"identifier">interval_type
</span> <span class=
"special">&</span><span class=
"special">,
</span> <span class=
"identifier">iterator
</span> <span class=
"special">&</span><span class=
"special">,
</span> <span class=
"keyword">const
</span> <span class=
"identifier">iterator
</span> <span class=
"special">&</span><span class=
"special">)
</span><span class=
"special">;
</span>
128 <span class=
"keyword">void
</span> <a class=
"link" href=
"interval_base_set.html#id654362-bb"><span class=
"identifier">add_segment
</span></a><span class=
"special">(
</span><span class=
"keyword">const
</span> <span class=
"identifier">interval_type
</span> <span class=
"special">&</span><span class=
"special">,
</span> <span class=
"identifier">iterator
</span> <span class=
"special">&</span><span class=
"special">)
</span><span class=
"special">;
</span>
129 <span class=
"keyword">void
</span> <a class=
"link" href=
"interval_base_set.html#id654377-bb"><span class=
"identifier">add_rear
</span></a><span class=
"special">(
</span><span class=
"keyword">const
</span> <span class=
"identifier">interval_type
</span> <span class=
"special">&</span><span class=
"special">,
</span> <span class=
"identifier">iterator
</span> <span class=
"special">&</span><span class=
"special">)
</span><span class=
"special">;
</span>
130 <span class=
"identifier">sub_type
</span> <span class=
"special">*
</span> <a class=
"link" href=
"interval_base_set.html#id654393-bb"><span class=
"identifier">that
</span></a><span class=
"special">(
</span><span class=
"special">)
</span><span class=
"special">;
</span>
131 <span class=
"keyword">const
</span> <span class=
"identifier">sub_type
</span> <span class=
"special">*
</span> <a class=
"link" href=
"interval_base_set.html#id654399-bb"><span class=
"identifier">that
</span></a><span class=
"special">(
</span><span class=
"special">)
</span> <span class=
"keyword">const
</span><span class=
"special">;
</span>
132 <span class=
"special">}
</span><span class=
"special">;
</span></pre></div>
133 <div class=
"refsect1" lang=
"en">
134 <a name=
"id1273517"></a><h2>Description
</h2>
135 <div class=
"refsect2" lang=
"en">
136 <a name=
"id1273521"></a><h3>
137 <a name=
"boost.icl.interval_base_setconstruct-copy-destruct"></a><code class=
"computeroutput">interval_base_set
</code>
139 construct/copy/destruct
</h3>
140 <div class=
"orderedlist"><ol type=
"1">
142 <pre class=
"literallayout"><a name=
"id654239-bb"></a><span class=
"identifier">interval_base_set
</span><span class=
"special">(
</span><span class=
"special">)
</span><span class=
"special">;
</span></pre>
143 <p>Default constructor for the empty object
</p>
146 <pre class=
"literallayout"><a name=
"id654244-bb"></a><span class=
"identifier">interval_base_set
</span><span class=
"special">(
</span><span class=
"keyword">const
</span> <a class=
"link" href=
"interval_base_set.html" title=
"Class template interval_base_set">interval_base_set
</a> <span class=
"special">&</span> src
<span class=
"special">)
</span><span class=
"special">;
</span></pre>
147 <p>Copy constructor
</p>
150 <pre class=
"literallayout"><a name=
"id654270-bb"></a><span class=
"identifier">interval_base_set
</span><span class=
"special">(
</span><a class=
"link" href=
"interval_base_set.html" title=
"Class template interval_base_set">interval_base_set
</a> <span class=
"special">&&</span> src
<span class=
"special">)
</span><span class=
"special">;
</span></pre>
151 <p>Move constructor
</p>
154 <pre class=
"literallayout">interval_base_set
& <a name=
"id654257-bb"></a><span class=
"keyword">operator
</span><span class=
"special">=
</span><span class=
"special">(
</span><span class=
"keyword">const
</span> <a class=
"link" href=
"interval_base_set.html" title=
"Class template interval_base_set">interval_base_set
</a> <span class=
"special">&</span> src
<span class=
"special">)
</span><span class=
"special">;
</span></pre>
155 <p>Assignment operator
</p>
158 <pre class=
"literallayout">interval_base_set
& <a name=
"id654282-bb"></a><span class=
"keyword">operator
</span><span class=
"special">=
</span><span class=
"special">(
</span><a class=
"link" href=
"interval_base_set.html" title=
"Class template interval_base_set">interval_base_set
</a> <span class=
"special">&&</span> src
<span class=
"special">)
</span><span class=
"special">;
</span></pre>
159 <p>Move assignment operator
</p>
163 <div class=
"refsect2" lang=
"en">
164 <a name=
"id1273718"></a><h3>
165 <a name=
"id653672-bb"></a><code class=
"computeroutput">interval_base_set
</code> public member functions
</h3>
166 <div class=
"orderedlist"><ol type=
"1">
168 <pre class=
"literallayout"><span class=
"keyword">typedef
</span> <a name=
"id653674-bb"></a><span class=
"identifier">ICL_INTERVAL_TYPE
</span><span class=
"special">(
</span><span class=
"identifier">Interval
</span><span class=
"special">,
</span> <span class=
"identifier">DomainT
</span><span class=
"special">,
</span> <span class=
"identifier">Compare
</span><span class=
"special">)
</span><span class=
"special">;
</span></pre>The interval type of the set.
</li>
170 <pre class=
"literallayout"><span class=
"keyword">typedef
</span> <a name=
"id653697-bb"></a><span class=
"identifier">ICL_COMPARE_DOMAIN
</span><span class=
"special">(
</span><span class=
"identifier">Compare
</span><span class=
"special">,
</span> <span class=
"identifier">DomainT
</span><span class=
"special">)
</span><span class=
"special">;
</span></pre>Comparison functor for domain values.
</li>
171 <li><pre class=
"literallayout"><span class=
"keyword">typedef
</span> <a name=
"id653715-bb"></a><span class=
"identifier">ICL_COMPARE_DOMAIN
</span><span class=
"special">(
</span><span class=
"identifier">Compare
</span><span class=
"special">,
</span> <span class=
"identifier">segment_type
</span><span class=
"special">)
</span><span class=
"special">;
</span></pre></li>
172 <li><pre class=
"literallayout"> <a name=
"id653730-bb"></a><span class=
"identifier">BOOST_STATIC_CONSTANT
</span><span class=
"special">(
</span><span class=
"keyword">int
</span><span class=
"special">,
</span> <span class=
"identifier">fineness
</span> <span class=
"special">=
</span> <span class=
"number">0</span><span class=
"special">)
</span><span class=
"special">;
</span></pre></li>
174 <pre class=
"literallayout"><span class=
"keyword">void
</span> <a name=
"id653747-bb"></a><span class=
"identifier">swap
</span><span class=
"special">(
</span><a class=
"link" href=
"interval_base_set.html" title=
"Class template interval_base_set">interval_base_set
</a> <span class=
"special">&</span> operand
<span class=
"special">)
</span><span class=
"special">;
</span></pre>
175 <p>swap the content of containers
</p>
178 <pre class=
"literallayout"><span class=
"keyword">void
</span> <a name=
"id653764-bb"></a><span class=
"identifier">clear
</span><span class=
"special">(
</span><span class=
"special">)
</span><span class=
"special">;
</span></pre>
179 <p>sets the container empty
</p>
182 <pre class=
"literallayout"><span class=
"keyword">bool
</span> <a name=
"id653774-bb"></a><span class=
"identifier">empty
</span><span class=
"special">(
</span><span class=
"special">)
</span> <span class=
"keyword">const
</span><span class=
"special">;
</span></pre>
183 <p>is the container empty?
</p>
186 <pre class=
"literallayout"><span class=
"identifier">size_type
</span> <a name=
"id653783-bb"></a><span class=
"identifier">size
</span><span class=
"special">(
</span><span class=
"special">)
</span> <span class=
"keyword">const
</span><span class=
"special">;
</span></pre>
187 <p>An interval set's size is it's cardinality
</p>
190 <pre class=
"literallayout"><span class=
"identifier">std
</span><span class=
"special">::
</span><span class=
"identifier">size_t
</span> <a name=
"id653793-bb"></a><span class=
"identifier">iterative_size
</span><span class=
"special">(
</span><span class=
"special">)
</span> <span class=
"keyword">const
</span><span class=
"special">;
</span></pre>
191 <p>Size of the iteration over this container
</p>
194 <pre class=
"literallayout"><span class=
"identifier">const_iterator
</span> <a name=
"id653802-bb"></a><span class=
"identifier">find
</span><span class=
"special">(
</span><span class=
"keyword">const
</span> <span class=
"identifier">element_type
</span> <span class=
"special">&</span> key_value
<span class=
"special">)
</span> <span class=
"keyword">const
</span><span class=
"special">;
</span></pre>
195 <p>Find the interval, that contains element
<code class=
"computeroutput">key_value
</code> </p>
198 <pre class=
"literallayout"><span class=
"identifier">const_iterator
</span> <a name=
"id653820-bb"></a><span class=
"identifier">find
</span><span class=
"special">(
</span><span class=
"keyword">const
</span> <span class=
"identifier">interval_type
</span> <span class=
"special">&</span> key_interval
<span class=
"special">)
</span> <span class=
"keyword">const
</span><span class=
"special">;
</span></pre>
199 <p>Find the first interval, that collides with interval
<code class=
"computeroutput">key_interval
</code> </p>
202 <pre class=
"literallayout"><span class=
"identifier">SubType
</span> <span class=
"special">&</span> <a name=
"id653838-bb"></a><span class=
"identifier">add
</span><span class=
"special">(
</span><span class=
"keyword">const
</span> <span class=
"identifier">element_type
</span> <span class=
"special">&</span> key
<span class=
"special">)
</span><span class=
"special">;
</span></pre>
203 <p>Add a single element
<code class=
"computeroutput">key
</code> to the set
</p>
206 <pre class=
"literallayout"><span class=
"identifier">SubType
</span> <span class=
"special">&</span> <a name=
"id653856-bb"></a><span class=
"identifier">add
</span><span class=
"special">(
</span><span class=
"keyword">const
</span> <span class=
"identifier">segment_type
</span> <span class=
"special">&</span> inter_val
<span class=
"special">)
</span><span class=
"special">;
</span></pre>
207 <p>Add an interval of elements
<code class=
"computeroutput">inter_val
</code> to the set
</p>
210 <pre class=
"literallayout"><span class=
"identifier">iterator
</span> <a name=
"id653874-bb"></a><span class=
"identifier">add
</span><span class=
"special">(
</span><span class=
"identifier">iterator
</span> prior_
<span class=
"special">,
</span> <span class=
"keyword">const
</span> <span class=
"identifier">segment_type
</span> <span class=
"special">&</span> inter_val
<span class=
"special">)
</span><span class=
"special">;
</span></pre>
211 <p>Add an interval of elements
<code class=
"computeroutput">inter_val
</code> to the set. Iterator
<code class=
"computeroutput">prior_
</code> is a hint to the position
<code class=
"computeroutput">inter_val
</code> can be inserted after.
</p>
214 <pre class=
"literallayout"><span class=
"identifier">SubType
</span> <span class=
"special">&</span> <a name=
"id653904-bb"></a><span class=
"identifier">subtract
</span><span class=
"special">(
</span><span class=
"keyword">const
</span> <span class=
"identifier">element_type
</span> <span class=
"special">&</span> key
<span class=
"special">)
</span><span class=
"special">;
</span></pre>
215 <p>Subtract a single element
<code class=
"computeroutput">key
</code> from the set
</p>
218 <pre class=
"literallayout"><span class=
"identifier">SubType
</span> <span class=
"special">&</span> <a name=
"id653922-bb"></a><span class=
"identifier">subtract
</span><span class=
"special">(
</span><span class=
"keyword">const
</span> <span class=
"identifier">segment_type
</span> <span class=
"special">&</span> inter_val
<span class=
"special">)
</span><span class=
"special">;
</span></pre>
219 <p>Subtract an interval of elements
<code class=
"computeroutput">inter_val
</code> from the set
</p>
222 <pre class=
"literallayout"><span class=
"identifier">SubType
</span> <span class=
"special">&</span> <a name=
"id653940-bb"></a><span class=
"identifier">insert
</span><span class=
"special">(
</span><span class=
"keyword">const
</span> <span class=
"identifier">element_type
</span> <span class=
"special">&</span> key
<span class=
"special">)
</span><span class=
"special">;
</span></pre>
223 <p>Insert an element
<code class=
"computeroutput">key
</code> into the set
</p>
226 <pre class=
"literallayout"><span class=
"identifier">SubType
</span> <span class=
"special">&</span> <a name=
"id653958-bb"></a><span class=
"identifier">insert
</span><span class=
"special">(
</span><span class=
"keyword">const
</span> <span class=
"identifier">segment_type
</span> <span class=
"special">&</span> inter_val
<span class=
"special">)
</span><span class=
"special">;
</span></pre>
227 <p>Insert an interval of elements
<code class=
"computeroutput">inter_val
</code> to the set
</p>
230 <pre class=
"literallayout"><span class=
"identifier">iterator
</span> <a name=
"id653976-bb"></a><span class=
"identifier">insert
</span><span class=
"special">(
</span><span class=
"identifier">iterator
</span> prior_
<span class=
"special">,
</span> <span class=
"keyword">const
</span> <span class=
"identifier">segment_type
</span> <span class=
"special">&</span> inter_val
<span class=
"special">)
</span><span class=
"special">;
</span></pre>
231 <p>Insert an interval of elements
<code class=
"computeroutput">inter_val
</code> to the set. Iterator
<code class=
"computeroutput">prior_
</code> is a hint to the position
<code class=
"computeroutput">inter_val
</code> can be inserted after.
</p>
234 <pre class=
"literallayout"><span class=
"identifier">SubType
</span> <span class=
"special">&</span> <a name=
"id654006-bb"></a><span class=
"identifier">erase
</span><span class=
"special">(
</span><span class=
"keyword">const
</span> <span class=
"identifier">element_type
</span> <span class=
"special">&</span> key
<span class=
"special">)
</span><span class=
"special">;
</span></pre>
235 <p>Erase an element
<code class=
"computeroutput">key
</code> from the set
</p>
238 <pre class=
"literallayout"><span class=
"identifier">SubType
</span> <span class=
"special">&</span> <a name=
"id654024-bb"></a><span class=
"identifier">erase
</span><span class=
"special">(
</span><span class=
"keyword">const
</span> <span class=
"identifier">segment_type
</span> <span class=
"special">&</span> inter_val
<span class=
"special">)
</span><span class=
"special">;
</span></pre>
239 <p>Erase an interval of elements
<code class=
"computeroutput">inter_val
</code> from the set
</p>
242 <pre class=
"literallayout"><span class=
"keyword">void
</span> <a name=
"id654042-bb"></a><span class=
"identifier">erase
</span><span class=
"special">(
</span><span class=
"identifier">iterator
</span> position
<span class=
"special">)
</span><span class=
"special">;
</span></pre>
243 <p>Erase the interval that iterator
<code class=
"computeroutput">position
</code> points to.
</p>
246 <pre class=
"literallayout"><span class=
"keyword">void
</span> <a name=
"id654060-bb"></a><span class=
"identifier">erase
</span><span class=
"special">(
</span><span class=
"identifier">iterator
</span> first
<span class=
"special">,
</span> <span class=
"identifier">iterator
</span> past
<span class=
"special">)
</span><span class=
"special">;
</span></pre>
247 <p>Erase all intervals in the range
<code class=
"computeroutput">[first,past)
</code> of iterators.
</p>
250 <pre class=
"literallayout"><span class=
"identifier">SubType
</span> <span class=
"special">&</span> <a name=
"id654083-bb"></a><span class=
"identifier">flip
</span><span class=
"special">(
</span><span class=
"keyword">const
</span> <span class=
"identifier">element_type
</span> <span class=
"special">&</span> key
<span class=
"special">)
</span><span class=
"special">;
</span></pre>
251 <p>If
<code class=
"computeroutput">*this
</code> set contains
<code class=
"computeroutput">key
</code> it is erased, otherwise it is added.
</p>
254 <pre class=
"literallayout"><span class=
"identifier">SubType
</span> <span class=
"special">&</span> <a name=
"id654105-bb"></a><span class=
"identifier">flip
</span><span class=
"special">(
</span><span class=
"keyword">const
</span> <span class=
"identifier">segment_type
</span> <span class=
"special">&</span> inter_val
<span class=
"special">)
</span><span class=
"special">;
</span></pre>
255 <p>If
<code class=
"computeroutput">*this
</code> set contains
<code class=
"computeroutput">inter_val
</code> it is erased, otherwise it is added.
</p>
257 <li><pre class=
"literallayout"><span class=
"identifier">iterator
</span> <a name=
"id654126-bb"></a><span class=
"identifier">begin
</span><span class=
"special">(
</span><span class=
"special">)
</span><span class=
"special">;
</span></pre></li>
258 <li><pre class=
"literallayout"><span class=
"identifier">iterator
</span> <a name=
"id654132-bb"></a><span class=
"identifier">end
</span><span class=
"special">(
</span><span class=
"special">)
</span><span class=
"special">;
</span></pre></li>
259 <li><pre class=
"literallayout"><span class=
"identifier">const_iterator
</span> <a name=
"id654138-bb"></a><span class=
"identifier">begin
</span><span class=
"special">(
</span><span class=
"special">)
</span> <span class=
"keyword">const
</span><span class=
"special">;
</span></pre></li>
260 <li><pre class=
"literallayout"><span class=
"identifier">const_iterator
</span> <a name=
"id654144-bb"></a><span class=
"identifier">end
</span><span class=
"special">(
</span><span class=
"special">)
</span> <span class=
"keyword">const
</span><span class=
"special">;
</span></pre></li>
261 <li><pre class=
"literallayout"><span class=
"identifier">reverse_iterator
</span> <a name=
"id654150-bb"></a><span class=
"identifier">rbegin
</span><span class=
"special">(
</span><span class=
"special">)
</span><span class=
"special">;
</span></pre></li>
262 <li><pre class=
"literallayout"><span class=
"identifier">reverse_iterator
</span> <a name=
"id654156-bb"></a><span class=
"identifier">rend
</span><span class=
"special">(
</span><span class=
"special">)
</span><span class=
"special">;
</span></pre></li>
263 <li><pre class=
"literallayout"><span class=
"identifier">const_reverse_iterator
</span> <a name=
"id654162-bb"></a><span class=
"identifier">rbegin
</span><span class=
"special">(
</span><span class=
"special">)
</span> <span class=
"keyword">const
</span><span class=
"special">;
</span></pre></li>
264 <li><pre class=
"literallayout"><span class=
"identifier">const_reverse_iterator
</span> <a name=
"id654168-bb"></a><span class=
"identifier">rend
</span><span class=
"special">(
</span><span class=
"special">)
</span> <span class=
"keyword">const
</span><span class=
"special">;
</span></pre></li>
265 <li><pre class=
"literallayout"><span class=
"identifier">iterator
</span> <a name=
"id654174-bb"></a><span class=
"identifier">lower_bound
</span><span class=
"special">(
</span><span class=
"keyword">const
</span> <span class=
"identifier">value_type
</span> <span class=
"special">&</span> interval
<span class=
"special">)
</span><span class=
"special">;
</span></pre></li>
266 <li><pre class=
"literallayout"><span class=
"identifier">iterator
</span> <a name=
"id654185-bb"></a><span class=
"identifier">upper_bound
</span><span class=
"special">(
</span><span class=
"keyword">const
</span> <span class=
"identifier">value_type
</span> <span class=
"special">&</span> interval
<span class=
"special">)
</span><span class=
"special">;
</span></pre></li>
267 <li><pre class=
"literallayout"><span class=
"identifier">const_iterator
</span> <a name=
"id654196-bb"></a><span class=
"identifier">lower_bound
</span><span class=
"special">(
</span><span class=
"keyword">const
</span> <span class=
"identifier">value_type
</span> <span class=
"special">&</span> interval
<span class=
"special">)
</span> <span class=
"keyword">const
</span><span class=
"special">;
</span></pre></li>
268 <li><pre class=
"literallayout"><span class=
"identifier">const_iterator
</span> <a name=
"id654207-bb"></a><span class=
"identifier">upper_bound
</span><span class=
"special">(
</span><span class=
"keyword">const
</span> <span class=
"identifier">value_type
</span> <span class=
"special">&</span> interval
<span class=
"special">)
</span> <span class=
"keyword">const
</span><span class=
"special">;
</span></pre></li>
269 <li><pre class=
"literallayout"><span class=
"identifier">std
</span><span class=
"special">::
</span><span class=
"identifier">pair
</span><span class=
"special"><</span> <span class=
"identifier">iterator
</span><span class=
"special">,
</span> <span class=
"identifier">iterator
</span> <span class=
"special">></span> <a name=
"id654218-bb"></a><span class=
"identifier">equal_range
</span><span class=
"special">(
</span><span class=
"keyword">const
</span> <span class=
"identifier">key_type
</span> <span class=
"special">&</span> interval
<span class=
"special">)
</span><span class=
"special">;
</span></pre></li>
270 <li><pre class=
"literallayout"><span class=
"identifier">std
</span><span class=
"special">::
</span><span class=
"identifier">pair
</span><span class=
"special"><</span> <span class=
"identifier">const_iterator
</span><span class=
"special">,
</span> <span class=
"identifier">const_iterator
</span> <span class=
"special">></span>
271 <a name=
"id654228-bb"></a><span class=
"identifier">equal_range
</span><span class=
"special">(
</span><span class=
"keyword">const
</span> <span class=
"identifier">key_type
</span> <span class=
"special">&</span> interval
<span class=
"special">)
</span> <span class=
"keyword">const
</span><span class=
"special">;
</span></pre></li>
274 <div class=
"refsect2" lang=
"en">
275 <a name=
"id1275534"></a><h3>
276 <a name=
"id654294-bb"></a><code class=
"computeroutput">interval_base_set
</code> private member functions
</h3>
277 <div class=
"orderedlist"><ol type=
"1">
278 <li><pre class=
"literallayout"><span class=
"identifier">iterator
</span> <a name=
"id654297-bb"></a><span class=
"identifier">_add
</span><span class=
"special">(
</span><span class=
"keyword">const
</span> <span class=
"identifier">segment_type
</span> <span class=
"special">&</span> addend
<span class=
"special">)
</span><span class=
"special">;
</span></pre></li>
279 <li><pre class=
"literallayout"><span class=
"identifier">iterator
</span> <a name=
"id654308-bb"></a><span class=
"identifier">_add
</span><span class=
"special">(
</span><span class=
"identifier">iterator
</span> prior
<span class=
"special">,
</span> <span class=
"keyword">const
</span> <span class=
"identifier">segment_type
</span> <span class=
"special">&</span> addend
<span class=
"special">)
</span><span class=
"special">;
</span></pre></li>
282 <div class=
"refsect2" lang=
"en">
283 <a name=
"id1275641"></a><h3>
284 <a name=
"id654323-bb"></a><code class=
"computeroutput">interval_base_set
</code> protected member functions
</h3>
285 <div class=
"orderedlist"><ol type=
"1">
286 <li><pre class=
"literallayout"><span class=
"keyword">void
</span> <a name=
"id654326-bb"></a><span class=
"identifier">add_front
</span><span class=
"special">(
</span><span class=
"keyword">const
</span> <span class=
"identifier">interval_type
</span> <span class=
"special">&</span> inter_val
<span class=
"special">,
</span> <span class=
"identifier">iterator
</span> <span class=
"special">&</span> first_
<span class=
"special">)
</span><span class=
"special">;
</span></pre></li>
287 <li><pre class=
"literallayout"><span class=
"keyword">void
</span> <a name=
"id654341-bb"></a><span class=
"identifier">add_main
</span><span class=
"special">(
</span><span class=
"identifier">interval_type
</span> <span class=
"special">&</span> inter_val
<span class=
"special">,
</span> <span class=
"identifier">iterator
</span> <span class=
"special">&</span> it_
<span class=
"special">,
</span>
288 <span class=
"keyword">const
</span> <span class=
"identifier">iterator
</span> <span class=
"special">&</span> last_
<span class=
"special">)
</span><span class=
"special">;
</span></pre></li>
289 <li><pre class=
"literallayout"><span class=
"keyword">void
</span> <a name=
"id654362-bb"></a><span class=
"identifier">add_segment
</span><span class=
"special">(
</span><span class=
"keyword">const
</span> <span class=
"identifier">interval_type
</span> <span class=
"special">&</span> inter_val
<span class=
"special">,
</span> <span class=
"identifier">iterator
</span> <span class=
"special">&</span> it_
<span class=
"special">)
</span><span class=
"special">;
</span></pre></li>
290 <li><pre class=
"literallayout"><span class=
"keyword">void
</span> <a name=
"id654377-bb"></a><span class=
"identifier">add_rear
</span><span class=
"special">(
</span><span class=
"keyword">const
</span> <span class=
"identifier">interval_type
</span> <span class=
"special">&</span> inter_val
<span class=
"special">,
</span> <span class=
"identifier">iterator
</span> <span class=
"special">&</span> it_
<span class=
"special">)
</span><span class=
"special">;
</span></pre></li>
291 <li><pre class=
"literallayout"><span class=
"identifier">sub_type
</span> <span class=
"special">*
</span> <a name=
"id654393-bb"></a><span class=
"identifier">that
</span><span class=
"special">(
</span><span class=
"special">)
</span><span class=
"special">;
</span></pre></li>
292 <li><pre class=
"literallayout"><span class=
"keyword">const
</span> <span class=
"identifier">sub_type
</span> <span class=
"special">*
</span> <a name=
"id654399-bb"></a><span class=
"identifier">that
</span><span class=
"special">(
</span><span class=
"special">)
</span> <span class=
"keyword">const
</span><span class=
"special">;
</span></pre></li>
297 <table xmlns:
rev=
"http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width=
"100%"><tr>
298 <td align=
"left"></td>
299 <td align=
"right"><div class=
"copyright-footer">Copyright
© 2007 -
2010 Joachim Faulhaber
<br>Copyright
© 1999 -
2006 Cortex Software GmbH
<p>
300 Distributed under the Boost Software License, Version
1.0. (See accompanying
301 file LICENSE_1_0.txt or copy at
<a href=
"http://www.boost.org/LICENSE_1_0.txt" target=
"_top">http://www.boost.org/LICENSE_1_0.txt
</a>)
306 <div class=
"spirit-nav">
307 <a accesskey=
"p" href=
"../../header/boost/icl/interval_base_set_hpp.html"><img src=
"../../../../../../doc/src/images/prev.png" alt=
"Prev"></a><a accesskey=
"u" href=
"../../header/boost/icl/interval_base_set_hpp.html"><img src=
"../../../../../../doc/src/images/up.png" alt=
"Up"></a><a accesskey=
"h" href=
"../../index.html"><img src=
"../../../../../../doc/src/images/home.png" alt=
"Home"></a><a accesskey=
"n" href=
"is_set_icl_interv_id654405.html"><img src=
"../../../../../../doc/src/images/next.png" alt=
"Next"></a>