From d07c54ba295498e164316d4e31f8f88aca9d6b97 Mon Sep 17 00:00:00 2001 From: Norbert Podhorszki <pnorbert@ornl.gov> Date: Mon, 1 May 2017 15:57:59 -0400 Subject: [PATCH] added another form of Uint64ArrayToSizetVector() --- source/adios2/core/adiosFunctions.cpp | 10 ++++++++++ source/adios2/core/adiosFunctions.h | 8 +++++++- 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/source/adios2/core/adiosFunctions.cpp b/source/adios2/core/adiosFunctions.cpp index 6c6901880..3394c2946 100644 --- a/source/adios2/core/adiosFunctions.cpp +++ b/source/adios2/core/adiosFunctions.cpp @@ -662,6 +662,16 @@ void ConvertUint64VectorToSizetVector(const std::vector<std::uint64_t> &in, } } +void Uint64ArrayToSizetVector(const std::size_t nElements, const uint64_t *in, + std::vector<std::size_t> &out) +{ + out.resize(nElements); + for (std::size_t i = 0; i < nElements; i++) + { + out[i] = static_cast<std::size_t>(in[i]); + } +} + std::vector<std::size_t> Uint64ArrayToSizetVector(const std::size_t nElements, const uint64_t *in) { diff --git a/source/adios2/core/adiosFunctions.h b/source/adios2/core/adiosFunctions.h index 545c5c3e9..a66daa87d 100644 --- a/source/adios2/core/adiosFunctions.h +++ b/source/adios2/core/adiosFunctions.h @@ -188,6 +188,13 @@ std::vector<int> CSVToVectorInt(const std::string csv); */ void ConvertUint64VectorToSizetVector(const std::vector<std::uint64_t> &in, std::vector<std::size_t> &out); +/** Convert a C array of uint64_t elements to a vector of std::size_t elements + * @param number of elements + * @param input array of uint64_t elements + * @param vector of std::size_t elements. It will be resized to nElements. + */ +void Uint64ArrayToSizetVector(const std::size_t nElements, const uint64_t *in, + std::vector<std::size_t> &out); /** Convert a C array of uint64_t elements to a vector of std::size_t elements * @param number of elements @@ -196,7 +203,6 @@ void ConvertUint64VectorToSizetVector(const std::vector<std::uint64_t> &in, */ std::vector<std::size_t> Uint64ArrayToSizetVector(const std::size_t nElements, const uint64_t *in); - /** * Converts a vector of dimensions to a CSV string * @param dims vector of dimensions -- GitLab