namespace boost { namespace yap { template<expr_kind Kind> struct expr_tag; template<typename Expr> struct is_expr; template<expr_kind Kind, typename Tuple> struct minimal_expr; template<long long I> struct placeholder; enum expr_kind; typedef expr_template< expr_kind::terminal, hana::tuple< T > > terminal; typedef expr_template< expr_kind::expr_ref, hana::tuple< std::remove_reference_t< T > * > > expression_ref; namespace literals { template<char... c> constexpr auto operator""_p(); } } }