# AUTOGENERATED! DO NOT EDIT! File to edit: ../../nbs/loader.base.ipynb.

# %% ../../nbs/loader.base.ipynb 3
from __future__ import print_function, division, annotations
from ..imports import *

# %% auto 0
__all__ = ['BaseDataLoader']

# %% ../../nbs/loader.base.ipynb 4
class BaseDataLoader:
    """Dataloader Interface"""
    
    def __init__(
        self, 
        dataset, 
        batch_size: int = 1,  # batch size
        shuffle: bool = False,  # if true, dataloader shuffles before sampling each batch
        num_workers: int = 0,  # how many subprocesses to use for data loading.
        drop_last: bool = False,
        **kwargs
    ):
        pass

    def __len__(self):
        raise NotImplementedError
    
    def __next__(self):
        raise NotImplementedError
    
    def __iter__(self):
        raise NotImplementedError
