8 #ifndef CSV_MULTIARRAY_COPY_HPP_
9 #define CSV_MULTIARRAY_COPY_HPP_
34 inline csv_col_str(std::string prp, std::stringstream & str)
41 template<
typename T,
size_t N1>
44 inline csv_col_str(std::string prp, std::stringstream & str)
46 for (
size_t i = 0 ; i < N1 ; i++)
47 str <<
"," << prp <<
"_" <<
"[" << i <<
"]";
52 template<
typename T,
size_t N1,
size_t N2>
55 inline csv_col_str(std::string prp, std::stringstream & str)
57 for (
size_t i1 = 0 ; i1 < N1 ; i1++)
59 for (
size_t i2 = 0 ; i2 < N2 ; i2++)
61 str <<
"," << prp <<
"_" <<
"[" << i1 <<
"]" <<
"[" << i2 <<
"]";
68 template<
typename T,
size_t N1,
size_t N2,
size_t N3>
71 inline csv_col_str(std::string prp, std::stringstream & str)
73 for (
size_t i1 = 0 ; i1 < N1 ; i1++)
75 for (
size_t i2 = 0 ; i2 < N2 ; i2++)
77 for (
size_t i3 = 0 ; i3 < N3 ; i3++)
79 str <<
"," << prp <<
"_" <<
"[" << i1 <<
"]" <<
"[" << i2 <<
"]" <<
"[" << i3 <<
"]";
87 template<
typename T,
size_t N1,
size_t N2,
size_t N3,
size_t N4>
90 inline csv_col_str(std::string prp, std::stringstream & str)
92 for (
size_t i1 = 0 ; i1 < N1 ; i1++)
94 for (
size_t i2 = 0 ; i2 < N2 ; i2++)
96 for (
size_t i3 = 0 ; i3 < N3 ; i3++)
98 for (
size_t i4 = 0 ; i4 < N4 ; i4++)
100 str <<
"," << prp <<
"_" <<
"[" << i1 <<
"]" <<
"[" << i2 <<
"]" <<
"[" << i3 <<
"]" <<
"[" << i4 <<
"]";
137 template<
typename T,
size_t N1>
142 for (
size_t i = 0 ; i < N1 ; i++)
148 template<
typename T,
size_t N1,
size_t N2>
151 inline csv_value_str(
const T v[N1][N2], std::stringstream & str)
153 for (
size_t i1 = 0 ; i1 < N1 ; i1++)
155 for (
size_t i2 = 0 ; i2 < N2 ; i2++)
157 str <<
"," << v[i1][i2];
164 template<
typename T,
size_t N1,
size_t N2,
size_t N3>
167 inline csv_value_str(
const T v[N1][N2][N3], std::stringstream & str)
169 for (
size_t i1 = 0 ; i1 < N1 ; i1++)
171 for (
size_t i2 = 0 ; i2 < N2 ; i2++)
173 for (
size_t i3 = 0 ; i3 < N3 ; i3++)
175 str <<
"," << v[i1][i2][i3];
183 template<
typename T,
size_t N1,
size_t N2,
size_t N3,
size_t N4>
186 inline csv_value_str(
const T v[N1][N2][N3][N4], std::stringstream & str)
188 for (
size_t i1 = 0 ; i1 < N1 ; i1++)
190 for (
size_t i2 = 0 ; i2 < N2 ; i2++)
192 for (
size_t i3 = 0 ; i3 < N3 ; i3++)
194 for (
size_t i4 = 0 ; i4 < N4 ; i4++)
196 str <<
"," << v[i1][i2][i3][i4];
This class is an helper to produce csv data from multi-array.
This class is an helper to produce csv headers from multi-array.