null_mutex.h
Go to the documentation of this file.
1 //
2 // Copyright(c) 2015 Gabi Melman.
3 // Distributed under the MIT License (http://opensource.org/licenses/MIT)
4 //
5 
6 #pragma once
7 
8 #include <atomic>
9 // null, no cost dummy "mutex" and dummy "atomic" int
10 
11 namespace spdlog {
12 namespace details {
13 struct null_mutex
14 {
15  void lock() {}
16  void unlock() {}
17  bool try_lock()
18  {
19  return true;
20  }
21 };
22 
24 {
25  int value;
26  null_atomic_int() = default;
27 
28  explicit null_atomic_int(int val)
29  : value(val)
30  {
31  }
32 
33  int load(std::memory_order) const
34  {
35  return value;
36  }
37 
38  void store(int val)
39  {
40  value = val;
41  }
42 };
43 
44 } // namespace details
45 } // namespace spdlog
int load(std::memory_order) const
Definition: null_mutex.h:33
Definition: async.h:27
const GenericPointer< typename T::ValueType > T2 value
Definition: pointer.h:1225