mosesdecoder/mert/TERsrc/terShift.h
2011-11-12 07:59:50 +09:00

45 lines
935 B
C++

#ifndef __TERCPPTERSHIFT_H__
#define __TERCPPTERSHIFT_H__
#include <vector>
#include <stdio.h>
#include <string>
#include <sstream>
#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<string> _shifted );
string toString();
int distance() ;
bool leftShift();
int size();
// terShift operator=(terShift t);
// string vectorToString(vector<string> vec);
int start;
int end;
int moveto;
int newloc;
vector<string> shifted; // The words we shifted
vector<char> alignment ; // for pra_more output
vector<string> 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__