/** * @file ListInterface.h * @author Anatole SCHRAMM-HENRY * @brief Interface defining all the needed function of a List type object * @version 0.1 * @date 2025-10-29 * * @copyright MIT * */ #ifndef LISTINTERFACE__H #define LISTINTERFACE__H template class ListInterface { public: virtual boolean addFirst(T element) = 0; virtual boolean add(T element) = 0; virtual T remove(size_t index) = 0; virtual T removeFirst() = 0; virtual T removeLast() = 0; virtual T get(size_t index) = 0; virtual T operator[](size_t index) = 0; virtual T getFirst() = 0; virtual T getLast() = 0; virtual int64_t contains(T element) = 0; virtual size_t count() = 0; virtual size_t clear() = 0; virtual size_t dispose() = 0; protected: private: }; #endif //LISTINTERFACE__H