#pragma once #include #include #include #include #include "Bitmap.h" #include "Util2.h" namespace Moses2 { class MemPool; class Bitmaps { typedef boost::unordered_map NextBitmaps; typedef boost::unordered_map, UnorderedComparer > Coll; //typedef std::set > Coll; Coll m_coll; Bitmap *m_initBitmap; MemPool &m_pool; std::stack m_recycler; const Bitmap &GetNextBitmap(const Bitmap &bm, const Range &range); public: Bitmaps(MemPool &pool); virtual ~Bitmaps(); void Init(size_t inputSize, const std::vector &initSourceCompleted); const Bitmap &GetInitialBitmap() const { return *m_initBitmap; } const Bitmap &GetBitmap(const Bitmap &bm, const Range &range); }; }