/*============================================================================= Copyright (c) 2001-2014 Joel de Guzman 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) ================================================_==============================*/ #if !defined(BOOST_SPIRIT_X3_TUPLE_TRAITS_JANUARY_2012_1132PM) #define BOOST_SPIRIT_X3_TUPLE_TRAITS_JANUARY_2012_1132PM #include #include #include #include #include namespace boost { namespace spirit { namespace x3 { namespace traits { template struct has_same_size : mpl::bool_<( fusion::result_of::size::value == fusion::result_of::size::value )> {}; template struct has_size : mpl::bool_<(fusion::result_of::size::value == N)> {}; template struct is_same_size_sequence : mpl::and_< fusion::traits::is_sequence , fusion::traits::is_sequence , has_same_size > {}; template struct is_size_one_sequence : mpl::and_< fusion::traits::is_sequence , has_size > {}; template struct is_size_one_view : mpl::and_< fusion::traits::is_view , has_size > {}; }}}} #endif