Do we really need this to be standardized?

https://gcc.godbolt.org/z/6zTMPPWbz

#include <cstdio>

template<class E>
struct ScopeExit{
ScopeExit(E e) : e(e){}

~ScopeExit(){
e();
}

private:
E e;
};

int main(){
ScopeExit guard([](){ printf("hi!\n"); });
}



On Tue, Aug 3, 2021 at 3:22 PM Andrey Semashev via Std-Proposals <std-proposals@lists.isocpp.org> wrote:
On 8/3/21 3:08 PM, Jens Maurer via Std-Proposals wrote:
> On 03/08/2021 11.46, Baruch Burstein via Std-Proposals wrote:
>> Hi.
>> Why is there no generic scope guard in the standard library?
>> I am sure there must have been such a proposal before, probably with an explanation of why it was not accepted, but I couldn't find it.
>
> Try std::unique_ptr with a custom deleter.

This only works for pointers. I wish Boost.ScopeExit was transformed
into a language feature.

https://www.boost.org/doc/libs/1_76_0/libs/scope_exit/doc/html/index.html
--
Std-Proposals mailing list
Std-Proposals@lists.isocpp.org
https://lists.isocpp.org/mailman/listinfo.cgi/std-proposals