SfxItemSet::HasItem method

Kohei Yoshida kohei.yoshida at suse.com
Tue Feb 7 08:13:44 PST 2012


On Tue, 2012-02-07 at 13:56 +0100, Lubos Lunak wrote:
> On Monday 06 of February 2012, Kohei Yoshida wrote:
> > Hi there,
> >
> > I've just added a new method to SfxItemSet to provide an easy way to
> > check whether or not an item is already set, and if it's already set,
> > get that item.  Here is what I've added:
> >
> > bool SfxItemSet::HasItem(sal_uInt16 nWhich, const SfxPoolItem*& rpItem)
> > const {
> >     return SFX_ITEM_SET == GetItemState(nWhich, true, &rpItem);
> > }
> 
>  I would suggest to make the second argument 'const SfxPoolItem **ppItem = 0', 
> not only to keep it consistent with GetItemState(), but also to make it more 
> visible that it is an out argument. The intuitive reading of "if( 
> set.HasItem( which, item ))" to me is "does 'set' have an item of 
> type 'which' that is 'item'?".

Yeah.  I'd thought about it, but I'd decided to favor *& over ** purely
for my personal preference.

But then now that you mention it, maybe you have a point, and I agree
that having an extra & may make it more obvious that it's an optional
argument.

I'll make that change.

Kohei

-- 
Kohei Yoshida, LibreOffice hacker, Calc



More information about the LibreOffice mailing list