"Fossies" - the Fresh Open Source Software Archive

Member "doc_html/Combinatorial_map/classGenericMapItems.html" (8 Nov 2019, 14194 Bytes) of package /linux/misc/CGAL-5.0-doc_html.tar.xz:


Caution: In this restricted "Fossies" environment the current HTML page may not be correctly presentated and may have some non-functional links. You can here alternatively try to browse the pure source code or just view or download the uninterpreted raw source code. If the rendering is insufficient you may try to find and view the page on the project site itself.

\( \newcommand{\E}{\mathrm{E}} \) \( \newcommand{\A}{\mathrm{A}} \) \( \newcommand{\R}{\mathrm{R}} \) \( \newcommand{\N}{\mathrm{N}} \) \( \newcommand{\Q}{\mathrm{Q}} \) \( \newcommand{\Z}{\mathrm{Z}} \) \( \def\ccSum #1#2#3{ \sum_{#1}^{#2}{#3} } \def\ccProd #1#2#3{ \sum_{#1}^{#2}{#3} }\)

CGAL 5.0 - Combinatorial Maps
GenericMapItems Concept Reference

Definition

The concept GenericMapItems allows to customize a dD generic map by choosing the information associated with darts, and by enabling and disabling some attributes. For that, it defines an inner class template named Dart_wrapper, with one template parameter, Map, a model of the GenericMap concept. This inner class can define the two types Dart_info and Attributes.

Has Models:
CGAL::Generic_map_min_items
See also
GenericMap

Example

The following examples show two possible models of the GenericMapItems concept: the first one for a generic map without dart information, nor enabled attributes, the second one for a generic map with a double associated with each dart, and edge attributes enabled, and associated with a Cell_attribute containing an int.

struct Exemple_Item_1
{
template < class CMap >
struct Dart_wrapper
{};
};
struct Exemple_Item_2
{
template < class GMap >
struct Dart_wrapper
{
typedef double Dart_info;
typedef CGAL::Cell_attribute<GMap, int> Edge_attrib;
typedef std::tuple<void,Edge_attrib> Attributes;
};
};

Public Types

template<typename Map >
using Dart_wrapper = unspecified_type
 Wrapper class defining type of information associated with darts and types of attributes. More...
 

Member Typedef Documentation

◆ Dart_wrapper

template<typename Map >
using GenericMapItems::Dart_wrapper = unspecified_type

Wrapper class defining type of information associated with darts and types of attributes.

The class Dart_wrapper<Map> must provide:

  • Dart_wrapper<Map>::Dart_info, the type of information associated with darts. Not defined or equal to void to have no information.
  • Dart_wrapper<Map>::Attributes The tuple of attributes, containing at most Map::dimension+1 types (one for each possible cell of the generic 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 \( i^{\mbox{th}}\) 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<Map::dimension+1, \( \forall\)i: k \( \leq\)i \( \leq\)Map::dimension, i-attributes are disabled. If this type is not defined, all attributes are disabled.
Note
It can be implemented using a nested template class.