bounded_array_fwd.h

Back to Bounded array

pastel/sys/

// Description: Bounded array types

#ifndef PASTELSYS_BOUNDED_ARRAY_FWD_H
#define PASTELSYS_BOUNDED_ARRAY_FWD_H

#include "pastel/sys/mytypes.h"

namespace Pastel
{

    template <typename, template <typename> class>
    class BoundedArray;

    namespace BoundedArray_
    {

        template <typename>
        class Iterator;

    }

    template <typename Settings>
    class BoundedArray_Fwd
    {
    public:
        using Fwd = Settings;
        PASTEL_FWD(Element);
        static constexpr integer N = Settings::N;

        using Iterator = BoundedArray_::Iterator<Element>;
        using ConstIterator = BoundedArray_::Iterator<const Element>;
        using Range = boost::iterator_range<Iterator>;
        using ConstRange = boost::iterator_range<ConstIterator>;

        using iterator = Iterator;
        using const_iterator = ConstIterator;
    };

}

#endif