36 lines
893 B
C++
36 lines
893 B
C++
/**
|
|
* @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 <typename T>
|
|
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
|