#include "ItemFilter.h" #include "ItemType.h" #include "Item.h" ItemFilter::ItemFilter() : ReferenceCounter() {} CombinedItemFilter::CombinedItemFilter(ItemFilter* filterA, ItemFilter* filterB, std::function op) : ItemFilter(), filterA(filterA), filterB(filterB), op(op) {} bool CombinedItemFilter::matchItem(const Item* zItem) const { return op(filterA->matchItem(zItem), filterB->matchItem(zItem)); } AnyItemFilter::AnyItemFilter() : ItemFilter() {} bool AnyItemFilter::matchItem(const Item* zItem) const { return true; } TypeItemFilter::TypeItemFilter(const ItemType* zType) : ItemFilter(), zType(zType) {} bool TypeItemFilter::matchItem(const Item* zItem) const { return zItem->zItemType() == zType; }