Example #1
0
int main()
{
    /*shared_ptr<Foobar> ptrShared(new Foobar);
	weak_ptr<Foobar> ptrWeak(ptrShared);
	cout<<"weak_ptr valid:"<<(!ptrWeak.expired() ? "true" : "false")<<endl;
	shared_ptr<Foobar> ptrShared1 = ptrWeak.lock();
	ptrShared = nullptr;
	cout<<"weak_ptr valid:"<<(!ptrWeak.expired() ? "true" : "false")<<endl;*/
	EventDispatcher *dispatcher = new EventDispatcher;
	//vector<EventConnectionHolder> eventConnHolderPool;
	//eventConnHolderPool.push_back(dispatcher->subscribeEvent());
	EventConnectionHolder connectionHolder;
	connectionHolder = dispatcher->subscribeEvent();
	EventSlot slot(std::move(connectionHolder));
	//dispatcher->subscribeEvent();
	//EventSlot slot = dispatcher->subscribeEvent();
	//EventConnectionHolder connectionHolder(dispatcher->subscribeEvent());
	/*for(auto &holder : eventConnHolderPool)
	{
		holder.disconnect();
	}*/
	//connectionHolder.disconnect();
	delete dispatcher;
	return 0;
}