Mercurial > hg > vamp-build-and-test
comparison DEPENDENCIES/generic/include/boost/thread/caller_context.hpp @ 102:f46d142149f5
Whoops, finish that update
author | Chris Cannam |
---|---|
date | Mon, 07 Sep 2015 11:13:41 +0100 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
101:c530137014c0 | 102:f46d142149f5 |
---|---|
1 // (C) Copyright 2013,2015 Vicente J. Botet Escriba | |
2 // Distributed under the Boost Software License, Version 1.0. (See | |
3 // accompanying file LICENSE_1_0.txt or copy at | |
4 // http://www.boost.org/LICENSE_1_0.txt) | |
5 | |
6 | |
7 #ifndef BOOST_THREAD_CALL_CONTEXT_HPP | |
8 #define BOOST_THREAD_CALL_CONTEXT_HPP | |
9 | |
10 #include <boost/thread/detail/config.hpp> | |
11 #if defined BOOST_THREAD_USES_LOG_THREAD_ID | |
12 #include <boost/thread/thread.hpp> | |
13 #endif | |
14 #include <boost/current_function.hpp> | |
15 #include <boost/io/ios_state.hpp> | |
16 #include <iomanip> | |
17 | |
18 #include <boost/config/abi_prefix.hpp> | |
19 | |
20 namespace boost | |
21 { | |
22 | |
23 struct caller_context_t | |
24 { | |
25 const char * filename; | |
26 unsigned lineno; | |
27 const char * func; | |
28 caller_context_t(const char * filename, unsigned lineno, const char * func) : | |
29 filename(filename), lineno(lineno), func(func) | |
30 { | |
31 } | |
32 }; | |
33 | |
34 #define BOOST_CONTEXTOF boost::caller_context_t(__FILE__, __LINE__, BOOST_CURRENT_FUNCTION) | |
35 | |
36 template <typename OStream> | |
37 OStream& operator<<(OStream& os, caller_context_t const& ctx) | |
38 { | |
39 #if defined BOOST_THREAD_USES_LOG_THREAD_ID | |
40 { | |
41 io::ios_flags_saver ifs( os ); | |
42 os << std::left << std::setw(14) << boost::this_thread::get_id() << " "; | |
43 } | |
44 #endif | |
45 { | |
46 io::ios_flags_saver ifs(os); | |
47 os << std::setw(50) << ctx.filename << "[" | |
48 << std::setw(4) << std::right << std::dec<< ctx.lineno << "] "; | |
49 #if defined BOOST_THREAD_USES_LOG_CURRENT_FUNCTION | |
50 os << ctx.func << " " ; | |
51 #endif | |
52 } | |
53 return os; | |
54 } | |
55 } | |
56 | |
57 #include <boost/config/abi_suffix.hpp> | |
58 | |
59 #endif // header |