| 107 | return cur->second.front(); |
| 108 | } |
| 109 | T pop_front() { |
| 110 | ceph_assert(!(q.empty())); |
| 111 | ceph_assert(cur != q.end()); |
| 112 | T ret = std::move(cur->second.front().second); |
| 113 | cur->second.pop_front(); |
| 114 | if (cur->second.empty()) { |
| 115 | q.erase(cur++); |
| 116 | } else { |
| 117 | ++cur; |
| 118 | } |
| 119 | if (cur == q.end()) { |
| 120 | cur = q.begin(); |
| 121 | } |
| 122 | size--; |
| 123 | return ret; |
| 124 | } |
| 125 | unsigned length() const { |
| 126 | ceph_assert(size >= 0); |
| 127 | return (unsigned)size; |
no test coverage detected