]> https://gitweb.dealii.org/ - dealii.git/commitdiff
Use two functions instead of a template
authorDaniel Garcia-Sanchez <daniel.garcia-sanchez@insp.upmc.fr>
Tue, 9 Oct 2018 14:18:58 +0000 (16:18 +0200)
committerDaniel Garcia-Sanchez <daniel.garcia-sanchez@insp.upmc.fr>
Wed, 9 Jan 2019 18:25:01 +0000 (19:25 +0100)
Instead of a templated get_io_mode() function. Two functions have been defined:
- std::string get_io_mode();
- H5D_mpio_actual_io_mode_t get_io_mode_as_hdf5_type();

And the same for get_local_no_collective_cause() and get_global_no_collective_cause()

include/deal.II/base/hdf5.h
source/base/hdf5.cc
tests/base/hdf5_03.cc
tests/base/hdf5_04.cc

index 8bd2485b211cf9ac0d6478be65657fd7f8f9ad2e..6b4c4bb7a564a86d90ed544607cd2764906b6465 100644 (file)
@@ -261,7 +261,7 @@ DEAL_II_NAMESPACE_OPEN
  * Global no collective cause: H5D_MPIO_COLLECTIVE
  * @endcode
  * See DataSet::io_mode(), DataSet::local_no_collective_cause() and
- * DataSet::get_global_no_collective_cause() for all the possible returned
+ * DataSet::get_global_no_collective_cause() for all the possible return
  * codes.
  *
  * # Rank of the HDF5 datasets and hyperslabs
@@ -370,16 +370,16 @@ namespace HDF5
     const bool mpi;
 
     /**
-     * Returned value of the last HDF5 C library call.
+     * Return value of the last HDF5 C library call.
      *
      * The HDF5 calls return a non-negative value if successful; otherwise they
      * return a negative value.
      *
      * Calls such as
      * [H5DWrite](https://support.hdfgroup.org/HDF5/doc/RM/RM_H5D.html#Dataset-Write)
-     * use this variable to store the returned value. Other calls such as
+     * use this variable to store the return value. Other calls such as
      * [H5Pcreate](https://support.hdfgroup.org/HDF5/doc/RM/RM_H5P.html#Property-Create)
-     * don't use this variable to store the returned value.
+     * don't use this variable to store the return value.
      */
     herr_t ret;
   };
@@ -660,15 +660,11 @@ namespace HDF5
     write_none();
 
     /**
-     * This funcion retrieves the type of I/O that was performed on the last
+     * This funcion returns the I/O mode that was used on the last
      * parallel I/O call. See <a
      * href="https://support.hdfgroup.org/HDF5/doc/RM/RM_H5P.html#Property-GetMpioActualIoMode">H5Pget_mpio_actual_io_mode</a>.
-     * The return type @p T can be `H5D_mpio_actual_io_mode_t` or `std::string`.
-     * The type `H5D_mpio_actual_io_mode_t` corresponds to the value returned by
-     * H5Pget_mpio_actual_io_mode and `std::string` is a human readable
-     * conversion.
      *
-     * The returned value value can be
+     * The return value is a `std::string` and can be
      * Value                          | Meaning
      * ------------------------------ | -------
      * H5D_MPIO_NO_COLLECTIVE         | No collective I/O was performed. Collective I/O was not requested or collective I/O isn't possible on this dataset.
@@ -677,20 +673,35 @@ namespace HDF5
      * H5D_MPIO_CHUNK_MIXED           | HDF5 performed one the chunk collective optimization schemes and some chunks were accessed independently, some collectively.
      * H5D_MPIO_CONTIGUOUS_COLLECTIVE | Collective I/O was performed on a contiguous dataset.
      */
