mosesdecoder/moses/Bitmaps.h

33 lines
793 B
C
Raw Normal View History

#pragma once
#include <boost/unordered_set.hpp>
#include <boost/unordered_map.hpp>
#include <set>
2015-10-25 16:07:25 +03:00
#include "Bitmap.h"
#include "Util.h"
namespace Moses
{
class Bitmaps
{
2015-10-25 16:37:59 +03:00
typedef boost::unordered_map<Range, const Bitmap*> NextBitmaps;
2015-10-25 16:07:25 +03:00
typedef boost::unordered_map<const Bitmap*, NextBitmaps, UnorderedComparer<Bitmap>, UnorderedComparer<Bitmap> > Coll;
//typedef std::set<const Bitmap*, OrderedComparer<Bitmap> > Coll;
2015-10-18 15:30:02 +03:00
Coll m_coll;
2015-10-25 16:07:25 +03:00
const Bitmap *m_initBitmap;
2015-10-25 16:37:59 +03:00
const Bitmap &GetNextBitmap(const Bitmap &bm, const Range &range);
public:
Bitmaps(size_t inputSize, const std::vector<bool> &initSourceCompleted);
2015-10-18 15:30:02 +03:00
virtual ~Bitmaps();
2015-10-25 16:07:25 +03:00
const Bitmap &GetInitialBitmap() const {
2015-10-20 22:16:07 +03:00
return *m_initBitmap;
}
2015-10-25 16:37:59 +03:00
const Bitmap &GetBitmap(const Bitmap &bm, const Range &range);
};
}