]> https://gitweb.dealii.org/ - dealii.git/commitdiff
Better document a class. 16361/head
authorWolfgang Bangerth <bangerth@colostate.edu>
Sun, 17 Dec 2023 04:38:34 +0000 (21:38 -0700)
committerWolfgang Bangerth <bangerth@colostate.edu>
Sun, 17 Dec 2023 23:39:21 +0000 (16:39 -0700)
include/deal.II/fe/fe_values_base.h

index fd65b76a3b738627d8540d4c05726a813faac6ff..25664587df42f0c448e7327546bad33e3aeecf1e 100644 (file)
@@ -1558,6 +1558,16 @@ protected:
    * to the present cell in order to be able to extract the values of the
    * degrees of freedom on this cell in the get_function_values() and assorted
    * functions.
+   *
+   * The problem is that the iterators given to the various reinit() functions
+   * can either be Triangulation iterators, or DoFHandler cell or level
+   * iterators. All three are valid, and provide different functionality that is
+   * used in different contexts; as a consequence we need to be able to store
+   * all three. This class provides the ability to store an object of any of
+   * these types, via a member variable that is a std::variant that encapsulates
+   * an object of any of the three types. Because a std::variant always stores
+   * an object of *one* of these types, we wrap the std::variant object into a
+   * std::optional that allows us to encode a "not yet initialized" state.
    */
   class CellIteratorWrapper
   {

In the beginning the Universe was created. This has made a lot of people very angry and has been widely regarded as a bad move.

Douglas Adams


Typeset in Trocchi and Trocchi Bold Sans Serif.