Mercurial > repos > aaronquinlan > multi_intersect
comparison BEDTools-Version-2.14.3/src/multiIntersectBed/intervalItem.h @ 0:dfcd8b6c1bda
Uploaded
author | aaronquinlan |
---|---|
date | Thu, 03 Nov 2011 10:25:04 -0400 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:dfcd8b6c1bda |
---|---|
1 /***************************************************************************** | |
2 intervalItem.h | |
3 | |
4 (c) 2010 - Assaf Gordon | |
5 Hall Laboratory | |
6 Department of Biochemistry and Molecular Genetics | |
7 University of Virginia | |
8 aaronquinlan@gmail.com | |
9 | |
10 Licenced under the GNU General Public License 2.0 license. | |
11 ******************************************************************************/ | |
12 #ifndef INTERVALITEM_H | |
13 #define INTERVALITEM_H | |
14 | |
15 #include <string> | |
16 #include <queue> | |
17 | |
18 enum COORDINATE_TYPE { | |
19 START, | |
20 END | |
21 }; | |
22 | |
23 /* | |
24 An interval item in the priority queue. | |
25 | |
26 An IntervalItem can mark either a START position or an END position. | |
27 */ | |
28 class IntervalItem | |
29 { | |
30 | |
31 | |
32 public: | |
33 int source_index; // which source BedGraph file this came from | |
34 COORDINATE_TYPE coord_type; // is this the start or the end position? | |
35 CHRPOS coord; | |
36 | |
37 IntervalItem () : | |
38 source_index(-1), | |
39 coord_type(START), | |
40 coord(0) | |
41 {} | |
42 | |
43 IntervalItem(int _index, COORDINATE_TYPE _type, CHRPOS _coord) : | |
44 source_index(_index), | |
45 coord_type(_type), | |
46 coord(_coord) | |
47 {} | |
48 | |
49 IntervalItem(const IntervalItem &other) : | |
50 source_index(other.source_index), | |
51 coord_type(other.coord_type), | |
52 coord(other.coord) | |
53 {} | |
54 | |
55 bool operator< ( const IntervalItem& other ) const | |
56 { | |
57 return this->coord > other.coord; | |
58 } | |
59 }; | |
60 | |
61 // our priority queue | |
62 typedef std::priority_queue<IntervalItem> INTERVALS_PRIORITY_QUEUE; | |
63 | |
64 #endif |