\( \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.5 - dD Range and Segment Trees
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
CGAL::tree_interval_traits< Data, Window, Key, Data_left_func, Data_right_func, Window_left_func, Window_right_func, Compare > Class Template Reference

#include <CGAL/Tree_traits.h>

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.

Types

typedef unspecified_type Data
 the container Data - the data type. More...
 
typedef unspecified_type Window
 the container Window - the query window type. More...
 
typedef unspecified_type Key
 the type Key of the data slot this traits class provides access to.
 
typedef unspecified_type 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.
 
typedef unspecified_type 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.
 
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_left (Data d)
 The data slot of the data item of d of type Key is accessed by function object Data_left_func.
 
Key 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 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 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.
 
static bool comp (Key &key1, Key &key2)
 returns Compare(key1, key2).
 

Member Typedef Documentation

template<typename Data , typename Window , typename Key , typename Data_left_func , typename Data_right_func , typename Window_left_func , typename Window_right_func , typename Compare >
typedef unspecified_type CGAL::tree_interval_traits< Data, Window, Key, Data_left_func, Data_right_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_left_func , typename Data_right_func , typename Window_left_func , typename Window_right_func , typename Compare >
typedef unspecified_type CGAL::tree_interval_traits< Data, Window, Key, Data_left_func, Data_right_func, Window_left_func, Window_right_func, Compare >::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.

template<typename Data , typename Window , typename Key , typename Data_left_func , typename Data_right_func , typename Window_left_func , typename Window_right_func , typename Compare >
typedef unspecified_type CGAL::tree_interval_traits< Data, Window, Key, Data_left_func, Data_right_func, Window_left_func, Window_right_func, Compare >::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.