diff options
Diffstat (limited to 'boost/log/detail/fake_mutex.hpp')
-rw-r--r-- | boost/log/detail/fake_mutex.hpp | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/boost/log/detail/fake_mutex.hpp b/boost/log/detail/fake_mutex.hpp new file mode 100644 index 0000000000..f21f961538 --- /dev/null +++ b/boost/log/detail/fake_mutex.hpp @@ -0,0 +1,56 @@ +/* + * Copyright Andrey Semashev 2007 - 2014. + * Distributed under the Boost Software License, Version 1.0. + * (See accompanying file LICENSE_1_0.txt or copy at + * http://www.boost.org/LICENSE_1_0.txt) + */ +/*! + * \file fake_mutex.hpp + * \author Andrey Semashev + * \date 31.07.2011 + * + * \brief This header is the Boost.Log library implementation, see the library documentation + * at http://www.boost.org/doc/libs/release/libs/log/doc/html/index.html. + */ + +#ifndef BOOST_LOG_DETAIL_FAKE_MUTEX_HPP_INCLUDED_ +#define BOOST_LOG_DETAIL_FAKE_MUTEX_HPP_INCLUDED_ + +#include <boost/log/detail/config.hpp> +#include <boost/log/detail/header.hpp> + +#ifdef BOOST_HAS_PRAGMA_ONCE +#pragma once +#endif + +namespace boost { + +BOOST_LOG_OPEN_NAMESPACE + +namespace aux { + +//! Fake mutex that doesn't do anything. Note: we're not using \c null_mutex from Boost.Thread in order not to introduce false dependencies on Boost.Thread and Boost.Chrono. +class fake_mutex +{ +public: + BOOST_DEFAULTED_FUNCTION(fake_mutex(), {}) + void lock() {} + bool try_lock() { return true; } + template< typename T > + bool timed_lock(T const&) { return true; } + void unlock() {} + + // Copying prohibited + BOOST_DELETED_FUNCTION(fake_mutex(fake_mutex const&)) + BOOST_DELETED_FUNCTION(fake_mutex& operator=(fake_mutex const&)) +}; + +} // namespace aux + +BOOST_LOG_CLOSE_NAMESPACE // namespace log + +} // namespace boost + +#include <boost/log/detail/footer.hpp> + +#endif // BOOST_LOG_DETAIL_FAKE_MUTEX_HPP_INCLUDED_ |