CARMA C++
ScopedQILockManager.h
1 #ifndef CARMA_UTIL_SCOPEDQILOCKMANAGER_H
2 #define CARMA_UTIL_SCOPEDQILOCKMANAGER_H
3 
4 
5 namespace carma {
6 namespace util {
7 
8 
9 class QuadraticInterpolator;
10 
11 
12 class ScopedQILockManager {
13  public:
14  explicit ScopedQILockManager(
15  QuadraticInterpolator & qi,
16  bool logIfLeftLocked = false );
17 
18  ~ScopedQILockManager( );
19 
20  void lockQI( );
21  void unlockQI( );
22 
23  private:
24  ScopedQILockManager( const ScopedQILockManager & rhs );
25  ScopedQILockManager & operator=( const ScopedQILockManager & rhs );
26 
27  QuadraticInterpolator & qi_;
28  const bool logIfLeftLocked_;
29  bool locked_;
30 };
31 
32 
33 } // namespace carma::util
34 } // namespace carma
35 
36 
37 #endif