$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
From: Aleksey Gurtovoy (agurtovoy_at_[hidden])
Date: 2002-10-27 04:26:10
Rani Sharoni wrote:
> According to 14.6.5/2 comment 131:
> Friend declarations *do not introduce new names* into any
> scope, either when the template is declared or when it is
> instantiated.
Actually, the example that follows that very paragraph demonstrates how one
can use argument dependent lookup to override the rule
('instantiation_count' does the same):
template<typename T> class number {
number(int);
//...
friend number gcd(number& x, number& y) { /* ... */ }
//...
};
void g()
{
number<double> a(3), b(4);
//...
a = gcd(a,b); // finds gcd because number<double> is an
// associated class, making gcd visible
// in its namespace (global scope)
b = gcd(3,4); // ill-formed; gcd is not visible
}
>
> I hope that I and EDG are wrong.
At least in this regard, yes, you are :).
Aleksey