template <class ... T> std::string to_string(T... objs) { std::stringstream ss; ar::text_oarchive oa(ss, ar::no_header); to_string_(oa, objs...); return ss.str(); }
std::string DoubleList::get_value() const { return to_string_(value_); }
std::string DoubleList::get_default() const { return to_string_(default_); }
template <class T, class... R> void to_string_(ar::text_oarchive& oa, const T& obj, R ... rest) { oa << obj; to_string_(oa, rest...); }
inline std::string to_string(Ts&& ... args) { std::ostringstream out; return to_string_(out, std::forward<Ts>(args)...); }
std::string to_string_(std::ostringstream &out, T &&arg, Ts&&... args) { out << std::move(arg); return to_string_(out, std::forward<Ts>(args)...); }
std::string Time::get_value() const { return to_string_(value_); }
std::string Time::get_default() const { return to_string_(default_); }
std::string DoubleRangeExt::get_value() const { return to_string_(value_); }
std::string DoubleRangeExt::get_default() const { return to_string_(default_); }