/extlibs/Boost/include/boost/mpl/aux_/preprocessed/bcc551/less.hpp
C++ Header | 94 lines | 67 code | 18 blank | 9 comment | 0 complexity | 1a6a7d67ce032a96f82a156d7c9fd7b1 MD5 | raw file
1 2// Copyright Aleksey Gurtovoy 2000-2004 3// 4// Distributed under the Boost Software License, Version 1.0. 5// (See accompanying file LICENSE_1_0.txt or copy at 6// http://www.boost.org/LICENSE_1_0.txt) 7// 8 9// Preprocessed version of "boost/mpl/less.hpp" header 10// -- DO NOT modify by hand! 11 12namespace boost { namespace mpl { 13 14template< 15 typename Tag1 16 , typename Tag2 17 > 18struct less_impl 19 : if_c< 20 ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) 21 > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) 22 ) 23 24 , aux::cast2nd_impl< less_impl< Tag1,Tag1 >,Tag1, Tag2 > 25 , aux::cast1st_impl< less_impl< Tag2,Tag2 >,Tag1, Tag2 > 26 >::type 27{ 28}; 29 30/// for Digital Mars C++/compilers with no CTPS/TTP support 31template<> struct less_impl< na,na > 32{ 33 template< typename U1, typename U2 > struct apply 34 { 35 typedef apply type; 36 BOOST_STATIC_CONSTANT(int, value = 0); 37 }; 38}; 39 40template< typename Tag > struct less_impl< na,Tag > 41{ 42 template< typename U1, typename U2 > struct apply 43 { 44 typedef apply type; 45 BOOST_STATIC_CONSTANT(int, value = 0); 46 }; 47}; 48 49template< typename Tag > struct less_impl< Tag,na > 50{ 51 template< typename U1, typename U2 > struct apply 52 { 53 typedef apply type; 54 BOOST_STATIC_CONSTANT(int, value = 0); 55 }; 56}; 57 58template< typename T > struct less_tag 59{ 60 typedef typename T::tag type; 61}; 62 63template< 64 typename BOOST_MPL_AUX_NA_PARAM(N1) 65 , typename BOOST_MPL_AUX_NA_PARAM(N2) 66 > 67struct less 68 69 : less_impl< 70 typename less_tag<N1>::type 71 , typename less_tag<N2>::type 72 >::template apply< N1,N2 >::type 73{ 74 BOOST_MPL_AUX_LAMBDA_SUPPORT(2, less, (N1, N2)) 75 76}; 77 78BOOST_MPL_AUX_NA_SPEC2(2, 2, less) 79 80}} 81 82namespace boost { namespace mpl { 83 84template<> 85struct less_impl< integral_c_tag,integral_c_tag > 86{ 87 template< typename N1, typename N2 > struct apply 88 89 : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N2)::value > BOOST_MPL_AUX_VALUE_WKND(N1)::value ) > 90 { 91 }; 92}; 93 94}}