mirror of https://github.com/aria2/aria2
				
				
				
			
		
			
				
	
	
		
			27 lines
		
	
	
		
			522 B
		
	
	
	
		
			C++
		
	
	
			
		
		
	
	
			27 lines
		
	
	
		
			522 B
		
	
	
	
		
			C++
		
	
	
#ifndef D_IN_ORDER_PIECE_SELECTOR_H
 | 
						|
#define D_IN_ORDER_PIECE_SELECTOR_H
 | 
						|
 | 
						|
#include "PieceSelector.h"
 | 
						|
#include "bitfield.h"
 | 
						|
 | 
						|
namespace aria2 {
 | 
						|
 | 
						|
class InOrderPieceSelector:public PieceSelector {
 | 
						|
public:
 | 
						|
  virtual bool select
 | 
						|
  (size_t& index, const unsigned char* bitfield, size_t nbits) const
 | 
						|
  {
 | 
						|
    for(size_t i = 0; i < nbits; ++i) {
 | 
						|
      if(bitfield::test(bitfield, nbits, i)) {
 | 
						|
        index = i;
 | 
						|
        return true;
 | 
						|
      }
 | 
						|
    }
 | 
						|
    return false;
 | 
						|
  }
 | 
						|
};
 | 
						|
 | 
						|
} // namespace aria2
 | 
						|
 | 
						|
#endif // D_IN_ORDER_PIECE_SELECTOR_H
 |