19#ifndef ROOT_Math_GenVector_GenVectorIO
20#define ROOT_Math_GenVector_GenVectorIO 1
41 static int const ios_data[4] = { std::ios::xalloc()
52template<
class char_t,
class traits_t >
58 char_t ch =
static_cast<char_t
>( ios.iword(
ios_data(
m) ) );
62 { default :
return ios.widen(
'?' );
63 case open :
return ios.widen(
'(' );
64 case close :
return ios.widen(
')' );
65 case sep :
return ios.widen(
',' );
72template<
class char_t,
class traits_t >
79 ios.iword(
ios_data(
m) ) =
static_cast<long>(ch);
84template<
class char_t >
96 template<
class traits_t >
98 set( std::basic_ios<char_t,traits_t> & ios )
const
110template<
class char_t,
class traits_t >
112 std::basic_istream<char_t,traits_t> &
118 if( std::isspace(delim) )
return is;
123 is.setstate( std::ios::failbit );
130template<
class char_t,
class traits_t >
132 std::basic_ostream<char_t,traits_t> &
133 operator << ( std::basic_ostream<char_t,traits_t> & os
144template<
class char_t,
class traits_t >
146 std::basic_istream<char_t,traits_t> &
164template<
class char_t >
166 detail::manipulator<char_t>
174template<
class char_t >
176 detail::manipulator<char_t>
184template<
class char_t >
186 detail::manipulator<char_t>
194template<
class char_t,
class traits_t >
196 std::basic_ios<char_t,traits_t> &
205template<
class char_t,
class traits_t >
207 std::basic_ios<char_t,traits_t> &
manipulator(manip_t m, char_t ch=0)
void set(std::basic_ios< char_t, traits_t > &ios) const
Namespace for new Math classes and functions.
char_t get_manip(std::basic_ios< char_t, traits_t > &ios, manip_t m)
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)
std::basic_istream< char_t, traits_t > & require_delim(std::basic_istream< char_t, traits_t > &is, manip_t m)
void set_manip(std::basic_ios< char_t, traits_t > &ios, manip_t m, char_t ch)
detail::manipulator< char_t > set_open(char_t ch)
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)
std::basic_ios< char_t, traits_t > & machine_readable(std::basic_ios< char_t, traits_t > &ios)
detail::manipulator< char_t > set_close(char_t ch)
static constexpr double L