// 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_KARMA_DETAIL_GENERATE_AUTO_DEC_01_2009_0743PM) #define BOOST_SPIRIT_KARMA_DETAIL_GENERATE_AUTO_DEC_01_2009_0743PM #if defined(_MSC_VER) #pragma once #endif #include #include #include #include #include namespace boost { namespace spirit { namespace karma { namespace detail { /////////////////////////////////////////////////////////////////////////// template struct generate_impl , mpl::not_ > > >::type> { template static bool call( OutputIterator& sink , Expr const& expr) { return karma::generate(sink, create_generator(), expr); } }; /////////////////////////////////////////////////////////////////////////// template struct generate_delimited_impl , mpl::not_ > > >::type> { template static bool call( OutputIterator& sink , Expr const& expr , Delimiter const& delimiter , BOOST_SCOPED_ENUM(delimit_flag) pre_delimit) { return karma::generate_delimited( sink, create_generator(), delimiter, pre_delimit, expr); } }; }}}} #endif