Some background information: I was trying to use fmt alongside docopt, but as far as I am aware the parsed values cannot be "unconditionally" converted to string-like objects; docopt::value::toXXXX functions throw when the type don't match, and the operator<< overload requires that I use std::ostream (and std::stringstream), which is not an easy one-line solution.
It would be ideal if in the implementation instead of overloading operator<<, a noexcept version of represent function is provided that converts the underlying value with whatever type into a string-like object. Then if providing an operator<< is absolutely necessary, mark the overload inline that simply calls represent.
Some background information: I was trying to use fmt alongside docopt, but as far as I am aware the parsed values cannot be "unconditionally" converted to string-like objects;
docopt::value::toXXXXfunctions throw when the type don't match, and theoperator<<overload requires that I usestd::ostream(andstd::stringstream), which is not an easy one-line solution.It would be ideal if in the implementation instead of overloading
operator<<, a noexcept version ofrepresentfunction is provided that converts the underlying value with whatever type into a string-like object. Then if providing anoperator<<is absolutely necessary, mark the overload inline that simply callsrepresent.