[Bug libstdc++/15910] can't compile self defined void distance(std::vector<T>, std::vector<T>)
adah at netstd dot com
gcc-bugzilla@gcc.gnu.org
Fri Aug 12 09:24:00 GMT 2005
------- Additional Comments From adah at netstd dot com 2005-08-12 09:23 -------
(In reply to comment #95)
> | > | Herb Sutter's opinion (N1792) is a little different. He thinks that
> | > | ADL should not work in the OP's example, because distance is simply
> | > | not an `interface' of std::vector (technically, instead of from
> | > | human eyes). But it is also self-consistent.
> | > All those are assertions, little evidence. Notice that what is
> | > considered an "interface" varies from one individual to another
> | > individual. And we just don't have a definition for it, so you're
> | > still using your "human eyes" definition, i.e. projection of your own
> | > wishes.
> |
> | By `technical' I meant algorithmically recognizable.
> you still fail to provide such a definition for "interface".
> -- Gaby
Why should I? Herb defined it in Exceptional C++, Item 32:
For a class X, all functions, including free functions, that both
* `mention' X
* are `supplied with' X
are logically part of X, because they form part of the interface of X.
Yongwei
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=15910
More information about the Gcc-bugs
mailing list