#ifndef INVERTED_ITEM_FILTER_HPP_
#define INVERTED_ITEM_FILTER_HPP_

#include <ItemFilter/ItemFilter.hpp>

/**
 * @brief An item filter which inverts another filter.
 */
class InvertedItemFilter : public ItemFilter
{
private:
    std::unique_ptr<ItemFilter> inner;

public:
    InvertedItemFilter(std::unique_ptr<ItemFilter> &&inner);

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

#endif