Boost logo

Boost :

From: Eric Niebler (eric_at_[hidden])
Date: 2007-10-24 11:58:02

Neal Becker wrote:
> I'm a bit confused.
> I'm working with blitz++. It has
> template<typename T, int N> class Array ...
> which already has a begin(), end(), but I can't use them. I'm specializing
> boost::begin,end,etc to hide them (I don't want to modify the blitz Array
> class)
> If I specialize range_begin:
> namespace boost {
> template<typename T, int N>
> inline typename blitz::array_iterator< blitz::Array<T,N> >::type
> range_begin (blitz::Array<T,N> & a) {
> return blitz::range_begin (a);
> }
> }

(Terminology issue: this is an overload, not a specialization.)

The correct place for the range_begin() overload for conforming
compilers would be in the same namespace as the Array class. That way,
it is found via ADL.


Eric Niebler
Boost Consulting

Boost list run by bdawes at, gregod at, cpdaniel at, john at