00001 // $Id$ 00002 #pragma once 00003 00004 #include "TranslationOptionCollection.h" 00005 #include "InputPath.h" 00006 00007 namespace Moses 00008 { 00009 00010 class WordLattice; 00011 00015 class TranslationOptionCollectionLattice : public TranslationOptionCollection 00016 { 00017 protected: 00018 /* forcibly create translation option for a 1 word. 00019 * call the base class' ProcessOneUnknownWord() for each possible word in the confusion network 00020 * at a particular source position 00021 */ 00022 void ProcessUnknownWord(size_t sourcePos); // do not implement 00023 00024 public: 00025 TranslationOptionCollectionLattice(ttasksptr const& ttask, const WordLattice &source); 00026 // , size_t maxNoTransOptPerCoverage, float translationOptionThreshold); 00027 00028 void CreateTranslationOptions(); 00029 00030 bool 00031 CreateTranslationOptionsForRange 00032 (const DecodeGraph &decodeStepList, size_t startPosition, size_t endPosition, 00033 bool adhereTableLimit, size_t graphInd); // do not implement 00034 00035 protected: 00036 void Extend(const InputPath &prevPath, const WordLattice &input, 00037 size_t const maxPhraseLength); 00038 00039 }; 00040 00041 } 00042