#ifndef __TERCPPTERSHIFT_H__ #define __TERCPPTERSHIFT_H__ #include #include #include #include #include "tools.h" using namespace std; using namespace Tools; namespace TERCpp { class terShift { private: public: terShift(); terShift ( int _start, int _end, int _moveto, int _newloc ); terShift ( int _start, int _end, int _moveto, int _newloc, vector _shifted ); string toString(); int distance() ; bool leftShift(); int size(); // terShift operator=(terShift t); // string vectorToString(vector vec); int start; int end; int moveto; int newloc; vector shifted; // The words we shifted vector alignment ; // for pra_more output vector aftershift; // for pra_more output // This is used to store the cost of a shift, so we don't have to // calculate it multiple times. double cost; }; } #endif // __TERCPPTERSHIFT_H__