diff options
| author | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2016-04-15 23:54:10 +0900 |
|---|---|---|
| committer | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2016-04-15 23:54:10 +0900 |
| commit | 2e0e8ed0e5722de51a30885d4a4f164deeb842a7 (patch) | |
| tree | 261937fab924358a7a265155b13ccac65a771ad2 /src/SequentialPicker.h | |
| parent | 302bdfd9a0d5b199f8dffa323b5b29fe7ca2745b (diff) | |
Amend
Diffstat (limited to 'src/SequentialPicker.h')
| -rw-r--r-- | src/SequentialPicker.h | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/src/SequentialPicker.h b/src/SequentialPicker.h index c464be78..eb4489b0 100644 --- a/src/SequentialPicker.h +++ b/src/SequentialPicker.h @@ -43,7 +43,7 @@ namespace aria2 { template <typename T> class SequentialPicker { -protected: +private: std::deque<std::unique_ptr<T>> entries_; std::unique_ptr<T> pickedEntry_; @@ -72,6 +72,21 @@ public: } size_t countEntryInQueue() const { return entries_.size(); } + + bool isPicked(const std::function<bool(const T&)>& pred) const + { + return pickedEntry_ && pred(*pickedEntry_); + } + + bool isQueued(const std::function<bool(const T&)>& pred) const + { + for (auto& e : entries_) { + if (pred(*e)) { + return true; + } + } + return false; + } }; } // namespace aria2 |
