Boost logo

Boost :

From: Daniel Frey (daniel.frey_at_[hidden])
Date: 2004-02-22 09:34:48


Consider:

// A strange way to retrieve my_container.begin():
boost::prior( my_container.end(), my_container.size() );

Is that legal? The second template parameter of boost::prior is deduced
to an unsigned(!) type, which IMHO means that -n is undefined, right? Do
we need to fix this? Maybe:

template <class T>
T prior(T x, typename T::difference_type n)
{
     std::advance(x, -n);
     return x;
}

or shall we document that it's illegal/undefined to call boost::prior()
with an unsigned second parameter?

Regards, Daniel

-- 
Daniel Frey
aixigo AG - financial solutions & technology
Schloß-Rahe-Straße 15, 52072 Aachen, Germany
fon: +49 (0)241 936737-42, fax: +49 (0)241 936737-99
eMail: daniel.frey_at_[hidden], web: http://www.aixigo.de

Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk