#ifndef ITEM_FILTER_BY_STACK_HPP_
#define ITEM_FILTER_BY_STACK_HPP_

#include <ItemFilter/ItemFilter.hpp>
#include <vector>

/**
 * @brief An item filter which matche stacks that can be merged into a reference stack.
 */
class ItemFilterByStack : public ItemFilter
{
private:
    std::vector<ItemStack> refStacks;

public:
    ItemFilterByStack(std::vector<ItemStack> refStacks);

    virtual bool matches(ItemStack &stack) override;
};

#endif