#ifndef __MISC_H__
#define __MISC_H__
+/**
+ * The type we use for genes, has to be a signed integer type.
+ */
typedef int Gene;
+/**
+ * Simple struct for components. Holds the indexes, the first and last genes
+ * + information if the component is unoriented.
+ */
+struct Component{
+ Component(int b = 0,int e = 0,int s = 0,size_t i1 = 0, size_t i2 = 0):begin(b),end(e),sign(s),i1(i1), i2(i2){}
+ bool operator==(const Component& c){
+ return begin == c.begin && end == c.end && sign == c.sign && i1 == c.i1 && i2 == c.i2;
+ }
+ int begin;
+ int end;
+ int sign;
+ size_t i1;
+ size_t i2;
+};
+
#endif