]> git.donarmstrong.com Git - lilypond.git/blob - flower/include/interval-set.hh
* flower/include/std-string.hh:
[lilypond.git] / flower / include / interval-set.hh
1 /*
2   interval-set.hh -- declare Interval_set
3
4   source file of the GNU LilyPond music typesetter
5
6   (c) 2004 Han-Wen Nienhuys <hanwen@xs4all.nl>
7 */
8
9 #ifndef INTERVAL_SET_HH
10 #define INTERVAL_SET_HH
11
12 #include "std-vector.hh"
13 #include "interval.hh"
14
15 /*
16   A union of intervals in the real line.
17
18   Abysmal performance (quadratic) for large N, hopefully we don't have
19   that large N. In any case, this should probably be rewritten to use
20   a balanced tree.
21 */
22 struct Interval_set
23 {
24   vector<Interval> allowed_regions_;
25
26   Interval_set ();
27   void set_full ();
28   void remove_interval (Interval rm);
29 };
30
31 #endif /* INTERVAL_SET_HH */