-    template <typename T>
-    T
+    std::string
     get_io_mode();
 
     /**
-     * This funcion retrieves the local causes that broke collective I/O on the
+     * This funcion returns the I/O mode that was used on the last
+     * parallel I/O call. See <a
+     * href="https://support.hdfgroup.org/HDF5/doc/RM/RM_H5P.html#Property-GetMpioActualIoMode">H5Pget_mpio_actual_io_mode</a>.
+     * The return type is `H5D_mpio_actual_io_mode_t` which corresponds to the
+     * value returned by H5Pget_mpio_actual_io_mode.
+     *
+     * The return value can be
+     * Value                          | Meaning
+     * ------------------------------ | -------
+     * H5D_MPIO_NO_COLLECTIVE         | No collective I/O was performed. Collective I/O was not requested or collective I/O isn't possible on this dataset.
+     * H5D_MPIO_CHUNK_INDEPENDENT     | HDF5 performed one the chunk collective optimization schemes and each chunk was accessed independently.
+     * H5D_MPIO_CHUNK_COLLECTIVE      | HDF5 performed one the chunk collective optimization schemes and each chunk was accessed collectively.
+     * H5D_MPIO_CHUNK_MIXED           | HDF5 performed one the chunk collective optimization schemes and some chunks were accessed independently, some collectively.
+     * H5D_MPIO_CONTIGUOUS_COLLECTIVE | Collective I/O was performed on a contiguous dataset.
+     */
+    H5D_mpio_actual_io_mode_t
+    get_io_mode_as_hdf5_type();
+
+
+    /**
+     * This funcion returns the local causes that broke collective I/O on the
      * last parallel I/O call. See <a
      * href="https://support.hdfgroup.org/HDF5/doc/RM/RM_H5P.html#Property-GetMpioNoCollectiveCause">H5Pget_mpio_no_collective_cause</a>.
-     * The return type @p T can be `uint32_t` or `std::string`. The type
-     * `uint32_t` corresponds to the value returned by
-     * [H5Pget_mpio_no_collective_cause](https://support.hdfgroup.org/HDF5/doc/RM/RM_H5P.html#Property-GetMpioNoCollectiveCause)
-     * and `std::string` is a human readable conversion.
      *
-     * The returned value value can be
+     * The return value is a string and can be
      * Value                                      | Meaning
      * ------------------------------------------ | -------
      * H5D_MPIO_COLLECTIVE                        | Collective I/O was performed successfully.
@@ -703,20 +714,38 @@ namespace HDF5
      * H5D_MPIO_NOT_CONTIGUOUS_OR_CHUNKED_DATASET | Collective I/O was not performed because the dataset was neither contiguous nor chunked.
      * H5D_MPIO_FILTERS                           | Collective I/O was not performed because filters needed to be applied.
      */
-    template <typename T>
-    T
+    std::string
     get_local_no_collective_cause();
 
+    /**
+     * This funcion returns the local causes that broke collective I/O on the
+     * last parallel I/O call. See <a
+     * href="https://support.hdfgroup.org/HDF5/doc/RM/RM_H5P.html#Property-GetMpioNoCollectiveCause">H5Pget_mpio_no_collective_cause</a>.
+     * The return type is `uint32_t` and corresponds to the value returned by
+     * [H5Pget_mpio_no_collective_cause](https://support.hdfgroup.org/HDF5/doc/RM/RM_H5P.html#Property-GetMpioNoCollectiveCause).
+     *
+     * The return value can be
+     * Value                                      | Meaning
+     * ------------------------------------------ | -------
+     * H5D_MPIO_COLLECTIVE                        | Collective I/O was performed successfully.
+     * H5D_MPIO_SET_INDEPENDENT                   | Collective I/O was not performed because independent I/O was requested.
+     * H5D_MPIO_DATATYPE_CONVERSION               | Collective I/O was not performed because datatype conversions were required.
+     * H5D_MPIO_DATA_TRANSFORMS                   | Collective I/O was not performed because data transforms needed to be applied.
+     * H5D_MPIO_SET_MPIPOSIX                      | Collective I/O was not performed because the selected file driver was MPI-POSIX.
+     * H5D_MPIO_NOT_SIMPLE_OR_SCALAR_DATASPACES   | Collective I/O was not performed because one of the dataspaces was neither simple nor scalar.
+     * H5D_MPIO_POINT_SELECTIONS                  | Collective I/O was not performed because there were point selections in one of the dataspaces.
+     * H5D_MPIO_NOT_CONTIGUOUS_OR_CHUNKED_DATASET | Collective I/O was not performed because the dataset was neither contiguous nor chunked.
+     * H5D_MPIO_FILTERS                           | Collective I/O was not performed because filters needed to be applied.
+     */
+    uint32_t
+    get_local_no_collective_cause_as_hdf5_type();
+
     /**
      * This funcion retrieves the global causes that broke collective I/O on the
      * last parallel I/O call. See <a
      * href="https://support.hdfgroup.org/HDF5/doc/RM/RM_H5P.html#Property-GetMpioNoCollectiveCause">H5Pget_mpio_no_collective_cause</a>.
-     * The return type @p T can be `uint32_t` or `std::string`. The type
-     * `uint32_t` corresponds to the value returned by
-     * H5Pget_mpio_no_collective_cause and `std::string` is a human readable
-     * conversion.
      *
-     * The returned value value can be
+     * The return value is a std::string and can be
      * Value                                      | Meaning
      * ------------------------------------------ | -------
      * H5D_MPIO_COLLECTIVE                        | Collective I/O was performed successfully.
@@ -729,12 +758,34 @@ namespace HDF5
      * H5D_MPIO_NOT_CONTIGUOUS_OR_CHUNKED_DATASET | Collective I/O was not performed because the dataset was neither contiguous nor chunked.
      * H5D_MPIO_FILTERS                           | Collective I/O was not performed because filters needed to be applied.
      */
