diff --git a/boost/yap/expression_fwd.hpp b/boost/yap/expression_fwd.hpp index 2d7f2ca..a5cd44a 100644 --- a/boost/yap/expression_fwd.hpp +++ b/boost/yap/expression_fwd.hpp @@ -69,15 +69,25 @@ namespace boost { namespace yap { call ///< \c () }; +#ifndef BOOST_YAP_DOXYGEN + template struct expression; +#ifndef BOOST_YAP_DOXYGEN + + /** A convenience alias for a terminal expression holding a \a T, + instantiated from expression template \a expr_template. */ template class expr_template = expression> using terminal = expr_template>; + /** A convenience alias for a reference expression holding an expression + \a T, instantiated from expression template \a expr_template. */ template class expr_template = expression> using expression_ref = expr_template *>>; +#endif // BOOST_YAP_DOXYGEN + template decltype(auto) evaluate (Expr && expr, T && ...t); @@ -99,8 +109,11 @@ namespace boost { namespace yap { template decltype(auto) right (Expr && expr); +#endif // BOOST_YAP_DOXYGEN + namespace literals { + /** Creates literal placeholders. Placeholder indices are 1-based. */ template constexpr auto operator"" _p () { @@ -111,6 +124,8 @@ namespace boost { namespace yap { } +#ifndef BOOST_YAP_DOXYGEN + // Tag types -- one per expr_kind: struct expr_ref_tag {}; @@ -170,6 +185,8 @@ namespace boost { namespace yap { // n-ary struct call_tag {}; // () +#endif // BOOST_YAP_DOXYGEN + } } #endif diff --git a/boost/yap/print.hpp b/boost/yap/print.hpp index c493d29..3b9ba34 100644 --- a/boost/yap/print.hpp +++ b/boost/yap/print.hpp @@ -119,6 +119,7 @@ namespace boost { namespace yap { } + /** Prints expression \a expr to stream \a os. Returns \a os. */ template std::ostream & print (std::ostream & os, Expr const & expr) { return detail::print_impl(os, expr, 0, " "); }