8282c4b10e
Fixes #31.
33 lines
712 B
C++
33 lines
712 B
C++
// Copyright (C) 2016-2018 T. Zachary Laine
|
|
//
|
|
// 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)
|
|
//[hello_world_redux
|
|
#include <boost/yap/algorithm.hpp>
|
|
|
|
#include <iostream>
|
|
|
|
|
|
template <boost::yap::expr_kind Kind, typename Tuple>
|
|
struct stream_expr
|
|
{
|
|
static const boost::yap::expr_kind kind = Kind;
|
|
|
|
Tuple elements;
|
|
|
|
template <typename T>
|
|
decltype(auto) operator<< (T && x)
|
|
{ return boost::yap::value(*this) << std::forward<T &&>(x); }
|
|
};
|
|
|
|
|
|
int main ()
|
|
{
|
|
auto cout = boost::yap::make_terminal<stream_expr>(std::cout);
|
|
cout << "Hello" << ',' << " world!\n";
|
|
|
|
return 0;
|
|
}
|
|
//]
|