23#include "../H5Exception.hpp"
30template <
typename Size>
31inline std::vector<std::size_t> to_vector_size_t(
const std::vector<Size>& vec) {
32 static_assert(!std::is_same<Size, std::size_t>::value,
" hsize_t != size_t mandatory here");
33 std::vector<size_t> res(vec.size());
34 std::transform(vec.cbegin(), vec.cend(), res.begin(), [](Size e) {
35 return static_cast<size_t>(e);
41inline std::vector<std::size_t> to_vector_size_t(
const std::vector<std::size_t>& vec) {
47inline std::string get_name(T fct) {
48 constexpr size_t maxLength = 255;
49 std::array<char, maxLength + 1> buffer;
50 ssize_t retcode = fct(buffer.data(),
static_cast<hsize_t
>(buffer.size()));
52 HDF5ErrMapper::ToException<GroupException>(
"Error accessing object name");
54 const size_t length =
static_cast<std::size_t
>(retcode);
55 if (length <= maxLength) {
56 return std::string(buffer.data(), length);
58 std::vector<char> bigBuffer(length + 1, 0);
59 fct(bigBuffer.data(), length + 1);
60 return std::string(bigBuffer.data(), length);
63template <
class Container>
64inline std::string format_vector(
const Container& container) {
65 auto sout = std::stringstream{};
68 for (
size_t i = 0; i < container.size(); ++i) {
69 sout << container[i] << (i == container.size() - 1 ?
"" :
", ");
Definition assert_compatible_spaces.hpp:15