23#include "../H5Exception.hpp"
29template <std::
size_t N>
30class FixedLenStringArray;
34template <
typename Size>
35inline std::vector<std::size_t> to_vector_size_t(
const std::vector<Size>& vec) {
36 static_assert(std::is_same<Size, std::size_t>::value ==
false,
37 " hsize_t != size_t mandatory here");
38 std::vector<size_t> res(vec.size());
39 std::transform(vec.cbegin(), vec.cend(), res.begin(), [](Size e) {
40 return static_cast<size_t>(e);
46inline std::vector<std::size_t> to_vector_size_t(
const std::vector<std::size_t>& vec) {
52inline std::string get_name(T fct) {
53 const size_t maxLength = 255;
54 char buffer[maxLength + 1];
55 ssize_t retcode = fct(buffer,
static_cast<hsize_t
>(maxLength) + 1);
57 HDF5ErrMapper::ToException<GroupException>(
"Error accessing object name");
59 const size_t length =
static_cast<std::size_t
>(retcode);
60 if (length <= maxLength) {
61 return std::string(buffer, length);
63 std::vector<char> bigBuffer(length + 1, 0);
64 fct(bigBuffer.data(), length + 1);
65 return std::string(bigBuffer.data(), length);
68template <
class Container>
69inline std::string format_vector(
const Container& container) {
70 auto sout = std::stringstream{};
73 for (
size_t i = 0; i < container.size(); ++i) {
74 sout << container[i] << (i == container.size() - 1 ?
"" :
", ");
Definition H5_definitions.hpp:15