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