Back to home page

EIC code displayed by LXR

 
 

    


Warning, file /include/boost/thread/detail/is_convertible.hpp was not indexed or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).

0001 //////////////////////////////////////////////////////////////////////////////
0002 //
0003 // Copyright (C) 2011-2013 Vicente J. Botet Escriba
0004 //
0005 //  Distributed under the Boost Software License, Version 1.0. (See accompanying
0006 //  file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
0007 //
0008 // See http://www.boost.org/libs/thread for documentation.
0009 //
0010 //////////////////////////////////////////////////////////////////////////////
0011 
0012 #ifndef BOOST_THREAD_DETAIL_IS_CONVERTIBLE_HPP
0013 #define BOOST_THREAD_DETAIL_IS_CONVERTIBLE_HPP
0014 
0015 #include <boost/type_traits/is_convertible.hpp>
0016 #include <boost/thread/detail/move.hpp>
0017 
0018 namespace boost
0019 {
0020   namespace thread_detail
0021   {
0022     template <typename T1, typename T2>
0023     struct is_convertible : boost::is_convertible<T1,T2> {};
0024 
0025 #if defined  BOOST_NO_CXX11_RVALUE_REFERENCES
0026 
0027 #if defined(BOOST_INTEL_CXX_VERSION) && (BOOST_INTEL_CXX_VERSION <= 1300)
0028 
0029 #if defined BOOST_THREAD_USES_MOVE
0030     template <typename T1, typename T2>
0031     struct is_convertible<
0032       rv<T1> &,
0033       rv<rv<T2> > &
0034     > : false_type {};
0035 #endif
0036 
0037 #elif defined __GNUC__ && (__GNUC__ < 4 || ( __GNUC__ == 4 && __GNUC_MINOR__ <= 4 ))
0038 
0039     template <typename T1, typename T2>
0040     struct is_convertible<T1&, T2&> : boost::is_convertible<T1, T2> {};
0041 #endif
0042 
0043 #endif
0044   }
0045 
0046 } // namespace boost
0047 
0048 
0049 #endif //  BOOST_THREAD_DETAIL_MEMORY_HPP