console_globals.h 603 B

12345678910111213141516171819202122232425262728
  1. // Copyright(c) 2015-present, Gabi Melman & spdlog contributors.
  2. // Distributed under the MIT License (http://opensource.org/licenses/MIT)
  3. #pragma once
  4. #include <mutex>
  5. #include <spdlog/details/null_mutex.h>
  6. namespace spdlog {
  7. namespace details {
  8. struct console_mutex {
  9. using mutex_t = std::mutex;
  10. static mutex_t &mutex() {
  11. static mutex_t s_mutex;
  12. return s_mutex;
  13. }
  14. };
  15. struct console_nullmutex {
  16. using mutex_t = null_mutex;
  17. static mutex_t &mutex() {
  18. static mutex_t s_mutex;
  19. return s_mutex;
  20. }
  21. };
  22. } // namespace details
  23. } // namespace spdlog