\( \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 - STL Extensions for CGAL

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
List of all members
CGAL::Compact_container_traits< T > Class Template Reference
Compact Container

`#include <CGAL/Compact_container.h>`

## Definition

The traits class `Compact_container_traits` provides the way to access the internal pointer required for `T` to be used in a `Compact_container<T, Allocator>`.

Note that this pointer needs to be accessible even when the object is not constructed, which means it has to reside in the same memory place as `T`.

You can specialize this class for your own type `T` if the default template is not suitable.

You can also use `Compact_container_base` as base class for your own types `T` to make them usable with the default `Compact_container_traits`.

Parameters

`T` is any type providing the following member functions:

`void * t.for_compact_container() const;`

`void *& t.for_compact_container();`.

## Operations
static void * | pointer (const T &t)
| Returns the pointer held by `t`. More...
static void *& | pointer (T &t)
| Returns a reference to the pointer held by `t`. More...

## Member Function Documentation

template<typename T >

static void* CGAL::Compact_container_traits< T >::pointer | ( | const T & | t) |  |
| static

Returns the pointer held by `t`.

The template version defines this function as: `return t.for_compact_container();`

template<typename T >

static void* & CGAL::Compact_container_traits< T >::pointer | ( | T & | t) |  |
| static

Returns a reference to the pointer held by `t`.

The template version defines this function as: `return t.for_compact_container();`