Files
MapLibreParticleLab/include/mbgl/util/scoped.hpp
2024-04-24 07:56:10 +03:00

22 lines
404 B
C++

#pragma once
namespace mbgl {
/// Run a lambda on scope exit
template <typename Func>
struct Scoped {
Scoped(Func&& fn)
: cb(std::move(fn)) {};
~Scoped() { cb(); }
Scoped(const Scoped&) = delete;
Scoped(Scoped&&) noexcept = delete;
Scoped& operator=(const Scoped&) = delete;
Scoped& operator=(Scoped&&) noexcept = delete;
private:
Func cb;
};
} // namespace mbgl