blob: 5eeba4d812169c61e993781c15c27ac15b727523 [file] [log] [blame]
Jeff Thompsona28eed82013-08-22 16:21:10 -07001// Copyright 2005 Alexander Nasonov.
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
Jeff Thompson2491bd62013-10-15 17:10:24 -07006#ifndef FILE_ndnboost_type_traits_promote_hpp_INCLUDED
7#define FILE_ndnboost_type_traits_promote_hpp_INCLUDED
Jeff Thompsona28eed82013-08-22 16:21:10 -07008
9#include <ndnboost/config.hpp>
10#include <ndnboost/type_traits/integral_promotion.hpp>
11#include <ndnboost/type_traits/floating_point_promotion.hpp>
12
13// Should be the last #include
14#include <ndnboost/type_traits/detail/type_trait_def.hpp>
15
16namespace ndnboost {
17
18namespace detail {
19
20template<class T>
21struct promote_impl
22 : public integral_promotion<
Jeff Thompson3d613fd2013-10-15 15:39:04 -070023 NDNBOOST_DEDUCED_TYPENAME floating_point_promotion<T>::type
Jeff Thompsona28eed82013-08-22 16:21:10 -070024 >
25{
26};
27
28}
29
Jeff Thompson3d613fd2013-10-15 15:39:04 -070030NDNBOOST_TT_AUX_TYPE_TRAIT_DEF1(
Jeff Thompsona28eed82013-08-22 16:21:10 -070031 promote
32 , T
Jeff Thompson3d613fd2013-10-15 15:39:04 -070033 , NDNBOOST_DEDUCED_TYPENAME ndnboost::detail::promote_impl<T>::type
Jeff Thompsona28eed82013-08-22 16:21:10 -070034 )
35}
36
37#include <ndnboost/type_traits/detail/type_trait_undef.hpp>
38
Jeff Thompson2491bd62013-10-15 17:10:24 -070039#endif // #ifndef FILE_ndnboost_type_traits_promote_hpp_INCLUDED
Jeff Thompsona28eed82013-08-22 16:21:10 -070040