-    template <typename T>
-    T
+    std::string
     get_global_no_collective_cause();
 
     /**
-     * This function retrieves the boolean query_io_mode.
+     * This funcion returns the global causes that broke collective I/O on the
+     * last parallel I/O call. See <a
+     * href="https://support.hdfgroup.org/HDF5/doc/RM/RM_H5P.html#Property-GetMpioNoCollectiveCause">H5Pget_mpio_no_collective_cause</a>.
+     * The return type is `uint32_t` and corresponds to the value returned by
+     * H5Pget_mpio_no_collective_cause.
+     *
+     * The return value value can be
+     * Value                                      | Meaning
+     * ------------------------------------------ | -------
+     * H5D_MPIO_COLLECTIVE                        | Collective I/O was performed successfully.
+     * H5D_MPIO_SET_INDEPENDENT                   | Collective I/O was not performed because independent I/O was requested.
+     * H5D_MPIO_DATATYPE_CONVERSION               | Collective I/O was not performed because datatype conversions were required.
+     * H5D_MPIO_DATA_TRANSFORMS                   | Collective I/O was not performed because data transforms needed to be applied.
+     * H5D_MPIO_SET_MPIPOSIX                      | Collective I/O was not performed because the selected file driver was MPI-POSIX.
+     * H5D_MPIO_NOT_SIMPLE_OR_SCALAR_DATASPACES   | Collective I/O was not performed because one of the dataspaces was neither simple nor scalar.
+     * H5D_MPIO_POINT_SELECTIONS                  | Collective I/O was not performed because there were point selections in one of the dataspaces.
+     * H5D_MPIO_NOT_CONTIGUOUS_OR_CHUNKED_DATASET | Collective I/O was not performed because the dataset was neither contiguous nor chunked.
+     * H5D_MPIO_FILTERS                           | Collective I/O was not performed because filters needed to be applied.
+     */
+    uint32_t
+    get_global_no_collective_cause_as_hdf5_type();
+
+    /**
+     * This function returns the boolean query_io_mode.
      *
      * In cases where maximum performance has to be achieved, it is important to
      * make sure that all MPI read/write operations are collective. The HDF5
@@ -753,13 +804,15 @@ namespace HDF5
     get_query_io_mode() const;
 
     /**
-     * This function sets the boolean query_io_mode().
+     * This function sets the boolean query_io_mode.
      */
     void
     set_query_io_mode(bool query_io_mode);
 
     /**
-     * This funcion returns the dimensions of the dataset.
+     * This funcion returns the dimensions of the dataset. The vector dimensions
+     * is a one-dimensional array of size rank specifying the size of each
+     * dimension of the dataset.
      */
     std::vector<hsize_t>
     get_dimensions() const;
@@ -783,13 +836,13 @@ namespace HDF5
     unsigned int rank;
 
     /**
-     * This vector dimensions is a one-dimensional array of size rank specifying
-     * the size of each dimension of the dataset.
+     * The vector `dimensions` is a one-dimensional array of size rank
+     * specifying the size of each dimension of the dataset.
      */
     std::vector<hsize_t> dimensions;
 
     /**
-     * HDF5 dataspace identifier
+     * HDF5 dataspace identifier.
      */
     std::shared_ptr<hid_t> dataspace;
 
index f69c268581ae53c501401a36b32b204799d9100e..c0ad42de5abdfebee2c51eae430dd00e2047fe27 100644 (file)
@@ -1213,19 +1213,6 @@ namespace HDF5
 
 
 
-  template <>
-  H5D_mpio_actual_io_mode_t
-  DataSet::get_io_mode()
-  {
-    Assert(query_io_mode,
-           ExcMessage(
-             "query_io_mode should be true in order to use get_io_mode"));
-    return io_mode;
-  }
-
-
-
-  template <>
   std::string
   DataSet::get_io_mode()
   {
@@ -1260,20 +1247,17 @@ namespace HDF5
 
 
 
-  template <>
-  uint32_t
-  DataSet::get_local_no_collective_cause()
+  H5D_mpio_actual_io_mode_t
+  DataSet::get_io_mode_as_hdf5_type()
   {
-    Assert(
-      query_io_mode,
-      ExcMessage(
-        "query_io_mode should be true in order to use get_local_no_collective_cause()"));
-    return local_no_collective_cause;
+    Assert(query_io_mode,
+           ExcMessage(
+             "query_io_mode should be true in order to use get_io_mode"));
+    return io_mode;
   }
 
 
 
-  template <>
   std::string
   DataSet::get_local_no_collective_cause()
   {
@@ -1286,20 +1270,18 @@ namespace HDF5
 
 
 
-  template <>
   uint32_t
-  DataSet::get_global_no_collective_cause()
+  DataSet::get_local_no_collective_cause_as_hdf5_type()
   {
     Assert(
       query_io_mode,
       ExcMessage(
-        "query_io_mode should be true in order to use get_global_no_collective_cause()"));
-    return global_no_collective_cause;
+        "query_io_mode should be true in order to use get_local_no_collective_cause()"));
+    return local_no_collective_cause;
   }
 
 
 
