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 SVertexRecombinationHasher
00013 {
00014 public:
00015 std::size_t operator()(const SVertex *v) const {
00016 std::size_t seed = 0;
00017 for (std::vector<FFState*>::const_iterator p = v->states.begin();
00018 p != v->states.end(); ++p) {
00019 boost::hash_combine(seed, (*p)->hash());
00020 }
00021 return seed;
00022 }
00023 };
00024
00025 }
00026 }