diff options
Diffstat (limited to 'lib/spdlog/details/null_mutex.h')
| -rw-r--r-- | lib/spdlog/details/null_mutex.h | 45 | 
1 files changed, 45 insertions, 0 deletions
diff --git a/lib/spdlog/details/null_mutex.h b/lib/spdlog/details/null_mutex.h new file mode 100644 index 0000000..3f495bd --- /dev/null +++ b/lib/spdlog/details/null_mutex.h @@ -0,0 +1,45 @@ +// +// Copyright(c) 2015 Gabi Melman. +// Distributed under the MIT License (http://opensource.org/licenses/MIT) +// + +#pragma once + +#include <atomic> +// null, no cost dummy "mutex" and dummy "atomic" int + +namespace spdlog { +namespace details { +struct null_mutex +{ +    void lock() {} +    void unlock() {} +    bool try_lock() +    { +        return true; +    } +}; + +struct null_atomic_int +{ +    int value; +    null_atomic_int() = default; + +    explicit null_atomic_int(int val) +        : value(val) +    { +    } + +    int load(std::memory_order) const +    { +        return value; +    } + +    void store(int val) +    { +        value = val; +    } +}; + +} // namespace details +} // namespace spdlog  | 
