/** * @file list.hpp * @brief J Library List ヘッダファイル。 * @copyright 2001 - 2024 Nomura Kei * @depends * j/lang/iterable.hpp */ #ifndef J_UTIL_LIST_HPP #define J_UTIL_LIST_HPP #include <j/util/collection.hpp> namespace j { namespace util { template <typename T> class List : public Collection<T> { public: virtual ~List() = default; virtual void add(int index, const T &t) = 0; virtual T remove(int index) = 0; virtual T &get(int index) = 0; virtual T set(int index, const T &t) = 0; virtual int indexOf(const T &t) const = 0; virtual int lastIndexOf(const T &t) const = 0; }; } // namespace util } // namespace j #endif // J_UTIL_LIST_HPP