51 if (instance_ !=
nullptr) {
53 ss <<
"Mock `" <<
typeid(GlobalMock).name()
54 <<
"` is already instantiated.";
55 throw std::runtime_error(std::move(ss).str());
62 virtual ~GlobalMock() { instance_ =
nullptr; }
64 static Mock &Instance() {
65 if (instance_ ==
nullptr) {
67 ss <<
"Mock `" <<
typeid(GlobalMock).name() <<
"` not instantiated yet.";
68 throw std::runtime_error(std::move(ss).str());
70 return *
static_cast<Mock *
>(instance_);
73 GlobalMock(
const GlobalMock &) =
delete;
74 GlobalMock &operator=(
const GlobalMock &) =
delete;
75 GlobalMock(GlobalMock &&) =
delete;
76 GlobalMock &operator=(GlobalMock &&) =
delete;
79 static GlobalMock<Mock> *instance_;