]> https://gitweb.dealii.org/ - dealii.git/commitdiff
C++14 updates to a couple of tutorials. 10344/head
authorWolfgang Bangerth <bangerth@colostate.edu>
Sun, 24 May 2020 14:45:35 +0000 (08:45 -0600)
committerWolfgang Bangerth <bangerth@colostate.edu>
Sun, 24 May 2020 14:45:35 +0000 (08:45 -0600)
examples/step-13/step-13.cc
examples/step-53/step-53.cc

index dbd81a07f8f574f1a9d0f05ca7fc16dc5a849129..2a7c381349c916c3a8a49483d647165d8a23b347 100644 (file)
@@ -1364,12 +1364,8 @@ namespace Step13
 
     // Create a solver object of the kind indicated by the argument to this
     // function. If the name is not recognized, throw an exception!
-    // The respective solver object is stored in a std::unique_ptr to avoid
-    // having to delete the pointer after use. For initializing, we want to use
-    // the C++14 function std::make_unique. Since deal.II only requires C++11 up
-    // to now, we define this function in a separate namespace called
-    // `std`. In case the compiler supports C++14, this just calls
-    // std::make_unique.
+    // The respective solver object is stored in a `std::unique_ptr` to avoid
+    // having to delete the pointer after use.
     std::unique_ptr<LaplaceSolver::Base<dim>> solver;
     if (solver_name == "global")
       solver = std::make_unique<LaplaceSolver::RefinementGlobal<dim>>(
index c60f86b6f7930594f4dfb46a5dbbe09ee9a5ab36..88943e5c00d1f357851b25993b15db7a603ca81c 100644 (file)
@@ -221,12 +221,13 @@ namespace Step53
   }
 
 
-  // This function is required by the interface of the Manifold base class,
-  // and allows you to clone the AfricaGeometry class. This is where we use
-  // a C++14 feature, namely the make_unique function, that simplifies the
-  // creation of std::unique_ptr objects. Notice that, while the function
-  // returns a std::unique_ptr<Manifold<3,3>>, we internally create a
-  // unique_ptr<AfricaGeometry>.
+  // The next function is required by the interface of the
+  // Manifold base class, and allows cloning the AfricaGeometry
+  // class. Notice that, while the function returns a
+  // `std::unique_ptr<Manifold<3,3>>`, we internally create a
+  // `unique_ptr<AfricaGeometry>`. In other words, the library
+  // requires a pointer-to-base-class, which we provide by creating a
+  // pointer-to-derived-class.
   std::unique_ptr<Manifold<3, 3>> AfricaGeometry::clone() const
   {
     return std::make_unique<AfricaGeometry>();

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.