source: trunk/GDE/SINA/builddir/include/spdlog/details/null_mutex.h

Last change on this file was 19170, checked in by westram, 2 years ago
  • sina source
    • unpack + remove tarball
    • no longer ignore sina builddir.
File size: 683 bytes
Line 
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
11namespace spdlog {
12namespace details {
13struct null_mutex
14{
15    void lock() {}
16    void unlock() {}
17    bool try_lock()
18    {
19        return true;
20    }
21};
22
23struct null_atomic_int
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
Note: See TracBrowser for help on using the repository browser.