|
Boost Users : |
Subject: [Boost-users] operator<< for std::vector< boost::variant< type_a, type_b >>
From: Maarten Verhage (m_r_verhage_at_[hidden])
Date: 2018-06-18 18:55:12
Dear boost-savvy people,
I fail to understand how I need to write a working ostream overload for a type I have. I've read the boost::variant documentation. As well as stackoverflow question:
Still I fail to understand how to make it work for the type I have. In the code you can see parameter_t is an element in the employee_t. I need to keep this data structure this way.
Attached is my single 30 line problem code. I do compile with gcc 5.1.0 with C++14 support.
It doesn't compile. The important part of the compiler output might be:
C:\dev\boost_1_67_0/boost/variant/detail/variant_io.hpp:64:14: error: no match for 'operator<<' (operand types are 'std::basic_ostream<char>' and 'const std::vector<boost::variant<int, double> >')
out_ << operand;
My overload is obviously wrong. I would be very happy if someone can show me how to make it work.
Best regards,
Maarten Verhage
Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net