-  template <>
   std::string
   DataSet::get_global_no_collective_cause()
   {
@@ -1312,6 +1294,17 @@ namespace HDF5
 
 
 
+  uint32_t
+  DataSet::get_global_no_collective_cause_as_hdf5_type()
+  {
+    Assert(
+      query_io_mode,
+      ExcMessage(
+        "query_io_mode should be true in order to use get_global_no_collective_cause()"));
+    return global_no_collective_cause;
+  }
+
+
   bool
   DataSet::get_query_io_mode() const
   {
index b15e4e48cbcd458c62263d047751bdc9e0c63846..e1ded2df7749c16d025dc2edc183d70e057ef377 100644 (file)
@@ -231,17 +231,14 @@ write_test(HDF5::Group &              root_group,
             << " (Write): " << container_sum(data) << std::endl;
     pcout << "IO mode " + dataset_name << " " << container_name << "<"
           << type_name << ">"
-          << " (Write): " << dataset.template get_io_mode<std::string>()
-          << std::endl;
+          << " (Write): " << dataset.get_io_mode() << std::endl;
     pcout << "Local no collective cause " + dataset_name << " "
           << container_name << "<" << type_name << ">"
-          << " (Write): "
-          << dataset.template get_local_no_collective_cause<std::string>()
+          << " (Write): " << dataset.get_local_no_collective_cause()
           << std::endl;
     pcout << "Global no collective cause " + dataset_name << " "
           << container_name << "<" << type_name << ">"
-          << " (Write): "
-          << dataset.template get_global_no_collective_cause<std::string>()
+          << " (Write): " << dataset.get_global_no_collective_cause()
           << std::endl;
   }
 
@@ -316,17 +313,14 @@ write_test(HDF5::Group &              root_group,
             << std::endl;
     pcout << "IO mode " + dataset_name << " " << container_name << "<"
           << type_name << ">"
-          << " (Write): " << dataset.template get_io_mode<std::string>()
-          << std::endl;
+          << " (Write): " << dataset.get_io_mode() << std::endl;
     pcout << "Local no collective cause " + dataset_name << " "
           << container_name << "<" << type_name << ">"
-          << " (Write): "
-          << dataset.template get_local_no_collective_cause<std::string>()
+          << " (Write): " << dataset.get_local_no_collective_cause()
           << std::endl;
     pcout << "Global no collective cause " + dataset_name << " "
           << container_name << "<" << type_name << ">"
-          << " (Write): "
-          << dataset.template get_global_no_collective_cause<std::string>()
+          << " (Write): " << dataset.get_global_no_collective_cause()
           << std::endl;
   }
 
@@ -383,17 +377,14 @@ write_test(HDF5::Group &              root_group,
                 << " (Write): " << container_sum(data) << std::endl;
         pcout << "IO mode " + dataset_name << " " << container_name << "<"
               << type_name << ">"
-              << " (Write): " << dataset.template get_io_mode<std::string>()
-              << std::endl;
+              << " (Write): " << dataset.get_io_mode() << std::endl;
         pcout << "Local no collective cause " + dataset_name << " "
               << container_name << "<" << type_name << ">"
-              << " (Write): "
-              << dataset.template get_local_no_collective_cause<std::string>()
+              << " (Write): " << dataset.get_local_no_collective_cause()
               << std::endl;
         pcout << "Global no collective cause " + dataset_name << " "
               << container_name << "<" << type_name << ">"
-              << " (Write): "
-              << dataset.template get_global_no_collective_cause<std::string>()
+              << " (Write): " << dataset.get_global_no_collective_cause()
               << std::endl;
       }
   }
@@ -478,17 +469,14 @@ write_test(HDF5::Group &              root_group,
             << " (Write): " << container_sum(hyperslab_data_b) << std::endl;
     pcout << "IO mode " + dataset_name << " " << container_name << "<"
           << type_name << ">"
-          << " (Write): " << dataset.template get_io_mode<std::string>()
-          << std::endl;
+          << " (Write): " << dataset.get_io_mode() << std::endl;
     pcout << "Local no collective cause " + dataset_name << " "
           << container_name << "<" << type_name << ">"
-          << " (Write): "
-          << dataset.template get_local_no_collective_cause<std::string>()
+          << " (Write): " << dataset.get_local_no_collective_cause()
           << std::endl;
     pcout << "Global no collective cause " + dataset_name << " "
           << container_name << "<" << type_name << ">"
-          << " (Write): "
-          << dataset.template get_global_no_collective_cause<std::string>()
+          << " (Write): " << dataset.get_global_no_collective_cause()
           << std::endl;
   }
 }
@@ -563,17 +551,14 @@ read_test(HDF5::Group        root_group,
             << " (Read): " << container_sum(data) << std::endl;
     pcout << "IO mode " + dataset_name << " " << container_name << "<"
           << type_name << ">"
-          << " (Read): " << dataset.template get_io_mode<std::string>()
-          << std::endl;
+          << " (Read): " << dataset.get_io_mode() << std::endl;
     pcout << "Local no collective cause " + dataset_name << " "
           << container_name << "<" << type_name << ">"
-          << " (Read): "
-          << dataset.template get_local_no_collective_cause<std::string>()
+          << " (Read): " << dataset.get_local_no_collective_cause()
           << std::endl;
     pcout << "Global no collective cause " + dataset_name << " "
           << container_name << "<" << type_name << ">"
-          << " (Read): "
-          << dataset.template get_global_no_collective_cause<std::string>()
+          << " (Read): " << dataset.get_global_no_collective_cause()
           << std::endl;
   }
 
