mosesdecoder/moses/Bitmaps.h

30 lines
745 B
C
Raw Normal View History

#pragma once
#include <boost/unordered_set.hpp>
2015-10-19 15:49:08 +03:00
#include <set>
#include "WordsBitmap.h"
#include "Util.h"
namespace Moses
{
class Bitmaps
{
typedef boost::unordered_set<WordsRange, const WordsBitmap*> NextBitmaps;
typedef boost::unordered_set<const WordsBitmap*, UnorderedComparer<WordsBitmap>, UnorderedComparer<WordsBitmap> > Coll;
2015-10-19 15:49:08 +03:00
//typedef std::set<const WordsBitmap*, OrderedComparer<WordsBitmap> > Coll;
2015-10-18 15:30:02 +03:00
Coll m_coll;
2015-10-19 15:49:08 +03:00
const WordsBitmap *m_initBitmap;
public:
2015-10-19 15:49:08 +03:00
Bitmaps(size_t inputSize);
2015-10-18 15:30:02 +03:00
virtual ~Bitmaps();
2015-10-19 15:49:08 +03:00
const WordsBitmap &GetInitialBitmap() const
{ return *m_initBitmap; }
const WordsBitmap &GetBitmap(const WordsBitmap &bm);
2015-10-19 15:49:08 +03:00
const WordsBitmap &GetBitmap(const WordsBitmap &bm, const WordsRange &range);
};
}