00001 // -*- mode: c++; indent-tabs-mode: nil; tab-width:2 -*- 00002 #include "ug_conll_record.h" 00003 namespace sapt 00004 { 00005 Conll_Record 00006 Conll_Record:: 00007 remap(std::vector<id_type const*> const& m) const 00008 { 00009 Conll_Record ret; 00010 ret.sform = m.size() > 0 && m[0] ? m[0][this->sform] : this->sform; 00011 ret.lemma = m.size() > 1 && m[1] ? m[1][this->lemma] : this->lemma; 00012 ret.majpos = m.size() > 2 && m[2] ? m[2][this->majpos] : this->majpos; 00013 ret.minpos = m.size() > 2 && m[2] ? m[2][this->minpos] : this->minpos; 00014 ret.dtype = m.size() > 3 && m[3] ? m[3][this->dtype] : this->dtype; 00015 ret.info[0] = m.size() > 4 && m[4] ? m[4][this->info[0]] : this->info[0]; 00016 ret.info[1] = m.size() > 5 && m[5] ? m[5][this->info[1]] : this->info[1]; 00017 ret.info[2] = m.size() > 6 && m[6] ? m[6][this->info[2]] : this->info[2]; 00018 ret.parent = this->parent; 00019 return ret; 00020 } 00021 }