#ifndef ITERABLEQUEUE_HPP_INCLUDED
#define ITERABLEQUEUE_HPP_INCLUDED

#include "../JavaClass/Object.hpp"
#include "../JavaClass/Class.hpp"
#include "CacheableNode.hpp"

namespace Internal
{
    class IterableQueue : public Object
    {
        public:
            IterableQueue(const void* Obj);

            IterableQueue() = default;
            IterableQueue(IterableQueue&& Obj) = default;
            IterableQueue(const IterableQueue& Obj) = default;
            IterableQueue& operator=(IterableQueue&& Obj) = default;
            IterableQueue& operator=(const IterableQueue& Obj) = default;

            static Class GetClass();

            CacheableNode GetHead() const;

    };
}

#endif // ITERABLEQUEUE_HPP_INCLUDED
