comparison DEPENDENCIES/generic/include/boost/interprocess/sync/null_mutex.hpp @ 16:2665513ce2d3

Add boost headers
author Chris Cannam
date Tue, 05 Aug 2014 11:11:38 +0100
parents
children c530137014c0
comparison
equal deleted inserted replaced
15:663ca0da4350 16:2665513ce2d3
1 //////////////////////////////////////////////////////////////////////////////
2 //
3 // (C) Copyright Ion Gaztanaga 2005-2012. Distributed under the Boost
4 // Software License, Version 1.0. (See accompanying file
5 // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
6 //
7 // See http://www.boost.org/libs/interprocess for documentation.
8 //
9 //////////////////////////////////////////////////////////////////////////////
10
11 #ifndef BOOST_INTERPROCESS_NULL_MUTEX_HPP
12 #define BOOST_INTERPROCESS_NULL_MUTEX_HPP
13
14 #if (defined _MSC_VER) && (_MSC_VER >= 1200)
15 # pragma once
16 #endif
17
18 #include <boost/interprocess/detail/config_begin.hpp>
19 #include <boost/interprocess/detail/workaround.hpp>
20
21
22 //!\file
23 //!Describes null_mutex classes
24
25 namespace boost {
26
27 namespace posix_time
28 { class ptime; }
29
30 namespace interprocess {
31
32 //!Implements a mutex that simulates a mutex without doing any operation and
33 //!simulates a successful operation.
34 class null_mutex
35 {
36 /// @cond
37 null_mutex(const null_mutex&);
38 null_mutex &operator= (const null_mutex&);
39 /// @endcond
40 public:
41
42 //!Constructor.
43 //!Empty.
44 null_mutex(){}
45
46 //!Destructor.
47 //!Empty.
48 ~null_mutex(){}
49
50 //!Simulates a mutex lock() operation. Empty function.
51 void lock(){}
52
53 //!Simulates a mutex try_lock() operation.
54 //!Equivalent to "return true;"
55 bool try_lock()
56 { return true; }
57
58 //!Simulates a mutex timed_lock() operation.
59 //!Equivalent to "return true;"
60 bool timed_lock(const boost::posix_time::ptime &)
61 { return true; }
62
63 //!Simulates a mutex unlock() operation.
64 //!Empty function.
65 void unlock(){}
66
67 //!Simulates a mutex lock_sharable() operation.
68 //!Empty function.
69 void lock_sharable(){}
70
71 //!Simulates a mutex try_lock_sharable() operation.
72 //!Equivalent to "return true;"
73 bool try_lock_sharable()
74 { return true; }
75
76 //!Simulates a mutex timed_lock_sharable() operation.
77 //!Equivalent to "return true;"
78 bool timed_lock_sharable(const boost::posix_time::ptime &)
79 { return true; }
80
81 //!Simulates a mutex unlock_sharable() operation.
82 //!Empty function.
83 void unlock_sharable(){}
84
85 //!Simulates a mutex lock_upgradable() operation.
86 //!Empty function.
87 void lock_upgradable(){}
88
89 //!Simulates a mutex try_lock_upgradable() operation.
90 //!Equivalent to "return true;"
91 bool try_lock_upgradable()
92 { return true; }
93
94 //!Simulates a mutex timed_lock_upgradable() operation.
95 //!Equivalent to "return true;"
96 bool timed_lock_upgradable(const boost::posix_time::ptime &)
97 { return true; }
98
99 //!Simulates a mutex unlock_upgradable() operation.
100 //!Empty function.
101 void unlock_upgradable(){}
102
103 //!Simulates unlock_and_lock_upgradable().
104 //!Empty function.
105 void unlock_and_lock_upgradable(){}
106
107 //!Simulates unlock_and_lock_sharable().
108 //!Empty function.
109 void unlock_and_lock_sharable(){}
110
111 //!Simulates unlock_upgradable_and_lock_sharable().
112 //!Empty function.
113 void unlock_upgradable_and_lock_sharable(){}
114
115 //Promotions
116
117 //!Simulates unlock_upgradable_and_lock().
118 //!Empty function.
119 void unlock_upgradable_and_lock(){}
120
121 //!Simulates try_unlock_upgradable_and_lock().
122 //!Equivalent to "return true;"
123 bool try_unlock_upgradable_and_lock()
124 { return true; }
125
126 //!Simulates timed_unlock_upgradable_and_lock().
127 //!Equivalent to "return true;"
128 bool timed_unlock_upgradable_and_lock(const boost::posix_time::ptime &)
129 { return true; }
130
131 //!Simulates try_unlock_sharable_and_lock().
132 //!Equivalent to "return true;"
133 bool try_unlock_sharable_and_lock()
134 { return true; }
135
136 //!Simulates try_unlock_sharable_and_lock_upgradable().
137 //!Equivalent to "return true;"
138 bool try_unlock_sharable_and_lock_upgradable()
139 { return true; }
140 };
141
142 } //namespace interprocess {
143 } //namespace boost {
144
145 #include <boost/interprocess/detail/config_end.hpp>
146
147 #endif //BOOST_INTERPROCESS_NULL_MUTEX_HPP