#include "sortaction.h"
#include "genealgorithms.h"
+#include "geneorder.h"
#include <algorithm>
#include <sstream>
*
* \author Michael Andreen
*/
-class ReverseAction : public SortAction{
+class ReverseAction : public SortActionImpl{
public:
/**
* Creates a new reverse action for the interval [i,j]
*/
- ReverseAction(size_t i, size_t j): SortAction(0),_i(i),_j(j){
+ ReverseAction(size_t i, size_t j): _i(i),_j(j){
}
- ReverseAction(Interval i): SortAction(0){
+
+ ReverseAction(Interval i){
_i = std::min(i.first,i.second);
_j = std::max(i.first,i.second)-1;
}
return go;
}
- virtual bool operator==(const SortAction& sa) const{
+ virtual bool operator==(const SortActionImpl& sa) const{
if (const ReverseAction* psa = dynamic_cast<const ReverseAction*>(&sa)){
if (_i == psa->_i && _j == psa->_j)
return true;
os << "[" << _i << "," << _j << "]";
return os.str();
}
+
+ size_t i() const{
+ return _i;
+ }
+ size_t j() const{
+ return _j;
+ }
+
+
private:
size_t _i;
size_t _j;