]> https://gitweb.dealii.org/ - dealii.git/commitdiff
add shortcuts for elements of the tupls 6813/head
authorDenis Davydov <davydden@gmail.com>
Thu, 21 Jun 2018 04:57:56 +0000 (06:57 +0200)
committerDenis Davydov <davydden@gmail.com>
Thu, 21 Jun 2018 05:00:38 +0000 (07:00 +0200)
source/base/data_out_base.cc

index 29b12e25707c3f3f6eb87948295b26a4a886f61b..855da02507b46bbe299ea12a94804448f6e96340 100644 (file)
@@ -5213,31 +5213,33 @@ namespace DataOutBase
     std::vector<bool> data_set_written(n_data_sets, false);
     for (auto range : vector_data_ranges)
       {
-        AssertThrow(std::get<1>(range) >= std::get<0>(range),
-                    ExcLowerRange(std::get<1>(range), std::get<0>(range)));
-        AssertThrow(std::get<1>(range) < n_data_sets,
-                    ExcIndexRange(std::get<1>(range), 0, n_data_sets));
-        AssertThrow(std::get<1>(range) + 1 - std::get<0>(range) <= 3,
+        const auto first_component = std::get<0>(range);
+        const auto last_component  = std::get<1>(range);
+        const auto name            = std::get<2>(range);
+        AssertThrow(last_component >= first_component,
+                    ExcLowerRange(last_component, first_component));
+        AssertThrow(last_component < n_data_sets,
+                    ExcIndexRange(last_component, 0, n_data_sets));
+        AssertThrow(last_component + 1 - first_component <= 3,
                     ExcMessage(
                       "Can't declare a vector with more than 3 components "
                       "in VTK"));
 
         // mark these components as already written:
-        for (unsigned int i = std::get<0>(range); i <= std::get<1>(range); ++i)
+        for (unsigned int i = first_component; i <= last_component; ++i)
           data_set_written[i] = true;
 
         // write the header. concatenate all the component names with double
         // underscores unless a vector name has been specified
         out << "    <DataArray type=\"Float32\" Name=\"";
 
-        if (std::get<2>(range) != "")
-          out << std::get<2>(range);
+        if (name != "")
+          out << name;
         else
           {
-            for (unsigned int i = std::get<0>(range); i < std::get<1>(range);
-                 ++i)
+            for (unsigned int i = first_component; i < last_component; ++i)
               out << data_names[i] << "__";
-            out << data_names[std::get<1>(range)];
+            out << data_names[last_component];
           }
 
         out << "\" NumberOfComponents=\"3\" format=\"" << ascii_or_binary
@@ -5249,23 +5251,23 @@ namespace DataOutBase
 
         for (unsigned int n = 0; n < n_nodes; ++n)
           {
-            switch (std::get<1>(range) - std::get<0>(range))
+            switch (last_component - first_component)
               {
                 case 0:
-                  data.push_back(data_vectors(std::get<0>(range), n));
+                  data.push_back(data_vectors(first_component, n));
                   data.push_back(0);
                   data.push_back(0);
                   break;
 
                 case 1:
-                  data.push_back(data_vectors(std::get<0>(range), n));
-                  data.push_back(data_vectors(std::get<0>(range) + 1, n));
+                  data.push_back(data_vectors(first_component, n));
+                  data.push_back(data_vectors(first_component + 1, n));
                   data.push_back(0);
                   break;
                 case 2:
-                  data.push_back(data_vectors(std::get<0>(range), n));
-                  data.push_back(data_vectors(std::get<0>(range) + 1, n));
-                  data.push_back(data_vectors(std::get<0>(range) + 2, n));
+                  data.push_back(data_vectors(first_component, n));
+                  data.push_back(data_vectors(first_component + 1, n));
+                  data.push_back(data_vectors(first_component + 2, n));
                   break;
 
                 default:

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.