16 A(
const double value) : value(value) {}
18 friend inline std::ostream&
operator<<(std::ostream& out,
const A&
object)
20 const JFormat format(out, getFormat<A>(
JFormat_t(5, 2, std::ios::fixed | std::ios::showpos)));
22 return out << format <<
object.value;
30 B(
const double value) : value(value) {}
32 friend inline std::ostream&
operator<<(std::ostream& out,
const B&
object)
34 const JFormat format(out, getFormat<B>(
JFormat_t(12, 3, std::ios::scientific | std::ios::showpos)));
36 return out << format <<
object.value;
44 friend inline std::ostream&
operator<<(std::ostream& out,
const C&
object)
51 return out <<
"C::shortprint";
54 return out <<
"C::mediumprint";
57 return out <<
"C::longprint";
60 return out <<
"C::undefined";
77 int main(
int argc,
char* argv[])
92 catch(
const exception &error) {
93 FATAL(error.what() << endl);
96 for (
int value = 1; value < 1000000000; value *= 10) {
97 cout <<
"CENTER <" <<
CENTER(12) << value <<
">" << endl;
100 for (
int value = 1; value < 1000000000; value *= 10) {
101 cout <<
"FILL <" <<
FILL(12,
'.') << value <<
">" <<
FILL() << endl;
104 for (
int value = 1; value < 1000000000; value *= 10) {
105 cout <<
"RIGHT <" <<
RIGHT(12) << value <<
">" << endl;
108 for (
int value = 1; value < 1000000000; value *= 10) {
109 cout <<
"LEFT <" <<
LEFT(12) << value <<
">" << endl;
112 for (
double value = 0.123456; value < 100000; value *= 10) {
113 cout <<
"FIXED <" <<
FIXED(12,6) << value <<
">" << endl;
118 const double c = 12.34;
123 cout << setprecision(3);
125 cout <<
"A <" <<
a <<
">" << endl;
126 cout <<
"c <" << c <<
">" << endl;
127 cout <<
"B <" << b <<
">" << endl;
128 cout <<
"c <" << c <<
">" << endl;
130 setFormat<A>(
JFormat_t(12, 3, std::ios::scientific));
131 setFormat<B>(
JFormat_t( 5, 2, std::ios::fixed));
133 cout <<
"A <" <<
a <<
">" << endl;
134 cout <<
"c <" << c <<
">" << endl;
135 cout <<
"B <" << b <<
">" << endl;
136 cout <<
"c <" << c <<
">" << endl;
148 const int i = 123456;
150 os[0] << setw(12) << left << i;
151 os[1] <<
LEFT(12) << i;
153 ASSERT(os[0].str() == os[1].str(),
"<" << os[0].str() <<
"> == <" << os[1].str() <<
">");
158 const int i = 123456;
160 os[0] << setw(12) << right << i;
161 os[1] <<
RIGHT(12) << i;
163 ASSERT(os[0].str() == os[1].str(),
"<" << os[0].str() <<
"> == <" << os[1].str() <<
">");
168 const int i = 123456;
170 os[0] << setw(12) << setfill(
'0') << i;
171 os[1] <<
FILL(12,
'0') << i;
173 ASSERT(os[0].str() == os[1].str(),
"<" << os[0].str() <<
"> == <" << os[1].str() <<
">");
178 const double x = 123.456;
180 os[0] << setw(12) << setprecision(5) << fixed <<
x;
181 os[1] <<
FIXED(12,5) <<
x;
183 ASSERT(os[0].str() == os[1].str(),
"<" << os[0].str() <<
"> == <" << os[1].str() <<
">");
188 const double x = 123.456;
190 os[0] << setw(12) << setprecision(2) << scientific <<
x;
193 ASSERT(os[0].str() == os[1].str(),
"<" << os[0].str() <<
"> == <" << os[1].str() <<
">");
199 cout <<
LAMBDA([
v = V](ostream& out) {
for (
const auto& i :
v) { out <<
" " << i; } }) << endl;
int main(int argc, char *argv[])
int getPrintOption(std::ostream &out)
Get print option.
std::ostream & shortprint(std::ostream &out)
Set short printing.
std::ostream & mediumprint(std::ostream &out)
Set medium printing.
std::ostream & longprint(std::ostream &out)
Set long printing.
General purpose messaging.
#define ASSERT(A,...)
Assert macro.
Utility class to parse command line options.
#define make_field(A,...)
macro to convert parameter to JParserTemplateElement object
Utility class to parse command line options.
std::ostream & print(std::ostream &out, const JTestSummary &summary, const char delimiter=' ', const bool useColors=true)
Print test summary.
@ MEDIUM_PRINT
medium print
static const double C
Physics constants.
This name space includes all other name spaces (except KM3NETDAQ, KM3NET and ANTARES).
Auxiliary data structure for alignment of data.
Auxiliary data structure for sequence of same character.
Auxiliary data structure for floating point format specification.
Auxiliary data structure to convert (lambda) function to printable object.
Auxiliary data structure for floating point format specification.