#include <boost/detail/workaround.hpp>

namespace boost { namespace spirit { namespace detail
{
    template <typename Context>
    struct what_function
    {
        what_function(info& what, Context& context)
          : what(what), context(context)
