CGAL 5.2.1 - CGAL and the Boost Graph Library
graph_traits_inheritance_macros.h File Reference

Convenience header file defining the necessary specializations and overloads to make a class, inheriting from a model of a face graph concept, a model of that face graph concept itself. More...

#include <CGAL/config.h>

Detailed Description

Convenience header file defining the necessary specializations and overloads to make a class, inheriting from a model of a face graph concept, a model of that face graph concept itself.

Prior to the inclusion of this header, specific macros must be defined and those macros will be undefined automatically when processing to the inclusion of this header. It is possible to include the header several times if the operation must be done for several classes. The macros that must be defined are the following:

  • CGAL_GRAPH_TRAITS_INHERITANCE_CLASS_NAME: the inheriting class. If it is a template class, it must be instantiated parameters named as in CGAL_GRAPH_TRAITS_INHERITANCE_TEMPLATE_PARAMS or parameters available in the scope including the header;
  • CGAL_GRAPH_TRAITS_INHERITANCE_BASE_CLASS_NAME: the base class. it must be instantiated parameters named as in CGAL_GRAPH_TRAITS_INHERITANCE_TEMPLATE_PARAMS or parameters available in the scope including the header;
  • CGAL_GRAPH_TRAITS_INHERITANCE_TEMPLATE_PARAMS: (optional) if the inheriting class, a list of template parameters separated by commas (,) including class/typename/integral type.

Some examples are provided in Surface_mesh/sm_derivation.cpp and Polyhedron/poly_derivation.cpp.