diff options
author | Remko Tronçon <git@el-tramo.be> | 2010-02-11 12:14:00 (GMT) |
---|---|---|
committer | Remko Tronçon <git@el-tramo.be> | 2010-02-11 12:14:00 (GMT) |
commit | 0efa7c32aaf21a29b42b5926cc116007056843be (patch) | |
tree | 882f663a5dd0e65694bf6077b71086dd77fd7ff8 /3rdParty/Boost/boost/numeric/conversion/detail/conversion_traits.hpp | |
parent | 1d20eabbc32274b491b4c2bedf73d19933d97bfd (diff) | |
download | swift-0efa7c32aaf21a29b42b5926cc116007056843be.zip swift-0efa7c32aaf21a29b42b5926cc116007056843be.tar.bz2 |
Moved some modules into separate git modules.
Diffstat (limited to '3rdParty/Boost/boost/numeric/conversion/detail/conversion_traits.hpp')
m--------- | 3rdParty/Boost | 0 | ||||
-rw-r--r-- | 3rdParty/Boost/boost/numeric/conversion/detail/conversion_traits.hpp | 97 |
2 files changed, 0 insertions, 97 deletions
diff --git a/3rdParty/Boost b/3rdParty/Boost new file mode 160000 +Subproject 3bbdbc8cf1996f23d9a366da8bac0f97be6ad79 diff --git a/3rdParty/Boost/boost/numeric/conversion/detail/conversion_traits.hpp b/3rdParty/Boost/boost/numeric/conversion/detail/conversion_traits.hpp deleted file mode 100644 index ed25349..0000000 --- a/3rdParty/Boost/boost/numeric/conversion/detail/conversion_traits.hpp +++ /dev/null @@ -1,97 +0,0 @@ -// (c) Copyright Fernando Luis Cacciola Carballal 2000-2004 -// Use, modification, and distribution is subject to 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) - -// See library home page at http://www.boost.org/libs/numeric/conversion -// -// Contact the author at: fernando_cacciola@hotmail.com -// -#ifndef BOOST_NUMERIC_CONVERSION_DETAIL_CONVERSION_TRAITS_FLC_12NOV2002_HPP -#define BOOST_NUMERIC_CONVERSION_DETAIL_CONVERSION_TRAITS_FLC_12NOV2002_HPP - -#include "boost/type_traits/is_arithmetic.hpp" -#include "boost/type_traits/is_same.hpp" -#include "boost/type_traits/remove_cv.hpp" - -#include "boost/numeric/conversion/detail/meta.hpp" -#include "boost/numeric/conversion/detail/int_float_mixture.hpp" -#include "boost/numeric/conversion/detail/sign_mixture.hpp" -#include "boost/numeric/conversion/detail/udt_builtin_mixture.hpp" -#include "boost/numeric/conversion/detail/is_subranged.hpp" - -namespace boost { namespace numeric { namespace convdetail -{ - //------------------------------------------------------------------- - // Implementation of the Conversion Traits for T != S - // - // This is a VISIBLE base class of the user-level conversion_traits<> class. - //------------------------------------------------------------------- - template<class T,class S> - struct non_trivial_traits_impl - { - typedef typename get_int_float_mixture <T,S>::type int_float_mixture ; - typedef typename get_sign_mixture <T,S>::type sign_mixture ; - typedef typename get_udt_builtin_mixture <T,S>::type udt_builtin_mixture ; - - typedef typename get_is_subranged<T,S>::type subranged ; - - typedef mpl::false_ trivial ; - - typedef T target_type ; - typedef S source_type ; - typedef T result_type ; - - typedef typename mpl::if_< is_arithmetic<S>, S, S const&>::type argument_type ; - - typedef typename mpl::if_<subranged,S,T>::type supertype ; - typedef typename mpl::if_<subranged,T,S>::type subtype ; - } ; - - //------------------------------------------------------------------- - // Implementation of the Conversion Traits for T == S - // - // This is a VISIBLE base class of the user-level conversion_traits<> class. - //------------------------------------------------------------------- - template<class N> - struct trivial_traits_impl - { - typedef typename get_int_float_mixture <N,N>::type int_float_mixture ; - typedef typename get_sign_mixture <N,N>::type sign_mixture ; - typedef typename get_udt_builtin_mixture<N,N>::type udt_builtin_mixture ; - - typedef mpl::false_ subranged ; - typedef mpl::true_ trivial ; - - typedef N target_type ; - typedef N source_type ; - typedef N const& result_type ; - typedef N const& argument_type ; - - typedef N supertype ; - typedef N subtype ; - - } ; - - //------------------------------------------------------------------- - // Top level implementation selector. - //------------------------------------------------------------------- - template<class T, class S> - struct get_conversion_traits - { - typedef typename remove_cv<T>::type target_type ; - typedef typename remove_cv<S>::type source_type ; - - typedef typename is_same<target_type,source_type>::type is_trivial ; - - typedef trivial_traits_impl <target_type> trivial_imp ; - typedef non_trivial_traits_impl<target_type,source_type> non_trivial_imp ; - - typedef typename mpl::if_<is_trivial,trivial_imp,non_trivial_imp>::type type ; - } ; - -} } } // namespace boost::numeric::convdetail - -#endif - - |