## CGAL::tree_interval_traits

### Definition

tree_interval_traits is a template class that provides an interface to data items. It is similar to tree_point_traits, except that it provides access to two data slots of the same type of each container class (Data, Window) instead of providing access to one data slot of container class Data and two data slots of class Window.

#include <CGAL/Tree_traits.h>

### Types

typedef
tree_interval_traits<Data, Window, Key, Data_left_func, Data_right_func, Window_left_func, Window_right_func, Compare> Interval_traits;

tree_interval_traits::Data
| the container Data - the data type. It may consist of several data slots. Two of these data slots have to be of type Key.
tree_interval_traits::Window
| the container Window - the query window type. It may consist of several data slots. Two of these data slots have to be of type Key.
tree_interval_traits::Key
| the type Key of the data slot this traits class provides access to.
tree_interval_traits::Data_left_func
| Data_left_func is a function object providing an operator() that takes an argument of type Data and returns a (the left) component of type Key.
tree_interval_traits::Data_right_func
| Data_right_func is a function object providing an operator() that takes an argument of type Data and returns a (the right) component of type Key.
tree_interval_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_interval_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_interval_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_interval_traits<Data, Window, Key, Data_left_func, Data_right_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_left ( Data d)
|  | The data slot of the data item of d of type Key is accessed by function object Data_left_func.
Key | d.get_right ( Data d)
|  | The data slot of the data item of d of type Key is accessed by function object Data_right_func.
Key | d.get_left_win ( 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_win ( 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).