00001 #pragma once 00002 00003 #include <vector> 00004 00005 #include "moses/ScoreComponentCollection.h" 00006 #include "moses/TargetPhraseCollection.h" 00007 00008 #include "SVertexStack.h" 00009 00010 namespace Moses 00011 { 00012 namespace Syntax 00013 { 00014 00015 struct PVertex; 00016 00017 struct SHyperedgeBundle { 00018 float inputWeight; 00019 std::vector<const SVertexStack*> stacks; 00020 TargetPhraseCollection::shared_ptr translations; 00021 00022 friend void swap(SHyperedgeBundle &x, SHyperedgeBundle &y) { 00023 using std::swap; 00024 swap(x.inputWeight, y.inputWeight); 00025 swap(x.stacks, y.stacks); 00026 swap(x.translations, y.translations); 00027 } 00028 }; 00029 00030 } // Syntax 00031 } // Moses