blob: d7225737e265046d43f816805e92880c71f8dec2 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
#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 CXX11_OVERRIDE
{
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
|