7#ifndef BOTAN_SCOPED_CLEANUP_H_
8#define BOTAN_SCOPED_CLEANUP_H_
23template <std::invocable FunT>
35 m_cleanup = std::move(other.m_cleanup);
42 if(m_cleanup.has_value()) {
53 std::optional<FunT> m_cleanup;
scoped_cleanup(const scoped_cleanup &)=delete
scoped_cleanup(scoped_cleanup &&other) noexcept
scoped_cleanup & operator=(const scoped_cleanup &)=delete
scoped_cleanup(FunT cleanup)
void disengage() noexcept
scoped_cleanup & operator=(scoped_cleanup &&other) noexcept