template<typename T, typename SetFunc, typename SetFuncParam>
struct TempSetting
{
TempSetting(T* attr, SetFunc f, SetFuncParam init, SetFuncParam end)
: m_attr(attr)
, m_func(f)
, m_init(init)
, m_end(end)
{
((*m_attr).*m_func)(m_init);
}
~TempSetting()
{
((*m_attr).*m_func)(m_end);
}
private:
T* m_attr{ nullptr };
SetFunc m_func;
SetFuncParam m_init, m_end;
};
Comments
0 B
|👍
/👎