4#ifndef _Stroika_Foundation_Execution_Finally_h_
5#define _Stroika_Foundation_Execution_Finally_h_ 1
7#include "Stroika/Foundation/StroikaPreComp.h"
12#include "Stroika/Foundation/Common/Common.h"
13#include "Stroika/Foundation/Common/Concepts.h"
31 template <Common::INoThrowInvocable FUNCTION>
34 FinallySentry () =
delete;
35 FinallySentry (FUNCTION&& f);
36 FinallySentry (FinallySentry&&) =
default;
37 FinallySentry (
const FinallySentry&) =
delete;
43 nonvirtual FinallySentry& operator= (
const FinallySentry&) =
delete;
46 FUNCTION fCleanupCodeBlock_;
89 template <Common::INoThrowInvocable FUNCTION>
90 auto Finally (FUNCTION&& f) -> Private_::FinallySentry<FUNCTION>;
auto Finally(FUNCTION &&f) -> Private_::FinallySentry< FUNCTION >