diff --git a/Generalized_map/doc/Generalized_map/Concepts/GMapDart.h b/Generalized_map/doc/Generalized_map/Concepts/GMapDart.h new file mode 100644 index 00000000000..8bac1fa7f47 --- /dev/null +++ b/Generalized_map/doc/Generalized_map/Concepts/GMapDart.h @@ -0,0 +1,57 @@ + +/*! +\ingroup PkgGeneralizedMapsConcepts +\cgalConcept + +The concept `GMapDart` defines a d-dimensional dart for generalized maps. A dart mainly stores handles to the darts linked with itself by \f$ \alpha_i\f$, \f$ \forall\f$i, 0\f$ \leq\f$i\f$ \leq\f$d. Moreover, it stores also handles to each non void attribute associated with itself. + +\cgalHeading{Creation} + +A dart `d0` is never constructed directly, but always created within a generalized map `gm` by using the method \ref GeneralizedMap::create_dart "gm.create_dart()". A new dart is initialized to be i-free, \f$ \forall\f$i: 0\f$ \leq\f$i\f$ \leq\f$dimension, and having all its attribute handles initialized to `NULL`, for each non `void` attribute. + +\cgalHasModel \ref CGAL::GMap_dart "CGAL::GMap_dart" +*/ + +class GMapDart { +public: + +/// \name Constants +/// @{ + +/*! +The dimension of the dart. +*/ +static unsigned int dimension; + +/// @} + +/// \name Types +/// @{ + +/*! +%Dart handle type. Must be a model of `Handle` concept. +*/ +typedef unspecified_type Dart_handle; + +/*! +%Dart const handle type. Must be a model of `ConstHandle` concept. +*/ +typedef unspecified_type Dart_const_handle; + +/*! +`Attribute_handle::%type` is a handle to `i`-attributes, with 0 \f$ \leq \f$ `i` \f$ \leq \f$ `dimension`. Must be a model of `Handle` concept. +\note It can be implemented using a nested template class. +*/ +template +using Attribute_handle = unspecified_type; + +/*! +`Attribute_const_handle::%type` is a const handle to `i`-attributes, with 0 \f$ \leq \f$ `i` \f$ \leq \f$ `dimension`. Must be a model of `ConstHandle` concept. +\note It can be implemented using a nested template class. +*/ +template +using Attribute_const_handle = unspecified_type; + +/// @} + +}; /* end GMapDart */