Date: Sun, 01 Dec 2024 22:28:40 +0300
On December 1, 2024 9:43:24 PM Avi Kivity <avi_at_[hidden]> wrote:
> On Sun, 2024-12-01 at 21:25 +0300, Andrey Semashev wrote:
>> On December 1, 2024 7:57:45 PM Avi Kivity <avi_at_[hidden]> wrote:
>>
>>> On Sun, 2024-12-01 at 19:11 +0300, Andrey Semashev via Std-
>>> Proposals
>>> wrote:
>>
>>> Or we can make it a
>>> niebloid.
>>
>> Sorry, I don't know what this means.
>
>
> A technique used in std::ranges to avoid such pointers-to-functions.
>
> template <typename T>
> struct _Impl_construct
> template <typename... Args>
> static T operator()(Args... args) { return
> T(std::forward<Args>(args)...); }
> };
>
> template <typename T>
> inline _Impl_construct construct;
This would make taking address of std::construct not work, which is unexpected.
std::ranges::transform(&std::construct<T>)
> On Sun, 2024-12-01 at 21:25 +0300, Andrey Semashev wrote:
>> On December 1, 2024 7:57:45 PM Avi Kivity <avi_at_[hidden]> wrote:
>>
>>> On Sun, 2024-12-01 at 19:11 +0300, Andrey Semashev via Std-
>>> Proposals
>>> wrote:
>>
>>> Or we can make it a
>>> niebloid.
>>
>> Sorry, I don't know what this means.
>
>
> A technique used in std::ranges to avoid such pointers-to-functions.
>
> template <typename T>
> struct _Impl_construct
> template <typename... Args>
> static T operator()(Args... args) { return
> T(std::forward<Args>(args)...); }
> };
>
> template <typename T>
> inline _Impl_construct construct;
This would make taking address of std::construct not work, which is unexpected.
std::ranges::transform(&std::construct<T>)
Received on 2024-12-01 19:28:43