VectorNav C++ Library
criticalsection.h
Go to the documentation of this file.
1 #ifndef _VNXPLAT_CRITICALSECTION_H_
7 #define _VNXPLAT_CRITICALSECTION_H_
8 
9 #include "nocopy.h"
10 #include "export.h"
11 
12 namespace vn {
13 namespace xplat {
14 
16 class vn_proglib_DLLEXPORT CriticalSection : private util::NoCopy
17 {
18 
19  // Constructors ///////////////////////////////////////////////////////////
20 
21 public:
22 
25 
26  ~CriticalSection();
27 
28  // Public Methods /////////////////////////////////////////////////////////
29 
30 public:
31 
33  void enter();
34 
36  void leave();
37 
38  // Private Members ////////////////////////////////////////////////////////
39 
40 private:
41 
42  // Contains internal data, mainly stuff that is required for cross-platform
43  // support.
44  struct Impl;
45  Impl *_pi;
46 
47 };
48 
49 }
50 }
51 
52 #endif
Represents a cross-platform critical section.
Definition: criticalsection.h:16
Definition: mock.h:4
Identifies a derived class as being unable to be copied and prevents copy attempts.
Definition: nocopy.h:21
Definition: attitude.h:8