#include "misc.h"
/**
- * Stores a gene order permutation and ensures that all genes are present and not duplicated.
+ * Stores a gene order permutation and ensures that all genes are present
+ * and not duplicated.
+ *
+ * It has limited support for acting as an STL container, but still maintaining
+ * the invariant of a permutation starting with 0 and ending with n, with all
+ * genes present.
+ *
* \author Michael Andreen
*/
class GeneOrder{
*/
iterator end() const;
+ /**
+ * Reverserses the interval [i,j], changing the sign on all elements
+ * affected.
+ *
+ * \throws std::out_of_range if i is smaller than 0 or bigger than n.
+ */
+ void reverse(size_type i, size_type j);
+
private:
GeneList _geneorder;