LSST Applications 29.1.1,g0fba68d861+94d977d4f8,g1fd858c14a+0a42b1a450,g21d47ad084+bae5d1592d,g35bb328faa+fcb1d3bbc8,g36ff55ed5b+4036fd6440,g4e0f332c67+abab7ee1ee,g53246c7159+fcb1d3bbc8,g60b5630c4e+4036fd6440,g67b6fd64d1+31de10a2f7,g72a202582f+7a25662ef1,g78460c75b0+2f9a1b4bcd,g786e29fd12+cf7ec2a62a,g86c591e316+1a75853d69,g8852436030+8220ab3cb6,g88f4e072da+7005418d1d,g89139ef638+31de10a2f7,g8b8da53e10+8f7b08dc1c,g9125e01d80+fcb1d3bbc8,g989de1cb63+31de10a2f7,g9f1445be69+4036fd6440,g9f33ca652e+fcef3ba435,ga9baa6287d+4036fd6440,ga9e4eb89a6+a41a34c2ba,gabe3b4be73+1e0a283bba,gb0b61e0e8e+d456af7c26,gb1101e3267+f17a9d70ea,gb58c049af0+f03b321e39,gb89ab40317+31de10a2f7,gce29eb0867+05ed69485a,gcf25f946ba+8220ab3cb6,gd6cbbdb0b4+11317e7a17,gd9a9a58781+fcb1d3bbc8,gde0f65d7ad+b4f50ea554,ge278dab8ac+50e2446c94,ge410e46f29+31de10a2f7,ge80e9994a3+32bb9bc1c9,gf5e32f922b+fcb1d3bbc8,gf67bdafdda+31de10a2f7
LSST Data Management Base Package
Loading...
Searching...
No Matches
to_string.h
Go to the documentation of this file.
1#ifndef LSST_GAUSS2D_TO_STRING_H
2#define LSST_GAUSS2D_TO_STRING_H
3
4#include <algorithm>
5#include <memory>
6#include <set>
7#include <sstream>
8#include <stdexcept>
9#include <string>
10#include <vector>
11
12namespace lsst::gauss2d {
13
14template <typename T>
15std::string to_string_float(const T value, const int precision = 6, const bool scientific = true) {
17 out.precision(precision);
18 if (scientific) {
19 out << std::scientific;
20 } else {
21 out << std::fixed;
22 }
23 out << value;
24 return std::move(out).str();
25}
26
27template <template <typename...> class Container, class Value>
28std::string to_string_float_iter(const Container<Value>& container, const int precision = 6,
29 const bool scientific = true) {
30 std::string str = "[";
31 for (const auto& value : container) {
32 str += to_string_float(value, precision, scientific) + ", ";
33 }
34 return str.substr(0, str.size() - 2 * (container.size() > 0)) + "]";
35}
36
37template <template <typename...> class Container, class Value>
38std::string to_string_iter(const Container<Value>& container) {
39 std::string str = "[";
40 for (const auto& value : container) {
41 str += std::to_string(value) + ", ";
42 }
43 return str.substr(0, str.size() - 2 * (container.size() > 0)) + "]";
44}
45
46} // namespace lsst::gauss2d
47
48#endif
T scientific(T... args)
T move(T... args)
std::string to_string_float_iter(const Container< Value > &container, const int precision=6, const bool scientific=true)
Definition to_string.h:28
std::string to_string_float(const T value, const int precision=6, const bool scientific=true)
Definition to_string.h:15
std::string to_string_iter(const Container< Value > &container)
Definition to_string.h:38
T precision(T... args)
T substr(T... args)
T to_string(T... args)