// 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