12ca0e41376e99ad53c02fdb5333339ad3dcad19fAndrew Hsieh 22ca0e41376e99ad53c02fdb5333339ad3dcad19fAndrew Hsieh// Copyright Aleksey Gurtovoy 2000-2004 32ca0e41376e99ad53c02fdb5333339ad3dcad19fAndrew Hsieh// 42ca0e41376e99ad53c02fdb5333339ad3dcad19fAndrew Hsieh// Distributed under the Boost Software License, Version 1.0. 52ca0e41376e99ad53c02fdb5333339ad3dcad19fAndrew Hsieh// (See accompanying file LICENSE_1_0.txt or copy at 62ca0e41376e99ad53c02fdb5333339ad3dcad19fAndrew Hsieh// http://www.boost.org/LICENSE_1_0.txt) 72ca0e41376e99ad53c02fdb5333339ad3dcad19fAndrew Hsieh// 82ca0e41376e99ad53c02fdb5333339ad3dcad19fAndrew Hsieh 92ca0e41376e99ad53c02fdb5333339ad3dcad19fAndrew Hsieh// Preprocessed version of "boost/mpl/less.hpp" header 102ca0e41376e99ad53c02fdb5333339ad3dcad19fAndrew Hsieh// -- DO NOT modify by hand! 112ca0e41376e99ad53c02fdb5333339ad3dcad19fAndrew Hsieh 122ca0e41376e99ad53c02fdb5333339ad3dcad19fAndrew Hsiehnamespace boost { namespace mpl { 132ca0e41376e99ad53c02fdb5333339ad3dcad19fAndrew Hsieh 142ca0e41376e99ad53c02fdb5333339ad3dcad19fAndrew Hsiehtemplate< 152ca0e41376e99ad53c02fdb5333339ad3dcad19fAndrew Hsieh typename Tag1 162ca0e41376e99ad53c02fdb5333339ad3dcad19fAndrew Hsieh , typename Tag2 172ca0e41376e99ad53c02fdb5333339ad3dcad19fAndrew Hsieh > 182ca0e41376e99ad53c02fdb5333339ad3dcad19fAndrew Hsiehstruct less_impl 192ca0e41376e99ad53c02fdb5333339ad3dcad19fAndrew Hsieh : if_c< 202ca0e41376e99ad53c02fdb5333339ad3dcad19fAndrew Hsieh ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) 212ca0e41376e99ad53c02fdb5333339ad3dcad19fAndrew Hsieh > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) 222ca0e41376e99ad53c02fdb5333339ad3dcad19fAndrew Hsieh ) 232ca0e41376e99ad53c02fdb5333339ad3dcad19fAndrew Hsieh 242ca0e41376e99ad53c02fdb5333339ad3dcad19fAndrew Hsieh , aux::cast2nd_impl< less_impl< Tag1,Tag1 >,Tag1, Tag2 > 252ca0e41376e99ad53c02fdb5333339ad3dcad19fAndrew Hsieh , aux::cast1st_impl< less_impl< Tag2,Tag2 >,Tag1, Tag2 > 262ca0e41376e99ad53c02fdb5333339ad3dcad19fAndrew Hsieh >::type 272ca0e41376e99ad53c02fdb5333339ad3dcad19fAndrew Hsieh{ 282ca0e41376e99ad53c02fdb5333339ad3dcad19fAndrew Hsieh}; 292ca0e41376e99ad53c02fdb5333339ad3dcad19fAndrew Hsieh 302ca0e41376e99ad53c02fdb5333339ad3dcad19fAndrew Hsieh/// for Digital Mars C++/compilers with no CTPS/TTP support 312ca0e41376e99ad53c02fdb5333339ad3dcad19fAndrew Hsiehtemplate<> struct less_impl< na,na > 322ca0e41376e99ad53c02fdb5333339ad3dcad19fAndrew Hsieh{ 332ca0e41376e99ad53c02fdb5333339ad3dcad19fAndrew Hsieh template< typename U1, typename U2 > struct apply 342ca0e41376e99ad53c02fdb5333339ad3dcad19fAndrew Hsieh { 352ca0e41376e99ad53c02fdb5333339ad3dcad19fAndrew Hsieh typedef apply type; 362ca0e41376e99ad53c02fdb5333339ad3dcad19fAndrew Hsieh BOOST_STATIC_CONSTANT(int, value = 0); 372ca0e41376e99ad53c02fdb5333339ad3dcad19fAndrew Hsieh }; 382ca0e41376e99ad53c02fdb5333339ad3dcad19fAndrew Hsieh}; 392ca0e41376e99ad53c02fdb5333339ad3dcad19fAndrew Hsieh 402ca0e41376e99ad53c02fdb5333339ad3dcad19fAndrew Hsiehtemplate< typename Tag > struct less_impl< na,Tag > 412ca0e41376e99ad53c02fdb5333339ad3dcad19fAndrew Hsieh{ 422ca0e41376e99ad53c02fdb5333339ad3dcad19fAndrew Hsieh template< typename U1, typename U2 > struct apply 432ca0e41376e99ad53c02fdb5333339ad3dcad19fAndrew Hsieh { 442ca0e41376e99ad53c02fdb5333339ad3dcad19fAndrew Hsieh typedef apply type; 452ca0e41376e99ad53c02fdb5333339ad3dcad19fAndrew Hsieh BOOST_STATIC_CONSTANT(int, value = 0); 462ca0e41376e99ad53c02fdb5333339ad3dcad19fAndrew Hsieh }; 472ca0e41376e99ad53c02fdb5333339ad3dcad19fAndrew Hsieh}; 482ca0e41376e99ad53c02fdb5333339ad3dcad19fAndrew Hsieh 492ca0e41376e99ad53c02fdb5333339ad3dcad19fAndrew Hsiehtemplate< typename Tag > struct less_impl< Tag,na > 502ca0e41376e99ad53c02fdb5333339ad3dcad19fAndrew Hsieh{ 512ca0e41376e99ad53c02fdb5333339ad3dcad19fAndrew Hsieh template< typename U1, typename U2 > struct apply 522ca0e41376e99ad53c02fdb5333339ad3dcad19fAndrew Hsieh { 532ca0e41376e99ad53c02fdb5333339ad3dcad19fAndrew Hsieh typedef apply type; 542ca0e41376e99ad53c02fdb5333339ad3dcad19fAndrew Hsieh BOOST_STATIC_CONSTANT(int, value = 0); 552ca0e41376e99ad53c02fdb5333339ad3dcad19fAndrew Hsieh }; 562ca0e41376e99ad53c02fdb5333339ad3dcad19fAndrew Hsieh}; 572ca0e41376e99ad53c02fdb5333339ad3dcad19fAndrew Hsieh 582ca0e41376e99ad53c02fdb5333339ad3dcad19fAndrew Hsiehtemplate< typename T > struct less_tag 592ca0e41376e99ad53c02fdb5333339ad3dcad19fAndrew Hsieh{ 602ca0e41376e99ad53c02fdb5333339ad3dcad19fAndrew Hsieh typedef typename T::tag type; 612ca0e41376e99ad53c02fdb5333339ad3dcad19fAndrew Hsieh}; 622ca0e41376e99ad53c02fdb5333339ad3dcad19fAndrew Hsieh 632ca0e41376e99ad53c02fdb5333339ad3dcad19fAndrew Hsiehtemplate< 642ca0e41376e99ad53c02fdb5333339ad3dcad19fAndrew Hsieh typename BOOST_MPL_AUX_NA_PARAM(N1) 652ca0e41376e99ad53c02fdb5333339ad3dcad19fAndrew Hsieh , typename BOOST_MPL_AUX_NA_PARAM(N2) 662ca0e41376e99ad53c02fdb5333339ad3dcad19fAndrew Hsieh > 672ca0e41376e99ad53c02fdb5333339ad3dcad19fAndrew Hsiehstruct less 682ca0e41376e99ad53c02fdb5333339ad3dcad19fAndrew Hsieh 692ca0e41376e99ad53c02fdb5333339ad3dcad19fAndrew Hsieh : less_impl< 702ca0e41376e99ad53c02fdb5333339ad3dcad19fAndrew Hsieh typename less_tag<N1>::type 712ca0e41376e99ad53c02fdb5333339ad3dcad19fAndrew Hsieh , typename less_tag<N2>::type 722ca0e41376e99ad53c02fdb5333339ad3dcad19fAndrew Hsieh >::template apply< N1,N2 >::type 732ca0e41376e99ad53c02fdb5333339ad3dcad19fAndrew Hsieh{ 742ca0e41376e99ad53c02fdb5333339ad3dcad19fAndrew Hsieh BOOST_MPL_AUX_LAMBDA_SUPPORT(2, less, (N1, N2)) 752ca0e41376e99ad53c02fdb5333339ad3dcad19fAndrew Hsieh 762ca0e41376e99ad53c02fdb5333339ad3dcad19fAndrew Hsieh}; 772ca0e41376e99ad53c02fdb5333339ad3dcad19fAndrew Hsieh 782ca0e41376e99ad53c02fdb5333339ad3dcad19fAndrew HsiehBOOST_MPL_AUX_NA_SPEC2(2, 2, less) 792ca0e41376e99ad53c02fdb5333339ad3dcad19fAndrew Hsieh 802ca0e41376e99ad53c02fdb5333339ad3dcad19fAndrew Hsieh}} 812ca0e41376e99ad53c02fdb5333339ad3dcad19fAndrew Hsieh 822ca0e41376e99ad53c02fdb5333339ad3dcad19fAndrew Hsiehnamespace boost { namespace mpl { 832ca0e41376e99ad53c02fdb5333339ad3dcad19fAndrew Hsieh 842ca0e41376e99ad53c02fdb5333339ad3dcad19fAndrew Hsiehtemplate<> 852ca0e41376e99ad53c02fdb5333339ad3dcad19fAndrew Hsiehstruct less_impl< integral_c_tag,integral_c_tag > 862ca0e41376e99ad53c02fdb5333339ad3dcad19fAndrew Hsieh{ 872ca0e41376e99ad53c02fdb5333339ad3dcad19fAndrew Hsieh template< typename N1, typename N2 > struct apply 882ca0e41376e99ad53c02fdb5333339ad3dcad19fAndrew Hsieh 892ca0e41376e99ad53c02fdb5333339ad3dcad19fAndrew Hsieh : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N2)::value > BOOST_MPL_AUX_VALUE_WKND(N1)::value ) > 902ca0e41376e99ad53c02fdb5333339ad3dcad19fAndrew Hsieh { 912ca0e41376e99ad53c02fdb5333339ad3dcad19fAndrew Hsieh }; 922ca0e41376e99ad53c02fdb5333339ad3dcad19fAndrew Hsieh}; 932ca0e41376e99ad53c02fdb5333339ad3dcad19fAndrew Hsieh 942ca0e41376e99ad53c02fdb5333339ad3dcad19fAndrew Hsieh}} 95