00001 #pragma once 00002 00003 #include "moses/FF/FFState.h" 00004 00005 #include "SVertex.h" 00006 00007 namespace Moses 00008 { 00009 namespace Syntax 00010 { 00011 00012 class SVertexRecombinationEqualityPred 00013 { 00014 public: 00015 bool operator()(const SVertex *v1, const SVertex *v2) const { 00016 assert(v1->states.size() == v2->states.size()); 00017 for (std::size_t i = 0; i < v1->states.size(); ++i) { 00018 if (*(v1->states[i]) != *(v2->states[i])) { 00019 return false; 00020 } 00021 } 00022 return true; 00023 } 00024 }; 00025 00026 } // Syntax 00027 } // Moses