// $Id$ #pragma once #include "TranslationOptionCollection.h" #include "InputPath.h" namespace Moses { class WordLattice; /** Holds all translation options, for all spans, of a lattice input. NOT confusion networks * No legacy phrase-tables, CANNOT be used with Zen's binary phrase-table. */ class TranslationOptionCollectionLattice : public TranslationOptionCollection { protected: /* forcibly create translation option for a 1 word. * call the base class' ProcessOneUnknownWord() for each possible word in the confusion network * at a particular source position */ void ProcessUnknownWord(size_t sourcePos); // do not implement public: TranslationOptionCollectionLattice(const WordLattice &source, size_t maxNoTransOptPerCoverage, float translationOptionThreshold); void CreateTranslationOptions(); void CreateTranslationOptionsForRange(const DecodeGraph &decodeStepList , size_t startPosition , size_t endPosition , bool adhereTableLimit , size_t graphInd); // do not implement protected: }; }