On 02/14/2014 04:11 PM, Muthu Subramanian wrote:
On 02/14/2014 08:07 PM, Stephan Bergmann wrote:
On 02/14/2014 03:24 PM, Muthu Subramanian wrote:
How else would we build a hash value without too much work?
If you have a structure consisting of multiple parts, compute hash
values for the individual parts and fold them into a single hash value
via some suitable function, like f(x, y) = px + y for some prime p.
Ah...that's what I meant by reusing the hash. Even in which case, there
might be places where we might need large strings (may not make sense to
break them smaller).
Sure, but how exactly rtl::O[U]String::hashCode should behave is
somewhat orthogonal to the point that the current design of
SdPage::getHash is needlessly resource-hungry. And, as I wrote, "I
wouldn't mind changing the rtl string classes' hashCode behavior."
(E.g. SfxItemSet - its nicer to handle it as a group rather than
individual Items)
Depends on your definition of "nice," I'd say. ;)
I have added a hash for SfxItemSet as well recently. (Next step would
be to reuse that hash in SdPage, of course).
...which I had just identified as dead code. ;) Please never
introduce unused code. (And those stringify/hashCode functions
apparently also don't need to be virtual.)
Which one, please? Maybe we are referring to different parts of the
code? I am not aware of dead code per se :(
SfxItemSet::getHash and SfxItemSet::stringify
hmm... I thought I marked them virtual - maybe not for SdPage - I didn't
think SdPage required virtual?
That's my point---none of the getHash/stringify functions in SdPage,
SdrObject, nor SfxItemSet should be virtual.
Stephan
Context
Re: [Libreoffice-commits] core.git: Move string hash function into String class. · Norbert Thiebaud
Privacy Policy |
Impressum (Legal Info) |
Copyright information: Unless otherwise specified, all text and images
on this website are licensed under the
Creative Commons Attribution-Share Alike 3.0 License.
This does not include the source code of LibreOffice, which is
licensed under the Mozilla Public License (
MPLv2).
"LibreOffice" and "The Document Foundation" are
registered trademarks of their corresponding registered owners or are
in actual use as trademarks in one or more countries. Their respective
logos and icons are also subject to international copyright laws. Use
thereof is explained in our
trademark policy.