Boost logo

Boost Users :

From: Steven Watanabe (watanabesj_at_[hidden])
Date: 2008-04-07 15:03:57


AMDG

Ovanes Markarian wrote:
> Just an addition:
>
> Explicit specialization of std templates is legal. So if you _exactly_
> know vector types for which your <<-operator should work you can write:
>
> namespace std
> {
> template<>
> ostream& operator<< (ostream& os, const vector<MyTypeX>& v)
> {
> copy(v.begin(), v.end(), ostream_iterator<T>(os, ";"));
> return os;
> }
> }
>
> By the way there was a big discussion about this on std list and I
> fluently read the upcoming Standard draft and saw that this paragraph
> changed. I not any longer sure if this will be allowed with the new
> standard.

There has to be template to specialize. The std library doesn't have
an overload of operator<< that matches std vector. Specialization
can't change that.

In Christ,
Steven Watanabe


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