Does this work for you?
class MyIterableDataset(IterableDataset):

    def __init__(self, iterableDataset, pred_filter=None):
        self.iterableDataset = iterableDataset
        self.pred_filter = pred_filter

    def __iter__(self):
        return self

    def __next__(self):
        while True:
            item = next(self.iterableDataset)
            if self.pred_filter is None or self.pred_filter(item):
                return item