Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-18 09:39:22

0001 /*
0002  *          Copyright Andrey Semashev 2007 - 2015.
0003  * Distributed under the Boost Software License, Version 1.0.
0004  *    (See accompanying file LICENSE_1_0.txt or copy at
0005  *          http://www.boost.org/LICENSE_1_0.txt)
0006  */
0007 /*!
0008  * \file   thread_id.hpp
0009  * \author Andrey Semashev
0010  * \date   08.01.2012
0011  *
0012  * \brief  This header is the Boost.Log library implementation, see the library documentation
0013  *         at http://www.boost.org/doc/libs/release/libs/log/doc/html/index.html.
0014  */
0015 
0016 #ifndef BOOST_LOG_DETAIL_THREAD_ID_HPP_INCLUDED_
0017 #define BOOST_LOG_DETAIL_THREAD_ID_HPP_INCLUDED_
0018 
0019 #include <iosfwd>
0020 #include <boost/cstdint.hpp>
0021 #include <boost/log/detail/config.hpp>
0022 #include <boost/log/detail/id.hpp>
0023 #include <boost/log/detail/header.hpp>
0024 
0025 #ifdef BOOST_HAS_PRAGMA_ONCE
0026 #pragma once
0027 #endif
0028 
0029 namespace boost {
0030 
0031 BOOST_LOG_OPEN_NAMESPACE
0032 
0033 namespace aux {
0034 
0035 //! The thread id descriptor
0036 struct thread
0037 {
0038 #if defined(BOOST_WINDOWS)
0039     typedef uint32_t native_type;
0040 #else
0041     typedef uintmax_t native_type;
0042 #endif
0043     typedef boost::log::aux::id< thread > id;
0044 };
0045 
0046 namespace this_thread {
0047 
0048 //! The function returns current thread identifier
0049 BOOST_LOG_API thread::id const& get_id();
0050 
0051 } // namespace this_thread
0052 
0053 template< typename CharT, typename TraitsT >
0054 BOOST_LOG_API std::basic_ostream< CharT, TraitsT >&
0055 operator<< (std::basic_ostream< CharT, TraitsT >& strm, thread::id const& tid);
0056 
0057 } // namespace aux
0058 
0059 BOOST_LOG_CLOSE_NAMESPACE // namespace log
0060 
0061 } // namespace boost
0062 
0063 #include <boost/log/detail/footer.hpp>
0064 
0065 #endif // BOOST_LOG_DETAIL_THREAD_ID_HPP_INCLUDED_