File competences.hxx
↰ Parent directory (mesh_handle)
Definition of the additional competences/functionalities that can be used for the mesh class.
Definition (mesh_handle/competences.hxx)
Detailed Description
Especially, competences to cache functionalities of elements instead of calculating them each time a function is called are provided.
All competences have the same inheritance pattern: We use the CRTP pattern as we may need to access members of the derived class Template Class element. The Template Struct t8_crtp_operator is used for convenience/clear code (avoid to type a static cast explicitly each time we need functionality of TUnderlying). Especially for the competences to cache functionality, the access of members is not necessary, such that it is not obvious why we use the crtp. For competences that extend the functionality of the element, this is required. We use it for all competences for consistency and compatibility with the Template Class element class.
Includes
optionalt8.h(File t8.h)t8_eclass.h(File t8_eclass.h)t8_types/t8_operators.hxx(File t8_operators.hxx)t8_types/t8_vec.hxx(File t8_vec.hxx)vector(File t8_vector_algorithms.hxx)