\( \newcommand{\E}{\mathrm{E}} \) \( \newcommand{\A}{\mathrm{A}} \) \( \newcommand{\R}{\mathrm{R}} \) \( \newcommand{\N}{\mathrm{N}} \) \( \newcommand{\Q}{\mathrm{Q}} \) \( \newcommand{\Z}{\mathrm{Z}} \) \( \def\ccSum #1#2#3{ \sum_{#1}^{#2}{#3} } \def\ccProd #1#2#3{ \sum_{#1}^{#2}{#3} }\)

CGAL 4.8 - dD Range and Segment Trees

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
List of all members
CGAL::tree_point_traits< Data, Window, Key, Data_func, Window_left_func, Window_right_func, Compare > Class Template Reference
Traits Classes

`#include <CGAL/Tree_traits.h>`

## Definition

`tree_point_traits` is a template class that provides an interface to data items.

## Types
typedef unspecified_type | Data
| the container `Data` - defines the Data type. More...
typedef unspecified_type | Window
| the container `Window` - defines the type of the query rectangle. More...
typedef unspecified_type | Key
| the type `Key` of the data slot this traits class provides access to.
typedef unspecified_type | Data_func
| `Data_func` is a function object providing an `operator()` that takes an argument of type `Data` and returns a component of type `Key`.
typedef unspecified_type | Window_left_func
| `Window_left_func` is a function objects that allow to access the left data slot of container `Window` which has type `Key`
typedef unspecified_type | Window_right_func
| `Window_right_func` is a function objects that allow to access the right data slot of container `Window` which has type `Key`
typedef unspecified_type | Compare
| defines a comparison relation which must define a strict ordering of the objects of type `Key`. More...

## Operations
Key | get_key (Data d)
| The data slot of the data item of `d` of type `Key` is accessed by function object `Data_func`.
Key | get_left (Window w)
| The data slot of the data item of `w` of type `Key` is accessed by function object `Window_left_func`.
Key | get_right (Window w)
| The data slot of the data item of `w` of type `Key` is accessed by function object `Window_right_func`.
static bool | comp (Key &key1, Key &key2)
| returns `Compare(key1, key2)`.
static bool | key_comp (Data &data1, Data &data2)
| returns `Compare(get_key(data1), get_key(data2))`.

## Member Typedef Documentation

template<typename Data , typename Window , typename Key , typename Data_func , typename Window_left_func , typename Window_right_func , typename Compare >

typedef unspecified_type CGAL::tree_point_traits< Data, Window, Key, Data_func, Window_left_func, Window_right_func, Compare >::Compare

defines a comparison relation which must define a strict ordering of the objects of type `Key`.

If defined, `less<Key>` is sufficient.

template<typename Data , typename Window , typename Key , typename Data_func , typename Window_left_func , typename Window_right_func , typename Compare >

typedef unspecified_type CGAL::tree_point_traits< Data, Window, Key, Data_func, Window_left_func, Window_right_func, Compare >::Data

the container `Data` - defines the Data type.

It may consist of several data slots. One of these data slots has to be of type `Key`.

template<typename Data , typename Window , typename Key , typename Data_func , typename Window_left_func , typename Window_right_func , typename Compare >

typedef unspecified_type CGAL::tree_point_traits< Data, Window, Key, Data_func, Window_left_func, Window_right_func, Compare >::Window

the container `Window` - defines the type of the query rectangle.

It may consist of several data slots. Two of these data slots has to be of type `Key`