+
+ virtual bool operator<(const SortActionImpl& sa) const{
+ if (const ReverseAction* psa = dynamic_cast<const ReverseAction*>(&sa)){
+ if (_i < psa->_i || (_i == psa->_i && _j < psa->_j))
+ return true;
+ }
+ return false;
+ }
+
+ /**
+ * Gives a string representation of the action, for output
+ */
+ virtual std::string toString() const{
+ std::ostringstream os;
+ os << "[" << _i << "," << _j << "]";
+ return os.str();
+ }
+
+ size_t i() const{
+ return _i;
+ }
+ size_t j() const{
+ return _j;
+ }
+
+