Blame view

3rdparty/boost_1_81_0/boost/implicit_cast.hpp 905 Bytes
63e88f80   Hu Chunming   提交三方库
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
  // Copyright David Abrahams 2003.
  // 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)
  
  #ifndef BOOST_IMPLICIT_CAST_DWA200356_HPP
  #define BOOST_IMPLICIT_CAST_DWA200356_HPP
  
  #include <boost/config.hpp>
  #ifdef BOOST_HAS_PRAGMA_ONCE
  # pragma once
  #endif
  
  namespace boost {
  
  namespace detail {
  
  template<class T> struct icast_identity
  {
      typedef T type;
  };
  
  } // namespace detail
  
  // implementation originally suggested by C. Green in
  // http://lists.boost.org/MailArchives/boost/msg00886.php
  
  // The use of identity creates a non-deduced form, so that the
  // explicit template argument must be supplied
  template <typename T>
  BOOST_CONSTEXPR inline T implicit_cast (typename boost::detail::icast_identity<T>::type x) {
      return x;
  }
  
  } // namespace boost
  
  
  #endif // BOOST_IMPLICIT_CAST_DWA200356_HPP