|
Boost : |
From: Marcus Tomlinson (themarcustomlinson_at_[hidden])
Date: 2024-12-06 11:46:08
> On 6 Dec 2024, at 06:48, Antony Polukhin <antoshkka_at_[hidden]> wrote:
>
>
>
> On Fri, Nov 29, 2024, 17:41 Marcus Tomlinson via Boost <boost_at_[hidden] <mailto:boost_at_[hidden]>> wrote:
>> Iâm aware that the current implementation of any intentionally avoids copy assignments and uses only copy construction for all value updates. I believe this is due to the fact that copy assignment isnât always available for all types - understandable.
>
>
> This could be solved via type traits.
>
>> My proposal is what if we had a separate âfast-anyâ type that does utilise copy assignment when types match. In my own usage of this new type, Iâve found massive (roughly 2x) performance improvement on consecutive assignments of the same type.
>>
>> Iâd like to gauge whether there would be any interest in adding such a type to the Boost library.
>>
>> Source code: https://github.com/cross-platform/fast_any
>
>
> How about just improving the existing boost::any? If the incomming type is assignable, this is not empty and its type matches the type stored in this, then call unsafe_any_cast and assing the new value
>
> Could you please provide a PR? Thanks in advance
Yeah great idea. Iâll work on this then.
Thanks for your guidence!
>>
>>
>> Regards,
>> Marcus Tomlinson
>>
>> _______________________________________________
>> Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk