1#ifndef IV_SRC_CONTAINERS_UTILS_HPP_
2#define IV_SRC_CONTAINERS_UTILS_HPP_
23void concatenate(std::vector<T> *v,
const std::vector<T> &other)
25 v->insert(v->end(), other.begin(), other.end());
28void createData(std::vector<bool> *bytes,
const unsigned char *data, uint32_t numBytesData);
30void createDataInOrder(std::vector<bool> *bytes,
const unsigned char *data, uint32_t numBytesData);
35 static_assert(std::is_arithmetic_v<T>,
"T must be arithmetic type");
36 return std::accumulate(v.begin(), v.end(), T {0});
40std::string
toString(
char separator,
const std::vector<T> &v)
48 std::string result =
"{";
50 for (
const auto &item: v)
52 result += fmt::format(
"{}{}", item, separator);
65 static_assert(std::is_arithmetic<T>::value,
"T must be an arithmetic type");
67 uint64_t numPoints = v.size();
71 auto points = std::make_unique<uint32_t[]>(numPoints);
73 for (uint64_t indPoint = 0; indPoint < numPoints; indPoint++)
75 points[indPoint] =
static_cast<uint32_t
>(v.at(indPoint));
void createData(std::vector< bool > *bytes, const unsigned char *data, uint32_t numBytesData)
Definition utils.cpp:8
T summatory(std::vector< T > &v)
Definition utils.hpp:33
std::string toString(char separator, const std::vector< T > &v)
Definition utils.hpp:40
std::unique_ptr< uint32_t[]> getUIntPointer(std::vector< T > v)
Definition utils.hpp:63
void concatenate(std::vector< T > *v, const std::vector< T > &other)
Definition utils.hpp:23
void createDataInOrder(std::vector< bool > *bytes, const unsigned char *data, uint32_t numBytesData)
Definition utils.cpp:21