@@ -597,17 +582,14 @@ read_test(HDF5::Group        root_group,
               << " (Read): " << container_sum(data) << std::endl;
       pcout << "IO mode " + dataset_name << " " << container_name << "<"
             << type_name << ">"
-            << " (Read): " << dataset.template get_io_mode<std::string>()
-            << std::endl;
+            << " (Read): " << dataset.get_io_mode() << std::endl;
       pcout << "Local no collective cause " + dataset_name << " "
             << container_name << "<" << type_name << ">"
-            << " (Read): "
-            << dataset.template get_local_no_collective_cause<std::string>()
+            << " (Read): " << dataset.get_local_no_collective_cause()
             << std::endl;
       pcout << "Global no collective cause " + dataset_name << " "
             << container_name << "<" << type_name << ">"
-            << " (Read): "
-            << dataset.template get_global_no_collective_cause<std::string>()
+            << " (Read): " << dataset.get_global_no_collective_cause()
             << std::endl;
     }
 
@@ -627,17 +609,14 @@ read_test(HDF5::Group        root_group,
               << data_a[2] << ", " << data_a[3] << std::endl;
       pcout << "IO mode " + dataset_name << " " << container_name << "<"
             << type_name << ">"
-            << " (Read): " << dataset.template get_io_mode<std::string>()
-            << std::endl;
+            << " (Read): " << dataset.get_io_mode() << std::endl;
       pcout << "Local no collective cause " + dataset_name << " "
             << container_name << "<" << type_name << ">"
-            << " (Read): "
-            << dataset.template get_local_no_collective_cause<std::string>()
+            << " (Read): " << dataset.get_local_no_collective_cause()
             << std::endl;
       pcout << "Global no collective cause " + dataset_name << " "
             << container_name << "<" << type_name << ">"
-            << " (Read): "
-            << dataset.template get_global_no_collective_cause<std::string>()
+            << " (Read): " << dataset.get_global_no_collective_cause()
             << std::endl;
     }
   }
@@ -666,17 +645,14 @@ read_test(HDF5::Group        root_group,
                 << " (Read): " << container_sum(data) << std::endl;
         pcout << "IO mode " + dataset_name << " " << container_name << "<"
               << type_name << ">"
-              << " (Read): " << dataset.template get_io_mode<std::string>()
-              << std::endl;
+              << " (Read): " << dataset.get_io_mode() << std::endl;
         pcout << "Local no collective cause " + dataset_name << " "
               << container_name << "<" << type_name << ">"
-              << " (Read): "
-              << dataset.template get_local_no_collective_cause<std::string>()
+              << " (Read): " << dataset.get_local_no_collective_cause()
               << std::endl;
         pcout << "Global no collective cause " + dataset_name << " "
               << container_name << "<" << type_name << ">"
-              << " (Read): "
-              << dataset.template get_global_no_collective_cause<std::string>()
+              << " (Read): " << dataset.get_global_no_collective_cause()
               << std::endl;
       }
   }
@@ -701,17 +677,14 @@ read_test(HDF5::Group        root_group,
               << " (Read): " << container_sum(data) << std::endl;
       pcout << "IO mode " + dataset_name << " " << container_name << "<"
             << type_name << ">"
-            << " (Read): " << dataset.template get_io_mode<std::string>()
-            << std::endl;
+            << " (Read): " << dataset.get_io_mode() << std::endl;
       pcout << "Local no collective cause " + dataset_name << " "
             << container_name << "<" << type_name << ">"
-            << " (Read): "
-            << dataset.template get_local_no_collective_cause<std::string>()
+            << " (Read): " << dataset.get_local_no_collective_cause()
             << std::endl;
       pcout << "Global no collective cause " + dataset_name << " "
             << container_name << "<" << type_name << ">"
-            << " (Read): "
-            << dataset.template get_global_no_collective_cause<std::string>()
+            << " (Read): " << dataset.get_global_no_collective_cause()
             << std::endl;
     }
 
@@ -726,17 +699,14 @@ read_test(HDF5::Group        root_group,
               << " (Read): " << container_sum(data_a) << std::endl;
       pcout << "IO mode " + dataset_name << " " << container_name << "<"
             << type_name << ">"
-            << " (Read): " << dataset.template get_io_mode<std::string>()
-            << std::endl;
+            << " (Read): " << dataset.get_io_mode() << std::endl;
       pcout << "Local no collective cause " + dataset_name << " "
             << container_name << "<" << type_name << ">"
-            << " (Read): "
-            << dataset.template get_local_no_collective_cause<std::string>()
+            << " (Read): " << dataset.get_local_no_collective_cause()
             << std::endl;
       pcout << "Global no collective cause " + dataset_name << " "
             << container_name << "<" << type_name << ">"
-            << " (Read): "
-            << dataset.template get_global_no_collective_cause<std::string>()
+            << " (Read): " << dataset.get_global_no_collective_cause()
             << std::endl;
     }
 
