18 #ifndef LUNCHBOX_SPINLOCK_H
19 #define LUNCHBOX_SPINLOCK_H
21 #include <lunchbox/atomic.h>
22 #include <lunchbox/nonCopyable.h>
23 #include <lunchbox/thread.h>
27 namespace detail {
class SpinLock; }
48 LUNCHBOX_API
void set();
51 LUNCHBOX_API
void unset();
60 LUNCHBOX_API
bool trySet();
84 LUNCHBOX_API
bool isSet();
103 detail::SpinLock*
const _impl;
106 #endif //LUNCHBOX_SPINLOCK_H