CGAL 6.1 - 2D Arrangements

Loading...
Searching...
No Matches
List of all members
CGAL::Arr_vertex_index_map< Arrangement_ > Class Template Reference
Reference Manual

`#include <CGAL/Arr_vertex_index_map.h>`

## Inherits from

Arrangement_::Observer.

## Definition

template<typename Arrangement_>
class CGAL::Arr_vertex_index_map< Arrangement_ >

`Arr_vertex_index_map` maintains a mapping of vertex handles of an attached arrangement object to indices (of type `unsigned int`).

This class template is a model of the concept `ReadablePropertyMap`. A mapping between vertex handles and indices enables convenient usage of property-map classes supplied by `boost`. For example, the property-map class templates `boost::vector_property_map`, which is based on `std::vector`, and `boost::iterator_property_map`, which can be used to implement a property map based on a native C++ array, require the user to supply a mapping such as `Arr_vertex_index_map`.

As new vertices might be inserted into the attached arrangement, and existing vertices might be removed, the notification mechanism is used to dynamically maintain the mapping of vertex handles to indices.

Is model of
  `DefaultConstructible`
  `CopyConstructible`
  `Assignable`
  `ReadablePropertyMap`

See also
  `Arr_face_index_map<Arrangement>`

Examples
  Arrangement_on_surface_2/bgl_primal_adapter.cpp.

## Types
typedef Arrangement_ | Arrangement_2
| the type of the attached arrangement.
typedef Arrangement_2::Base_aos | Base_aos
typedef boost::readable_property_map_tag | category
typedef unsigned int | value_type
typedef unsigned int | reference
typedef Vertex_handle | key_type
typedef Base_aos::Vertex_handle | Vertex_handle
| The vertex handle type.
typedef Unique_hash_map< Vertex_handle, value_type > | Index_map
| The type of mapping of vertices to indices.

## Creation
| Arr_vertex_index_map ()
| constructs a map that is unattached to any arrangement instance.
| Arr_vertex_index_map (Base_aos &arr)
| constructs a map and attaches it to the given arrangement `arr`.