@@ -766,17 +736,14 @@ read_test(HDF5::Group        root_group,
               << " (Read): " << container_sum(data_b) << std::endl;
       pcout << "IO mode " + dataset_name << " " << container_name << "<"
             << type_name << ">"
-            << " (Read): " << dataset.template get_io_mode<std::string>()
-            << std::endl;
+            << " (Read): " << dataset.get_io_mode() << std::endl;
       pcout << "Local no collective cause " + dataset_name << " "
             << container_name << "<" << type_name << ">"
-            << " (Read): "
-            << dataset.template get_local_no_collective_cause<std::string>()
+            << " (Read): " << dataset.get_local_no_collective_cause()
             << std::endl;
       pcout << "Global no collective cause " + dataset_name << " "
             << container_name << "<" << type_name << ">"
-            << " (Read): "
-            << dataset.template get_global_no_collective_cause<std::string>()
+            << " (Read): " << dataset.get_global_no_collective_cause()
             << std::endl;
     }
   }
index 9b329d4217756a48aa828ec30ca217c57c31b7ba..b73992348cafaa341da0a5dc26cd796d5d7711f5 100644 (file)
@@ -221,17 +221,14 @@ write_test(HDF5::Group &              root_group,
             << " (Write): " << container_sum(data) << std::endl;
     std::cout << "IO mode " + dataset_name << " " << container_name << "<"
               << type_name << ">"
-              << " (Write): " << dataset.template get_io_mode<std::string>()
-              << std::endl;
+              << " (Write): " << dataset.get_io_mode() << std::endl;
     std::cout << "Local no collective cause " + dataset_name << " "
               << container_name << "<" << type_name << ">"
-              << " (Write): "
-              << dataset.template get_local_no_collective_cause<std::string>()
+              << " (Write): " << dataset.get_local_no_collective_cause()
               << std::endl;
     std::cout << "Global no collective cause " + dataset_name << " "
               << container_name << "<" << type_name << ">"
-              << " (Write): "
-              << dataset.template get_global_no_collective_cause<std::string>()
+              << " (Write): " << dataset.get_global_no_collective_cause()
               << std::endl;
   }
 
@@ -293,17 +290,14 @@ write_test(HDF5::Group &              root_group,
             << std::endl;
     std::cout << "IO mode " + dataset_name << " " << container_name << "<"
               << type_name << ">"
-              << " (Write): " << dataset.template get_io_mode<std::string>()
-              << std::endl;
+              << " (Write): " << dataset.get_io_mode() << std::endl;
     std::cout << "Local no collective cause " + dataset_name << " "
               << container_name << "<" << type_name << ">"
-              << " (Write): "
-              << dataset.template get_local_no_collective_cause<std::string>()
+              << " (Write): " << dataset.get_local_no_collective_cause()
               << std::endl;
     std::cout << "Global no collective cause " + dataset_name << " "
               << container_name << "<" << type_name << ">"
-              << " (Write): "
-              << dataset.template get_global_no_collective_cause<std::string>()
+              << " (Write): " << dataset.get_global_no_collective_cause()
               << std::endl;
   }
 
@@ -346,20 +340,15 @@ write_test(HDF5::Group &              root_group,
                 << " (Write): " << container_sum(data) << std::endl;
         std::cout << "IO mode " + dataset_name << " " << container_name << "<"
                   << type_name << ">"
-                  << " (Write): " << dataset.template get_io_mode<std::string>()
+                  << " (Write): " << dataset.get_io_mode() << std::endl;
+        std::cout << "Local no collective cause " + dataset_name << " "
+                  << container_name << "<" << type_name << ">"
+                  << " (Write): " << dataset.get_local_no_collective_cause()
+                  << std::endl;
+        std::cout << "Global no collective cause " + dataset_name << " "
+                  << container_name << "<" << type_name << ">"
+                  << " (Write): " << dataset.get_global_no_collective_cause()
                   << std::endl;
-        std::cout
-          << "Local no collective cause " + dataset_name << " "
-          << container_name << "<" << type_name << ">"
-          << " (Write): "
-          << dataset.template get_local_no_collective_cause<std::string>()
-          << std::endl;
-        std::cout
-          << "Global no collective cause " + dataset_name << " "
-          << container_name << "<" << type_name << ">"
-          << " (Write): "
-          << dataset.template get_global_no_collective_cause<std::string>()
-          << std::endl;
       }
   }
 
