## CGAL::tree_point_traits

### Definition

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

#include <CGAL/Tree_traits.h>

### Types

typedef
tree_point_traits<Data, Window, Key, Data_func, Window_left_func, Window_right_func, Compare> Point_traits;

tree_point_traits::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.
tree_point_traits::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
tree_point_traits::Key
| the type Key of the data slot this traits class provides access to.
tree_point_traits::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.
tree_point_traits::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
tree_point_traits::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
tree_point_traits::Compare
| defines a comparison relation which must define a strict ordering of the objects of type Key. If defined, less<Key> is sufficient.

### Creation

tree_point_traits<Data, Window, Key, Data_func, Window_left_func, Window_right_func, Compare> d();
Generation of a tree_point_traits instance. It is a template class that provides an interface to data items.

### Operations

Key | d.get_key ( Data d)
|  | The data slot of the data item of d of type Key is accessed by function object Data_func.
Key | d.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 | d.get_right ( Window w)
|  | The data slot of the data item of w of type Key is accessed by function object Window_right_func.
bool | d.comp ( Key& key1, Key& key2)
|  | returns Compare(key1, key2).
bool | d.key_comp ( Data& data1, Data& data2)
|  | returns Compare(get_key(data1), get_key(data2)).