#pragma once #include "common.hpp" POLYBAR_NS namespace factory_util { struct null_deleter { template void operator()(T*) const {} }; template unique_ptr generic_instance(Deps... deps) { return make_unique(deps...); } template shared_ptr generic_singleton(Deps... deps) { static auto instance = make_shared(deps...); return instance; } } POLYBAR_NS_END