Files
MapLibreParticleLab/include/mbgl/util/scoped.hpp
2024-02-28 22:18:08 +00:00

22 lines
403 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