19#ifndef ROOT_MathX_GenVectorX_GenVectorIO
20#define ROOT_MathX_GenVectorX_GenVectorIO 1
27#if !defined(ROOT_MATH_SYCL) && !defined(ROOT_MATH_CUDA)
59template <
class char_t,
class traits_t>
62 char_t ch =
static_cast<char_t
>(ios.iword(
ios_data(
m)));
67 default:
return ios.widen(
'?');
68 case open:
return ios.widen(
'(');
69 case close:
return ios.widen(
')');
70 case sep:
return ios.widen(
',');
76template <
class char_t,
class traits_t>
79 ios.iword(
ios_data(
m)) =
static_cast<long>(ch);
83template <
class char_t>
88 template <
class traits_t>
89 void set(std::basic_ios<char_t, traits_t> &ios)
const
100template <
class char_t,
class traits_t>
104 if (std::isspace(
delim))
110 is.setstate(std::ios::failbit);
116template <
class char_t,
class traits_t>
117inline std::basic_ostream<char_t, traits_t> &
126template <
class char_t,
class traits_t>
127inline std::basic_istream<char_t, traits_t> &
140template <
class char_t>
147template <
class char_t>
154template <
class char_t>
161template <
class char_t,
class traits_t>
162inline std::basic_ios<char_t, traits_t> &
human_readable(std::basic_ios<char_t, traits_t> &ios)
169template <
class char_t,
class traits_t>
170inline std::basic_ios<char_t, traits_t> &
machine_readable(std::basic_ios<char_t, traits_t> &ios)
ROOT::Detail::TRangeCast< T, true > TRangeDynCast
TRangeDynCast is an adapter class that allows the typed iteration through a TCollection.
manipulator(manip_t m, char_t ch=0)
void set(std::basic_ios< char_t, traits_t > &ios) const
std::basic_istream< char_t, traits_t > & require_delim(std::basic_istream< char_t, traits_t > &is, manip_t m)
char_t get_manip(std::basic_ios< char_t, traits_t > &ios, manip_t m)
void set_manip(std::basic_ios< char_t, traits_t > &ios, manip_t m, char_t ch)
std::basic_istream< char_t, traits_t > & operator>>(std::basic_istream< char_t, traits_t > &is, detail::manipulator< char_t > const &manip)
std::basic_ostream< char_t, traits_t > & operator<<(std::basic_ostream< char_t, traits_t > &os, detail::manipulator< char_t > const &manip)
detail::manipulator< char_t > set_close(char_t ch)
detail::manipulator< char_t > set_open(char_t ch)
std::basic_ios< char_t, traits_t > & machine_readable(std::basic_ios< char_t, traits_t > &ios)
detail::manipulator< char_t > set_separator(char_t ch)
std::basic_ios< char_t, traits_t > & human_readable(std::basic_ios< char_t, traits_t > &ios)