13 namespace boost {
namespace mpl {
22 struct shift_right_impl
25 , aux::cast2nd_impl< shift_right_impl< Tag1,Tag1 >,Tag1, Tag2 >
26 , aux::cast1st_impl< shift_right_impl< Tag2,Tag2 >,Tag1, Tag2 >
32 template<>
struct shift_right_impl< na,na >
34 template<
typename U1,
typename U2 >
struct apply
43 template<
typename U1,
typename U2 >
struct apply
52 template<
typename U1,
typename U2 >
struct apply
69 : aux::msvc_eti_base< typename apply_wrap2<
71 typename shift_right_tag<N1>::type
72 , typename shift_right_tag<N2>::type
87 namespace boost {
namespace mpl {
90 template<
typename T,
typename Shift, T n, Shift s >
91 struct shift_right_wknd
102 template<
typename N,
typename S >
struct apply
104 typename N::value_type
105 , typename S::value_type