inherit.hpp
来自「Boost provides free peer-reviewed portab」· HPP 代码 · 共 140 行
HPP
140 行
// Copyright Aleksey Gurtovoy 2001-2004//// Distributed under 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)//// *Preprocessed* version of the main "inherit.hpp" header// -- DO NOT modify by hand!namespace boost { namespace mpl {template< typename BOOST_MPL_AUX_NA_PARAM(T1) , typename BOOST_MPL_AUX_NA_PARAM(T2) >struct inherit2 : T1, T2{ typedef inherit2 type; BOOST_MPL_AUX_LAMBDA_SUPPORT(2, inherit2, (T1, T2))};template< typename T1 >struct inherit2< T1,empty_base >{ typedef T1 type; BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (T1, empty_base))};template< typename T2 >struct inherit2< empty_base,T2 >{ typedef T2 type; BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (empty_base, T2))};template<>struct inherit2< empty_base,empty_base >{ typedef empty_base type; BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (empty_base, empty_base))};BOOST_MPL_AUX_NA_SPEC(2, inherit2)template< typename T1 = na, typename T2 = na, typename T3 = na >struct inherit3 : inherit2< typename inherit2< T1, T2 >::type , T3 >{ BOOST_MPL_AUX_LAMBDA_SUPPORT( 3 , inherit3 , ( T1, T2, T3) )};BOOST_MPL_AUX_NA_SPEC(3, inherit3)template< typename T1 = na, typename T2 = na, typename T3 = na, typename T4 = na >struct inherit4 : inherit2< typename inherit3< T1, T2, T3 >::type , T4 >{ BOOST_MPL_AUX_LAMBDA_SUPPORT( 4 , inherit4 , ( T1, T2, T3, T4) )};BOOST_MPL_AUX_NA_SPEC(4, inherit4)template< typename T1 = na, typename T2 = na, typename T3 = na, typename T4 = na , typename T5 = na >struct inherit5 : inherit2< typename inherit4< T1, T2, T3, T4 >::type , T5 >{ BOOST_MPL_AUX_LAMBDA_SUPPORT( 5 , inherit5 , ( T1, T2, T3, T4, T5) )};BOOST_MPL_AUX_NA_SPEC(5, inherit5)/// primary templatetemplate< typename T1 = empty_base, typename T2 = empty_base , typename T3 = empty_base, typename T4 = empty_base , typename T5 = empty_base >struct inherit : inherit5< T1,T2,T3,T4,T5 >{};template<>struct inherit< na,na,na,na,na >{ template< typename T1, typename T2, typename T3, typename T4, typename T5 > struct apply : inherit< T1,T2,T3,T4,T5 > { };};BOOST_MPL_AUX_NA_SPEC_LAMBDA(5, inherit)BOOST_MPL_AUX_NA_SPEC_ARITY(5, inherit)BOOST_MPL_AUX_NA_SPEC_TEMPLATE_ARITY(5, 5, inherit)}}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?