/* */ #ifndef D_PRIORITY_PIECE_SELECTOR_H #define D_PRIORITY_PIECE_SELECTOR_H #include "PieceSelector.h" #include #include namespace aria2 { class PriorityPieceSelector:public PieceSelector { private: std::vector prioritizedPieces_; std::shared_ptr selector_; public: PriorityPieceSelector(const std::shared_ptr& selector); virtual bool select (size_t& index, const unsigned char* bitfield, size_t nbits) const CXX11_OVERRIDE; template void setPriorityPiece(InputIterator first, InputIterator last) { std::vector t(first, last); prioritizedPieces_.swap(t); } }; } // namespace aria2 #endif // D_PRIORITY_PIECE_SELECTOR_H