Rudiments
mutex.h
1 // Copyright (c) 2004 David Muse
2 // See the COPYING file for more information.
3 
4 #ifndef RUDIMENTS_MUTEX_H
5 #define RUDIMENTS_MUTEX_H
6 
7 #include <rudiments/private/mutexincludes.h>
8 
9 #ifdef RUDIMENTS_NAMESPACE
10 namespace rudiments {
11 #endif
12 
13 class mutexprivate;
14 
17 class RUDIMENTS_DLLSPEC mutex {
18  public:
19 
21  mutex();
22 
28  mutex(void *mut);
29 
31  ~mutex();
32 
35  bool lock();
36 
41  bool tryLock();
42 
45  bool unlock();
46 
51  void *getInternalMutexStructure();
52 
53  #include <rudiments/private/mutex.h>
54 };
55 
56 #ifdef RUDIMENTS_NAMESPACE
57 }
58 #endif
59 
60 #endif