@@ -426,17 +415,14 @@ write_test(HDF5::Group &              root_group,
             << " (Write): " << container_sum(hyperslab_data_b) << std::endl;
     std::cout << "IO mode " + dataset_name << " " << container_name << "<"
               << type_name << ">"
-              << " (Write): " << dataset.template get_io_mode<std::string>()
-              << std::endl;
+              << " (Write): " << dataset.get_io_mode() << std::endl;
     std::cout << "Local no collective cause " + dataset_name << " "
               << container_name << "<" << type_name << ">"
-              << " (Write): "
-              << dataset.template get_local_no_collective_cause<std::string>()
+              << " (Write): " << dataset.get_local_no_collective_cause()
               << std::endl;
     std::cout << "Global no collective cause " + dataset_name << " "
               << container_name << "<" << type_name << ">"
-              << " (Write): "
-              << dataset.template get_global_no_collective_cause<std::string>()
+              << " (Write): " << dataset.get_global_no_collective_cause()
               << std::endl;
   }
 
@@ -519,17 +505,14 @@ read_test(HDF5::Group root_group)
             << " (Read): " << container_sum(data) << std::endl;
     std::cout << "IO mode " + dataset_name << " " << container_name << "<"
               << type_name << ">"
-              << " (Read): " << dataset.template get_io_mode<std::string>()
-              << std::endl;
+              << " (Read): " << dataset.get_io_mode() << std::endl;
     std::cout << "Local no collective cause " + dataset_name << " "
               << container_name << "<" << type_name << ">"
-              << " (Read): "
-              << dataset.template get_local_no_collective_cause<std::string>()
+              << " (Read): " << dataset.get_local_no_collective_cause()
               << std::endl;
     std::cout << "Global no collective cause " + dataset_name << " "
               << container_name << "<" << type_name << ">"
-              << " (Read): "
-              << dataset.template get_global_no_collective_cause<std::string>()
+              << " (Read): " << dataset.get_global_no_collective_cause()
               << std::endl;
   }
 
@@ -553,19 +536,15 @@ read_test(HDF5::Group root_group)
               << " (Read): " << container_sum(data) << std::endl;
       std::cout << "IO mode " + dataset_name << " " << container_name << "<"
                 << type_name << ">"
-                << " (Read): " << dataset.template get_io_mode<std::string>()
-                << std::endl;
+                << " (Read): " << dataset.get_io_mode() << std::endl;
       std::cout << "Local no collective cause " + dataset_name << " "
                 << container_name << "<" << type_name << ">"
-                << " (Read): "
-                << dataset.template get_local_no_collective_cause<std::string>()
+                << " (Read): " << dataset.get_local_no_collective_cause()
+                << std::endl;
+      std::cout << "Global no collective cause " + dataset_name << " "
+                << container_name << "<" << type_name << ">"
+                << " (Read): " << dataset.get_global_no_collective_cause()
                 << std::endl;
-      std::cout
-        << "Global no collective cause " + dataset_name << " " << container_name
-        << "<" << type_name << ">"
-        << " (Read): "
-        << dataset.template get_global_no_collective_cause<std::string>()
-        << std::endl;
     }
 
     {
@@ -584,19 +563,15 @@ read_test(HDF5::Group root_group)
               << data_a[2] << ", " << data_a[3] << std::endl;
       std::cout << "IO mode " + dataset_name << " " << container_name << "<"
                 << type_name << ">"
-                << " (Read): " << dataset.template get_io_mode<std::string>()
-                << std::endl;
+                << " (Read): " << dataset.get_io_mode() << std::endl;
       std::cout << "Local no collective cause " + dataset_name << " "
                 << container_name << "<" << type_name << ">"
-                << " (Read): "
-                << dataset.template get_local_no_collective_cause<std::string>()
+                << " (Read): " << dataset.get_local_no_collective_cause()
+                << std::endl;
+      std::cout << "Global no collective cause " + dataset_name << " "
+                << container_name << "<" << type_name << ">"
+                << " (Read): " << dataset.get_global_no_collective_cause()
                 << std::endl;
-      std::cout
-        << "Global no collective cause " + dataset_name << " " << container_name
-        << "<" << type_name << ">"
-        << " (Read): "
-        << dataset.template get_global_no_collective_cause<std::string>()
-        << std::endl;
     }
   }
 
@@ -624,20 +599,15 @@ read_test(HDF5::Group root_group)
                 << " (Read): " << container_sum(data) << std::endl;
         std::cout << "IO mode " + dataset_name << " " << container_name << "<"
                   << type_name << ">"
-                  << " (Read): " << dataset.template get_io_mode<std::string>()
+                  << " (Read): " << dataset.get_io_mode() << std::endl;
+        std::cout << "Local no collective cause " + dataset_name << " "
+                  << container_name << "<" << type_name << ">"
+                  << " (Read): " << dataset.get_local_no_collective_cause()
+                  << std::endl;
+        std::cout << "Global no collective cause " + dataset_name << " "
+                  << container_name << "<" << type_name << ">"
+                  << " (Read): " << dataset.get_global_no_collective_cause()
                   << std::endl;
