#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; }