static void* add_loop(void* arg) { int64_t* const var(static_cast<int64_t*>(arg)); for (int i(iterations); --i;) { gu_atomic_fetch_and_add(var, increment); } return NULL; }
Atomic<I>& operator+=(const I i) { gu_atomic_fetch_and_add(&i_, i); return *this; }
Atomic<I>& operator++() { gu_atomic_fetch_and_add(&i_, 1); return *this; }
I fetch_and_add(const I i) { return gu_atomic_fetch_and_add(&i_, i); }