Du kan inte välja fler än 25 ämnen
Ämnen måste starta med en bokstav eller siffra, kan innehålla bindestreck ('-') och vara max 35 tecken långa.
45 rader
618 B
45 rader
618 B
// |
|
// 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; |
|
|
|
null_atomic_int(int val):value(val) |
|
{} |
|
|
|
int load(std::memory_order) const |
|
{ |
|
return value; |
|
} |
|
|
|
void store(int val) |
|
{ |
|
value = val; |
|
} |
|
}; |
|
|
|
} |
|
}
|
|
|