Chris@102
|
1 /*==============================================================================
|
Chris@102
|
2 Copyright (c) 2005-2010 Joel de Guzman
|
Chris@102
|
3 Copyright (c) 2010 Thomas Heller
|
Chris@102
|
4 Copyright (c) 2014 John Fletcher
|
Chris@102
|
5
|
Chris@102
|
6 Distributed under the Boost Software License, Version 1.0. (See accompanying
|
Chris@102
|
7 file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
Chris@102
|
8 ==============================================================================*/
|
Chris@102
|
9 #ifndef BOOST_PHOENIX_CORE_DEBUG_HPP
|
Chris@102
|
10 #define BOOST_PHOENIX_CORE_DEBUG_HPP
|
Chris@102
|
11
|
Chris@102
|
12 #include <iostream>
|
Chris@102
|
13 #include <boost/phoenix/version.hpp>
|
Chris@102
|
14 // Some other things may be needed here...
|
Chris@102
|
15
|
Chris@102
|
16 // Include all proto for the time being...
|
Chris@102
|
17 #include <boost/proto/proto.hpp>
|
Chris@102
|
18
|
Chris@102
|
19 namespace boost { namespace phoenix
|
Chris@102
|
20 {
|
Chris@102
|
21
|
Chris@102
|
22 // For now just drop through to the Proto versions.
|
Chris@102
|
23
|
Chris@102
|
24 /// \brief Pretty-print a Phoenix expression tree using the Proto code.
|
Chris@102
|
25 ///
|
Chris@102
|
26 /// \note Equivalent to <tt>functional::display_expr(0, sout)(expr)</tt>
|
Chris@102
|
27 /// \param expr The Phoenix expression tree to pretty-print
|
Chris@102
|
28 /// \param sout The \c ostream to which the output should be
|
Chris@102
|
29 /// written. If not specified, defaults to
|
Chris@102
|
30 /// <tt>std::cout</tt>.
|
Chris@102
|
31 template<typename Expr>
|
Chris@102
|
32 void display_expr(Expr const &expr, std::ostream &sout)
|
Chris@102
|
33 {
|
Chris@102
|
34 boost::proto::display_expr(expr,sout);
|
Chris@102
|
35 }
|
Chris@102
|
36
|
Chris@102
|
37 /// \overload
|
Chris@102
|
38 ///
|
Chris@102
|
39 template<typename Expr>
|
Chris@102
|
40 void display_expr(Expr const &expr)
|
Chris@102
|
41 {
|
Chris@102
|
42 boost::proto::display_expr(expr);
|
Chris@102
|
43 }
|
Chris@102
|
44
|
Chris@102
|
45 } // namespace phoenix
|
Chris@102
|
46 } // namespace boost
|
Chris@102
|
47
|
Chris@102
|
48
|
Chris@102
|
49
|
Chris@102
|
50 #endif
|