equal
deleted
inserted
replaced
|
1 // Copyright David Abrahams 2003. |
|
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 #ifndef IMPLICIT_CAST_DWA200356_HPP |
|
6 # define IMPLICIT_CAST_DWA200356_HPP |
|
7 |
|
8 # include <boost/mpl/identity.hpp> |
|
9 |
|
10 namespace boost { |
|
11 |
|
12 // implementation originally suggested by C. Green in |
|
13 // http://lists.boost.org/MailArchives/boost/msg00886.php |
|
14 |
|
15 // The use of identity creates a non-deduced form, so that the |
|
16 // explicit template argument must be supplied |
|
17 template <typename T> |
|
18 inline T implicit_cast (typename mpl::identity<T>::type x) { |
|
19 return x; |
|
20 } |
|
21 |
|
22 // incomplete return type now is here |
|
23 //template <typename T> |
|
24 //void implicit_cast (...); |
|
25 |
|
26 } // namespace boost |
|
27 |
|
28 |
|
29 #endif // IMPLICIT_CAST_DWA200356_HPP |