Chris@16
|
1 // Copyright (c) 2001-2011 Hartmut Kaiser
|
Chris@16
|
2 //
|
Chris@16
|
3 // Distributed under the Boost Software License, Version 1.0. (See accompanying
|
Chris@16
|
4 // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
Chris@16
|
5
|
Chris@16
|
6 #if !defined(BOOST_SPIRIT_KARMA_DELIMIT_FEB_20_2007_1208PM)
|
Chris@16
|
7 #define BOOST_SPIRIT_KARMA_DELIMIT_FEB_20_2007_1208PM
|
Chris@16
|
8
|
Chris@16
|
9 #if defined(_MSC_VER)
|
Chris@16
|
10 #pragma once
|
Chris@16
|
11 #endif
|
Chris@16
|
12
|
Chris@16
|
13 #include <boost/spirit/home/support/unused.hpp>
|
Chris@16
|
14 #include <boost/spirit/home/karma/detail/unused_delimiter.hpp>
|
Chris@16
|
15
|
Chris@16
|
16 namespace boost { namespace spirit { namespace karma
|
Chris@16
|
17 {
|
Chris@16
|
18 ///////////////////////////////////////////////////////////////////////////
|
Chris@16
|
19 // Do delimiting. This is equivalent to p << d. The function is a
|
Chris@16
|
20 // no-op if spirit::unused is passed as the delimiter-generator.
|
Chris@16
|
21 ///////////////////////////////////////////////////////////////////////////
|
Chris@16
|
22 template <typename OutputIterator, typename Delimiter>
|
Chris@16
|
23 inline bool delimit_out(OutputIterator& sink, Delimiter const& d)
|
Chris@16
|
24 {
|
Chris@16
|
25 return d.generate(sink, unused, unused, unused);
|
Chris@16
|
26 }
|
Chris@16
|
27
|
Chris@16
|
28 template <typename OutputIterator>
|
Chris@16
|
29 inline bool delimit_out(OutputIterator&, unused_type)
|
Chris@16
|
30 {
|
Chris@16
|
31 return true;
|
Chris@16
|
32 }
|
Chris@16
|
33
|
Chris@16
|
34 ///////////////////////////////////////////////////////////////////////////
|
Chris@16
|
35 template <typename OutputIterator, typename Delimiter>
|
Chris@16
|
36 inline bool delimit_out(OutputIterator&
|
Chris@16
|
37 , detail::unused_delimiter<Delimiter> const&)
|
Chris@16
|
38 {
|
Chris@16
|
39 return true;
|
Chris@16
|
40 }
|
Chris@16
|
41
|
Chris@16
|
42 }}}
|
Chris@16
|
43
|
Chris@16
|
44 #endif
|
Chris@16
|
45
|