#include "internal/Synchronization.h"
using namespace antlr4::internal;
void Mutex::lock() {
#if ANTLR4CPP_USING_ABSEIL
_impl.Lock();
#else
_impl.lock();
#endif
}
bool Mutex::try_lock() {
#if ANTLR4CPP_USING_ABSEIL
return _impl.TryLock();
#else
return _impl.try_lock();
#endif
}
void Mutex::unlock() {
#if ANTLR4CPP_USING_ABSEIL
_impl.Unlock();
#else
_impl.unlock();
#endif
}
void SharedMutex::lock() {
#if ANTLR4CPP_USING_ABSEIL
_impl.WriterLock();
#else
_impl.lock();
#endif
}
bool SharedMutex::try_lock() {
#if ANTLR4CPP_USING_ABSEIL
return _impl.WriterTryLock();
#else
return _impl.try_lock();
#endif
}
void SharedMutex::unlock() {
#if ANTLR4CPP_USING_ABSEIL
_impl.WriterUnlock();
#else
_impl.unlock();
#endif
}
void SharedMutex::lock_shared() {
#if ANTLR4CPP_USING_ABSEIL
_impl.ReaderLock();
#else
_impl.lock_shared();
#endif
}
bool SharedMutex::try_lock_shared() {
#if ANTLR4CPP_USING_ABSEIL
return _impl.ReaderTryLock();
#else
return _impl.try_lock_shared();
#endif
}
void SharedMutex::unlock_shared() {
#if ANTLR4CPP_USING_ABSEIL
_impl.ReaderUnlock();
#else
_impl.unlock_shared();
#endif
}