examples: improve the output of the "variant" example

* examples/variant.yy: Improve the printing of lists.
This commit is contained in:
Akim Demaille
2013-09-19 15:20:22 +02:00
parent 66b03e134f
commit b51cf830a6

View File

@@ -16,7 +16,7 @@
*/ */
%debug %debug
%skeleton "lalr1.cc" %language "c++"
%defines %defines
%define api.token.constructor %define api.token.constructor
%define api.value.type variant %define api.value.type variant
@@ -48,11 +48,17 @@ typedef std::list<std::string> strings_type;
namespace std namespace std
{ {
std::ostream& std::ostream&
operator<< (std::ostream& o, const strings_type& s) operator<< (std::ostream& o, const strings_type& ss)
{ {
std::copy (s.begin (), s.end (), o << "(" << &ss << ") {";
std::ostream_iterator<strings_type::value_type> (o, "\n")); const char *sep = "";
return o; for (strings_type::const_iterator i = ss.begin(), end = ss.end();
i != end; ++i)
{
o << sep << *i;
sep = ", ";
}
return o << "}";
} }
} }