diff --git a/mesh_handle/README.md b/mesh_handle/README.md index 20f220981d..8be544983a 100644 --- a/mesh_handle/README.md +++ b/mesh_handle/README.md @@ -12,5 +12,6 @@ The folder's most important files are: - The [element.hxx](element.hxx) defines the elements (mesh or ghost elements) of the mesh handle. - The [competences.hxx](competences.hxx) defines additional competences/functionality of an element to access additional data. - The [competence_pack.hxx](competence_pack.hxx) is needed to pack element or mesh competences to pass it as template parameter to the mesh. +- The [data_handler.hxx](data_handler.hxx) provides competences to work with element data. Headers in the [internal/](internal/) folder are only intended to implement details of the mesh handle, so they should not need to be included for any other purpose. \ No newline at end of file diff --git a/mesh_handle/competence_pack.hxx b/mesh_handle/competence_pack.hxx index d7406b5112..34f030d8b3 100644 --- a/mesh_handle/competence_pack.hxx +++ b/mesh_handle/competence_pack.hxx @@ -3,7 +3,7 @@ t8code is a C library to manage a collection (a forest) of multiple connected adaptive space-trees of general element classes in parallel. - Copyright (C) 2025 the developers + Copyright (C) 2026 the developers t8code is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -21,44 +21,88 @@ */ /** \file competence_pack.hxx - * Define to pack different competences into one template parameter for the \ref t8_mesh_handle::mesh class. + * Define classes to pack different competences into one template parameter for the \ref t8_mesh_handle::mesh class. + * We have one class for element competences and one for mesh competences. + * There are several predefined competence packs for different use cases, e.g. for all caching competences or + * all data related competences. + * Use the union operator to combine different competence packs. */ #pragma once #include "competences.hxx" +#include "data_handler.hxx" #include "internal/competence_pack_union.hxx" namespace t8_mesh_handle { -/** Class to pack different competences into one template parameter for the \ref mesh class. - * \tparam TCompetence The competences to be packed. +// --- Element competence pack. --- +/** Class to pack different element competences into one template parameter for the \ref mesh class. + * \tparam TElementCompetence The competences to be packed. */ -template