Mercurial > hg > vamp-build-and-test
comparison DEPENDENCIES/generic/include/boost/log/detail/unary_function_terminal.hpp @ 101:c530137014c0
Update Boost headers (1.58.0)
author | Chris Cannam |
---|---|
date | Mon, 07 Sep 2015 11:12:49 +0100 |
parents | 2665513ce2d3 |
children |
comparison
equal
deleted
inserted
replaced
100:793467b5e61c | 101:c530137014c0 |
---|---|
1 /* | 1 /* |
2 * Copyright Andrey Semashev 2007 - 2013. | 2 * Copyright Andrey Semashev 2007 - 2015. |
3 * Distributed under the Boost Software License, Version 1.0. | 3 * Distributed under the Boost Software License, Version 1.0. |
4 * (See accompanying file LICENSE_1_0.txt or copy at | 4 * (See accompanying file LICENSE_1_0.txt or copy at |
5 * http://www.boost.org/LICENSE_1_0.txt) | 5 * http://www.boost.org/LICENSE_1_0.txt) |
6 */ | 6 */ |
7 /*! | 7 /*! |
21 #include <boost/phoenix/core/is_nullary.hpp> | 21 #include <boost/phoenix/core/is_nullary.hpp> |
22 #include <boost/phoenix/core/environment.hpp> | 22 #include <boost/phoenix/core/environment.hpp> |
23 #include <boost/type_traits/remove_cv.hpp> | 23 #include <boost/type_traits/remove_cv.hpp> |
24 #include <boost/type_traits/remove_reference.hpp> | 24 #include <boost/type_traits/remove_reference.hpp> |
25 #include <boost/log/detail/config.hpp> | 25 #include <boost/log/detail/config.hpp> |
26 #include <boost/log/detail/copy_cv.hpp> | |
26 #include <boost/log/detail/custom_terminal_spec.hpp> | 27 #include <boost/log/detail/custom_terminal_spec.hpp> |
27 #include <boost/log/detail/header.hpp> | 28 #include <boost/log/detail/header.hpp> |
28 | 29 |
29 #ifdef BOOST_HAS_PRAGMA_ONCE | 30 #ifdef BOOST_HAS_PRAGMA_ONCE |
30 #pragma once | 31 #pragma once |
60 | 61 |
61 //! Function result type | 62 //! Function result type |
62 template< typename > | 63 template< typename > |
63 struct result; | 64 struct result; |
64 | 65 |
65 template< typename ContextT > | 66 template< typename ThisT, typename ContextT > |
66 struct result< this_type(ContextT) > | 67 struct result< ThisT(ContextT) > |
67 { | 68 { |
68 typedef typename remove_cv< | 69 typedef typename remove_cv< |
69 typename remove_reference< typename phoenix::result_of::env< ContextT >::type >::type | 70 typename remove_reference< typename phoenix::result_of::env< ContextT >::type >::type |
70 >::type env_type; | 71 >::type env_type; |
71 typedef typename env_type::args_type args_type; | 72 typedef typename env_type::args_type args_type; |
73 typedef typename boost::log::aux::copy_cv< ThisT, function_type >::type cv_function_type; | |
72 | 74 |
73 typedef typename boost::result_of< function_type(typename fusion::result_of::at_c< args_type, 0 >::type) >::type type; | 75 typedef typename boost::result_of< cv_function_type(typename fusion::result_of::at_c< args_type, 0 >::type) >::type type; |
74 }; | |
75 | |
76 template< typename ContextT > | |
77 struct result< const this_type(ContextT) > | |
78 { | |
79 typedef typename remove_cv< | |
80 typename remove_reference< typename phoenix::result_of::env< ContextT >::type >::type | |
81 >::type env_type; | |
82 typedef typename env_type::args_type args_type; | |
83 | |
84 typedef typename boost::result_of< const function_type(typename fusion::result_of::at_c< args_type, 0 >::type) >::type type; | |
85 }; | 76 }; |
86 | 77 |
87 private: | 78 private: |
88 //! Adopted function | 79 //! Adopted function |
89 function_type m_fun; | 80 function_type m_fun; |