/*============================================================================= Copyright (c) 2001-2011 Hartmut Kaiser 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_HANDLES_CONTAINER_DEC_18_2010_0920AM) #define BOOST_SPIRIT_HANDLES_CONTAINER_DEC_18_2010_0920AM #if defined(_MSC_VER) #pragma once #endif #include #include #include #include #include #include namespace boost { namespace spirit { namespace traits { // Finds out whether a component handles container attributes intrinsically // (or whether container attributes need to be split up separately). template struct handles_container : mpl::false_ {}; template struct unary_handles_container : handles_container {}; template struct binary_handles_container : mpl::or_< handles_container , handles_container > {}; template struct nary_handles_container : mpl::not_< is_same< typename mpl::find_if< Elements, handles_container >::type , typename mpl::end::type> > {}; }}} #endif