00001 /* 00002 * ConsistentPhrases.h 00003 * 00004 * Created on: 20 Feb 2014 00005 * Author: hieu 00006 */ 00007 #pragma once 00008 00009 #include <set> 00010 #include <vector> 00011 #include <iostream> 00012 #include "ConsistentPhrase.h" 00013 00014 class Word; 00015 class Parameter; 00016 00017 class ConsistentPhrases 00018 { 00019 public: 00020 typedef std::set<ConsistentPhrase*> Coll; 00021 00022 ConsistentPhrases(); 00023 virtual ~ConsistentPhrases(); 00024 00025 void Initialize(size_t size); 00026 00027 void Add(int sourceStart, int sourceEnd, 00028 int targetStart, int targetEnd, 00029 const Parameter ¶ms); 00030 00031 void AddHieroNonTerms(const Parameter ¶ms); 00032 00033 const Coll &GetColl(int sourceStart, int sourceEnd) const; 00034 Coll &GetColl(int sourceStart, int sourceEnd); 00035 00036 std::string Debug() const; 00037 00038 protected: 00039 std::vector< std::vector<Coll> > m_coll; 00040 }; 00041