// -*- mode: c++; indent-tabs-mode: nil; tab-width: 2 -*- #pragma once #include #include "moses/Parameter.h" #include "OptionsBaseClass.h" #include "SearchOptions.h" #include "CubePruningOptions.h" #include "NBestOptions.h" #include "ReorderingOptions.h" #include "ContextParameters.h" #include "InputOptions.h" #include "MBR_Options.h" #include "LMBR_Options.h" #include "ReportingOptions.h" #include "OOVHandlingOptions.h" #include "SyntaxOptions.h" #include namespace Moses { struct AllOptions : public OptionsBaseClass { typedef boost::shared_ptr ptr; SearchOptions search; CubePruningOptions cube; NBestOptions nbest; ReorderingOptions reordering; ContextParameters context; InputOptions input; MBR_Options mbr; LMBR_Options lmbr; ReportingOptions output; OOVHandlingOptions unk; SyntaxOptions syntax; bool mira; bool use_legacy_pt; // StackOptions stack; // BeamSearchOptions beam; bool init(Parameter const& param); bool sanity_check(); AllOptions(); AllOptions(Parameter const& param); bool update(std::mapconst& param); bool NBestDistinct() const; }; }