CGAL 5.4 - Combinatorial Maps
CGAL::Combinatorial_map< d, Items, Alloc > Class Template Reference

#include <CGAL/Combinatorial_map.h>

## Definition

The class Combinatorial_map represents a dD combinatorial map.

Darts and non void attributes are stored in memory using Compact_container, using Alloc as allocator.

Is Model Of:
CombinatorialMap
Template Parameters
 d the dimension of the map. Items a model of the GenericMapItems concept. Equal to Generic_map_min_items by default. Alloc has to match the standard allocator requirements. The rebind mechanism Alloc will be used to create appropriate allocators internally with value type Dart. Equal to CGAL_ALLOCATOR(int) from  by default.

Complexity

The complexity of sew and unsew is in O( $$|$$ S $$|$$ $$\times$$ $$|$$ c $$|$$ ), S being the set of darts of the orbit $$\langle{}$$ $$\beta_1$$, $$\ldots$$, $$\beta_{i-2}$$, $$\beta_{i+2}$$, $$\ldots$$, $$\beta_d$$ $$\rangle{}$$ for the considered dart, and c the biggest j-cell merged or split during the sew such that j-attributes are non void. The complexity of is_sewable is in O( $$|$$ S $$|$$ ).

The complexity of set_attribute is in O( $$|$$ c $$|$$ ), c being the i-cell containing the considered dart.

The complexity of is_without_boundary(i) is in O( $$|$$ D $$|$$ ), D being the set of darts of the combinatorial map, and the complexity of is_without_boundary() is in O( $$|$$ D $$|$$ $$\times$$ d ).

The complexity of unmark_all and free_mark is in O( 1 ) if all the darts of the combinatorial map have the same mark, and in O( $$|$$ D $$|$$ ) otherwise.

The complexity of is_valid is in O( $$|$$ D $$|$$ $$\times$$ d $$^2$$ ).

The complexity of clear is in O( $$|$$ D $$|$$ $$\times$$ d ).

Other methods have all a constant time complexity.

See also
GenericMapItems
Deprecated:
Before CGAL 4.9, Items had to define the type of dart used, and the default class was Combinatorial_map_min_items. This is now deprecated, the Dart type is no more defined in the item class, but replaced by the Dart_info type. CGAL_CMAP_DART_DEPRECATED can be defined to keep the old behavior.
Examples:
Combinatorial_map/map_3_dynamic_onmerge.cpp, Combinatorial_map/map_3_marks.cpp, Combinatorial_map/map_3_operations.cpp, Combinatorial_map/map_3_simple_example.cpp, Combinatorial_map/map_3_with_colored_facets.cpp, and Combinatorial_map/map_4_simple_example.cpp.

## Constants

static const unsigned int dimension = d
The dimension of the combinatorial map.

## Types

typedef Combinatorial_map< d, Items, Alloc > Self

typedef Items::Dart_wrapper< Self >::Dart_info Dart_info
Information associated with darts. More...

typedef Items::Dart_wrapper< Self >::Attributes Attributes
The tuple of cell attributes. More...

## ◆ Attributes

template<unsigned int d, typename Items , typename Alloc >
 typedef Items::Dart_wrapper::Attributes CGAL::Combinatorial_map< d, Items, Alloc >::Attributes

The tuple of cell attributes.

Equal to std::tuple<> if Attributes is not defined in the items class.

## ◆ Dart_info

template<unsigned int d, typename Items , typename Alloc >
 typedef Items::Dart_wrapper::Dart_info CGAL::Combinatorial_map< d, Items, Alloc >::Dart_info

Information associated with darts.

Equal to void if Dart_info is not defined in the items class.