/******************************************************************************* * Copyright 2010 Thomas Heller * * Distributed under the Boost Software License, Version 1.0. * See accompanying file LICENSE.txt or copy at * http://www.boost.org/LICENSE_1_0.txt ******************************************************************************/ #ifndef BOOST_PROTO_VISITOR_HPP #define BOOST_PROTO_VISITOR_HPP #include #include namespace boost { namespace proto { namespace detail { template < template class Visitor , template class Grammar > struct visitor_cases { template struct case_ : proto::when< Grammar , Visitor > {}; }; } template < template class Visitor , template class Grammar > struct visitor : proto::switch_< detail::visitor_cases > {}; template < template class Visitor , template class Grammar > struct is_callable > : mpl::true_ {}; }} #endif