#pragma once namespace STG { template struct NotifierBase { virtual ~NotifierBase() = default; virtual void notify(const Ts&... values) = 0; }; template using PropertyNotifierBase = NotifierBase; }