The concept CombinatorialMapItems allows to customize a dD combinatorial map by choosing the type of darts, and by enabling and disabling some attributes. For that, it defines an inner class template named Dart_wrapper, with one template parameter, CMap, a model of the CombinatorialMap concept. This inner class must define two types: Dart and Attributes.
| |
The type of dart, a model of the Dart concept.
| |
| |
The tuple of attributes, containing at most
dimension+1 types (one for each possible cell of the combinatorial
map). Each type of the tuple must be either a model of the
CellAttribute concept or void.
The first type corresponds to 0-attributes,
the second to 1-attributes and so on.
If the ith type in the tuple is void,
(i-1)-attributes are disabled. Otherwise, (i-1)-attributes are enabled and
have the given type. If the size of the tuple is k,
with k<dimension+1,
∀i: k≤i≤dimension,
i-attributes are disabled.
|
struct Exemple_Item_4 { template < class CMap > struct Dart_wrapper { typedef CGAL::Dart<4, CMap> Dart; typedef CGAL::cpp0x::tuple<> Attributes; }; };
struct Exemple_Item_3 { template < class CMap > struct Dart_wrapper { typedef CGAL::Dart<3, CMap> Dart; typedef Cell_attribute<CMap, int> Edge_attrib; typedef CGAL::cpp0x::tuple<void,Edge_attrib> Attributes; }; };