-        std::cout
-          << "Local no collective cause " + dataset_name << " "
-          << container_name << "<" << type_name << ">"
-          << " (Read): "
-          << dataset.template get_local_no_collective_cause<std::string>()
-          << std::endl;
-        std::cout
-          << "Global no collective cause " + dataset_name << " "
-          << container_name << "<" << type_name << ">"
-          << " (Read): "
-          << dataset.template get_global_no_collective_cause<std::string>()
-          << std::endl;
       }
   }
 
@@ -661,19 +631,15 @@ read_test(HDF5::Group root_group)
               << " (Read): " << container_sum(data) << std::endl;
       std::cout << "IO mode " + dataset_name << " " << container_name << "<"
                 << type_name << ">"
-                << " (Read): " << dataset.template get_io_mode<std::string>()
-                << std::endl;
+                << " (Read): " << dataset.get_io_mode() << std::endl;
       std::cout << "Local no collective cause " + dataset_name << " "
                 << container_name << "<" << type_name << ">"
-                << " (Read): "
-                << dataset.template get_local_no_collective_cause<std::string>()
+                << " (Read): " << dataset.get_local_no_collective_cause()
+                << std::endl;
+      std::cout << "Global no collective cause " + dataset_name << " "
+                << container_name << "<" << type_name << ">"
+                << " (Read): " << dataset.get_global_no_collective_cause()
                 << std::endl;
-      std::cout
-        << "Global no collective cause " + dataset_name << " " << container_name
-        << "<" << type_name << ">"
-        << " (Read): "
-        << dataset.template get_global_no_collective_cause<std::string>()
-        << std::endl;
     }
 
     {
@@ -687,19 +653,15 @@ read_test(HDF5::Group root_group)
               << " (Read): " << container_sum(data_a) << std::endl;
       std::cout << "IO mode " + dataset_name << " " << container_name << "<"
                 << type_name << ">"
-                << " (Read): " << dataset.template get_io_mode<std::string>()
-                << std::endl;
+                << " (Read): " << dataset.get_io_mode() << std::endl;
       std::cout << "Local no collective cause " + dataset_name << " "
                 << container_name << "<" << type_name << ">"
-                << " (Read): "
-                << dataset.template get_local_no_collective_cause<std::string>()
+                << " (Read): " << dataset.get_local_no_collective_cause()
+                << std::endl;
+      std::cout << "Global no collective cause " + dataset_name << " "
+                << container_name << "<" << type_name << ">"
+                << " (Read): " << dataset.get_global_no_collective_cause()
                 << std::endl;
-      std::cout
-        << "Global no collective cause " + dataset_name << " " << container_name
-        << "<" << type_name << ">"
-        << " (Read): "
-        << dataset.template get_global_no_collective_cause<std::string>()
-        << std::endl;
     }
 
     {
@@ -713,19 +675,15 @@ read_test(HDF5::Group root_group)
               << " (Read): " << container_sum(data_b) << std::endl;
       std::cout << "IO mode " + dataset_name << " " << container_name << "<"
                 << type_name << ">"
-                << " (Read): " << dataset.template get_io_mode<std::string>()
-                << std::endl;
+                << " (Read): " << dataset.get_io_mode() << std::endl;
       std::cout << "Local no collective cause " + dataset_name << " "
                 << container_name << "<" << type_name << ">"
-                << " (Read): "
-                << dataset.template get_local_no_collective_cause<std::string>()
+                << " (Read): " << dataset.get_local_no_collective_cause()
+                << std::endl;
+      std::cout << "Global no collective cause " + dataset_name << " "
+                << container_name << "<" << type_name << ">"
+                << " (Read): " << dataset.get_global_no_collective_cause()
                 << std::endl;
-      std::cout
-        << "Global no collective cause " + dataset_name << " " << container_name
-        << "<" << type_name << ">"
-        << " (Read): "
-        << dataset.template get_global_no_collective_cause<std::string>()
-        << std::endl;
     }
   }
 
@@ -748,17 +706,14 @@ read_test(HDF5::Group root_group)
             << " (Read): " << container_sum(data) << std::endl;
     std::cout << "IO mode " + dataset_name << " " << container_name << "<"
               << type_name << ">"
-              << " (Read): " << dataset.template get_io_mode<std::string>()
-              << std::endl;
+              << " (Read): " << dataset.get_io_mode() << std::endl;
     std::cout << "Local no collective cause " + dataset_name << " "
               << container_name << "<" << type_name << ">"
-              << " (Read): "
-              << dataset.template get_local_no_collective_cause<std::string>()
+              << " (Read): " << dataset.get_local_no_collective_cause()
               << std::endl;
     std::cout << "Global no collective cause " + dataset_name << " "
               << container_name << "<" << type_name << ">"
-              << " (Read): "
-              << dataset.template get_global_no_collective_cause<std::string>()
+              << " (Read): " << dataset.get_global_no_collective_cause()
               << std::endl;
   }
 }

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.