CGAL 6.1 - 2D Arrangements
Loading...
Searching...
No Matches
CGAL::Arr_vertex_index_map< Arrangement_ > Class Template Reference

#include <CGAL/Arr_vertex_index_map.h>

Inherits 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_typeIndex_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.
 

Member Typedef Documentation

◆ Arrangement_2

template<typename Arrangement_ >
typedef Arrangement_ CGAL::Arr_vertex_index_map< Arrangement_ >::Arrangement_2

the type of the attached arrangement.

◆ Base_aos

template<typename Arrangement_ >
typedef Arrangement_2::Base_aos CGAL::Arr_vertex_index_map< Arrangement_ >::Base_aos

◆ category

template<typename Arrangement_ >
typedef boost::readable_property_map_tag CGAL::Arr_vertex_index_map< Arrangement_ >::category

◆ Index_map

template<typename Arrangement_ >
typedef Unique_hash_map<Vertex_handle, value_type> CGAL::Arr_vertex_index_map< Arrangement_ >::Index_map

The type of mapping of vertices to indices.

◆ key_type

template<typename Arrangement_ >
typedef Vertex_handle CGAL::Arr_vertex_index_map< Arrangement_ >::key_type

◆ reference

template<typename Arrangement_ >
typedef unsigned int CGAL::Arr_vertex_index_map< Arrangement_ >::reference

◆ value_type

template<typename Arrangement_ >
typedef unsigned int CGAL::Arr_vertex_index_map< Arrangement_ >::value_type

◆ Vertex_handle

template<typename Arrangement_ >
typedef Base_aos::Vertex_handle CGAL::Arr_vertex_index_map< Arrangement_ >::Vertex_handle

The vertex handle type.

Constructor & Destructor Documentation

◆ Arr_vertex_index_map() [1/2]

template<typename Arrangement_ >
CGAL::Arr_vertex_index_map< Arrangement_ >::Arr_vertex_index_map ( )

constructs a map that is unattached to any arrangement instance.

◆ Arr_vertex_index_map() [2/2]

template<typename Arrangement_ >
CGAL::Arr_vertex_index_map< Arrangement_ >::Arr_vertex_index_map ( Base_aos arr)

constructs a map and attaches it to the given arrangement arr.