27 #ifndef MLN_METAL_BEXPR_HH
28 # define MLN_METAL_BEXPR_HH
35 # include <mln/metal/bool.hh>
38 # define mlc_not( B ) mln::metal::not_< B >
39 # define mlc_and( B1, B2 ) mln::metal::and_< B1, B2 >
40 # define mlc_or( B1, B2 ) mln::metal::or_ < B1, B2 >
41 # define mlc_xor( B1, B2 ) mln::metal::xor_< B1, B2 >
63 template <
typename L,
typename R>
64 struct and_ :
bool_<( L::value && R::value )>
72 template <
typename L,
typename R>
73 struct or_ :
bool_<( L::value || R::value )>
81 template <
typename L,
typename R>
82 struct xor_ :
bool_<( L::value ^ R::value )>
91 #endif // ! MLN_METAL_BEXPR_HH