← Back to team overview

dolfin team mailing list archive

Re: RFC: remove (container.size() == 0) idiom

 

On Thu, Mar 01, 2012 at 08:29:25AM +0000, Garth N. Wells wrote:
> On 1 March 2012 08:22, Marco Morandini <morandini@xxxxxxxxxxxxxx> wrote:
> > There are some occurrences of
> >
> > container.size() == 0
> >
> > scattered throughout the code
> > (and fewer of container.size() != 0) .
> > Many of them are harmless, i.e. whenever container
> > is a vector. Some of them, however,
> > are for maps of sets (e.g. dolfin/adaptivity/Extrapolation.cpp:149 ),
> > leading to completely unnecessary O(N) operations (racall that size() is
> > O(N) for a map or a list).
> >
>
> Thanks for pointing this out.

I didn't know about this.

> > I'd like to prepare a (mostly mechanical) patch that changes them into
> > container.empty() .
> >
> > Would be acceptable to change all of them (I'd like to go for this route) or
> > should I change only the places where container is not a vector?
> >
>
> For consistency, I suggest using empty() everywhere. I'd be happy for
> you to make the changes and push a branch to Launchpad.

Me too.

--
Anders


Follow ups

References