-struct Component{
- Component(int b,int e,int s):begin(b),end(e),sign(s){}
- bool operator==(const Component& c){
- return begin == c.begin && end == c.end && sign == c.sign;
+/**
+ * Simple interval struct, holds the indexes + information if the interval is
+ * oriented or not.
+ */
+struct Interval{
+ Interval(size_t f,size_t s,bool o = false):first(f),second(s),oriented(o){}
+ bool operator==(const Interval& i){
+ return first == i.first && second == i.second && oriented == i.oriented;