예제 #1
0
void FontFactory::Shrink()
{
	RETURN_IF_EMPTY(mItems);
	List<FontId, EqualCompare<FontId> > unusedKeys;
	FOR_EACH_COLLECTION(i, mItems)
	{
		const FontId& fileId = i->Key;
		IFont* item = i->Value;
		if (!item->IsShared())
		{
			unusedKeys.Add(fileId);
		}
	}

	RETURN_IF_EMPTY(unusedKeys);
	FOR_EACH_COLLECTION(i, unusedKeys)
	{
		Remove(*i);
	}