* �������е��ڵĶ�ʱ���� * @return {long long} ������һ�����������Ķ�ʱ�����ʱ��أ����� -1 * ��ʾû�ж�ʱ���� */
| 154 | * ��ʾû�ж�ʱ���� |
| 155 | */ |
| 156 | long long trigger() { |
| 157 | long long key = get_curr_stamp(); |
| 158 | std::vector<trigger_item<T>*> items; |
| 159 | trigger_iter_t iter; |
| 160 | for (iter = items_.begin(); iter != items_.end();) { |
| 161 | if (iter->first > key) { |
| 162 | break; |
| 163 | } |
| 164 | |
| 165 | items.push_back(iter->second); |
| 166 | items_.erase(iter++); |
| 167 | } |
| 168 | |
| 169 | for (typename std::vector<trigger_item<T>*>::iterator |
| 170 | it = items.begin(); it != items.end(); ++it) { |
| 171 | |
| 172 | trigger(*it); |
| 173 | delete *it; |
| 174 | } |
| 175 | |
| 176 | iter = items_.begin(); |
| 177 | if (iter == items_.end()) { |
| 178 | return -1; |
| 179 | } |
| 180 | return iter->first; |
| 181 | } |
| 182 | |
| 183 | private: |
| 184 | trigger_items_t items_; |
no test coverage detected