Questions about bool or sal_Bool in Any::setValue, makeAny

Matteo Casalin matteo.casalin at
Mon Nov 17 14:40:20 PST 2014

On 11/17/2014 10:39 PM, Michael Stahl wrote:
> On 16.11.2014 19:57, Matteo Casalin wrote:
>> Hi all,
>>       I was converting all sw call-places to Any::setValue that pass
>> sal_Bool to use bool instead. I wonder if this is a good choice or not,
>> is there any guideline?
> it looks like the Any has specific support for C++ bool so it should
> work fine.

I confirm that the code compiles fine (on Linux x86_64), so I'll proceed 
with these changes.

>> Also some of these call places look like:
>>       sal_Bool bTrue = sal_True;
>>       uno::Any aVal(&bTrue, ::getBooleanCppuType());
>>       some_function_call( aVal );
>> or
>>       uno::Any aAny;
>>       sal_Bool bFalse = sal_False;
>>       aTmp.setValue(&bFalse, ::getBooleanCppuType()  );
>>       some_function_call( aTmp );
>> could these be changed to use makeAny(bool)? Does this hold also if the
>> same Any object is used multiple times (each time calling setValue on it)?
> it's much better to use a type-safe method like makeAny() or operator<<=
> and not the Any::setValue()/getValue() methods that operate on unsafe void*.

Thank you Michael for the hints.
I will work on a patch that does both bool and makeAny (or <<=) and 
submit it to gerrit for a final review.

> _______________________________________________
> LibreOffice mailing list
> LibreOffice at

More information about the LibreOffice mailing list