rangetree_fwd.h

Back to Range tree

pastel/geometry/rangetree/

// Description: Range tree

#ifndef PASTELGEOMETRY_RANGETREE_FWD_H
#define PASTELGEOMETRY_RANGETREE_FWD_H

#include "pastel/sys/mytypes.h"
#include "pastel/sys/range.h"

#include <vector>

namespace Pastel
{

    template <typename, template <typename> class>
    class RangeTree;

    template <typename Settings>
    class RangeTree_Fwd
    {
    public:
        using Fwd = Settings;
        PASTEL_FWD(Point);
        PASTEL_FWD(MultiLess);

        using PointSet = 
            std::vector<Point>;
        using Point_Iterator = 
            typename PointSet::iterator;
        using Point_ConstIterator = 
            typename PointSet::const_iterator;

        class Node;
        class Entry;

        using EntrySet = std::vector<Entry>;
        using Entry_Iterator = typename EntrySet::iterator;
        using Entry_ConstIterator = typename EntrySet::const_iterator;
        using Entry_Range = boost::iterator_range<Entry_Iterator>;
        using Entry_ConstRange = boost::iterator_range<Entry_ConstIterator>;

        using Node_Iterator = Node*;
        using Node_ConstIterator = const Node*;

    };

}

#endif