/** * @file iterable.hpp * @brief J Library Iterable ヘッダファイル。 * @copyright 2001 - 2024 Nomura Kei * @depends * j/lang/object.hpp */ #ifndef J_LANG_ITERABLE_HPP #define J_LANG_ITERABLE_HPP #include <memory> #include <j/lang/object.hpp> #include <j/util/iterator.hpp> namespace j { namespace lang { template <typename T> class Iterable { public: virtual ~Iterable() = default; virtual std::unique_ptr<j::util::Iterator<T>> iterator() const = 0; }; } // namespace lang } // namespace j #endif // J_LANG_ITERABLE_HPP