MCPcopy Create free account
hub / github.com/acl-dev/acl / trigger

Method trigger

lib_acl_cpp/include/acl_cpp.cn/stdlib/trigger.hpp:156–181  ·  view source on GitHub ↗

* �������е��ڵĶ�ʱ���� * @return {long long} ������һ�����������Ķ�ʱ�����ʱ��أ����� -1 * ��ʾû�ж�ʱ���� */

Source from the content-addressed store, hash-verified

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
183private:
184 trigger_items_t items_;

Callers 1

runMethod · 0.45

Calls 9

get_curr_stampFunction · 0.85
beginMethod · 0.80
get_ttlMethod · 0.80
endMethod · 0.45
push_backMethod · 0.45
on_triggerMethod · 0.45
findMethod · 0.45
addMethod · 0.45
set_keyMethod · 0.45

Tested by

no test coverage detected