Jpp  18.3.1
the software that should make you happy
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Classes | Namespaces | Enumerations | Functions
JManip.hh File Reference

I/O manipulators. More...

#include <string>
#include <ostream>
#include <sstream>
#include <iomanip>
#include <functional>

Go to the source code of this file.

Classes

struct  WIDTH
 Auxiliary data structure for alignment of data. More...
 
struct  LEFT
 Auxiliary data structure for alignment of data. More...
 
struct  RIGHT
 Auxiliary data structure for alignment of data. More...
 
struct  FILL
 Auxiliary data structure for sequence of same character. More...
 
struct  CENTER
 Auxiliary data structure for alignment of data. More...
 
struct  CENTER::JCenter
 Auxiliary class for format center. More...
 
struct  FIXED
 Auxiliary data structure for floating point format specification. More...
 
struct  SCIENTIFIC
 Auxiliary data structure for floating point format specification. More...
 
struct  JFormat_t
 Data structure for format specifications. More...
 
struct  JFormat
 Auxiliary class to temporarily define format specifications. More...
 
struct  LAMBDA
 Auxiliary data structure to convert (lambda) function to printable object. More...
 

Namespaces

 JLANG
 Auxiliary classes and methods for language specific functionality.
 
 JPP
 This name space includes all other name spaces (except KM3NETDAQ, KM3NET and ANTARES).
 

Enumerations

enum  JLANG::JPrintOption_t { JLANG::SHORT_PRINT = 1, JLANG::MEDIUM_PRINT = 2, JLANG::LONG_PRINT = 3 }
 Print options. More...
 

Functions

int JLANG::getIndex ()
 Get index for user I/O manipulation. More...
 
int getPrintOption (std::ostream &out)
 Get print option. More...
 
void setPrintOption (std::ostream &out, const int option)
 Set print option. More...
 
bool getShortprint (std::ostream &out)
 Get short print option. More...
 
void setShortprint (std::ostream &out)
 Set short print option. More...
 
bool getMediumprint (std::ostream &out)
 Get medium print option. More...
 
void setMediumprint (std::ostream &out)
 Set medium print option. More...
 
bool getLongprint (std::ostream &out)
 Get long print option. More...
 
void setLongprint (std::ostream &out)
 Set long print option. More...
 
std::ostream & shortprint (std::ostream &out)
 Set short printing. More...
 
std::ostream & mediumprint (std::ostream &out)
 Set medium printing. More...
 
std::ostream & longprint (std::ostream &out)
 Set long printing. More...
 
std::ostream & newline (std::ostream &out)
 Print newline character. More...
 
std::ostream & whitespace (std::ostream &out)
 Print white space character. More...
 
std::ostream & tab (std::ostream &out)
 Print tab character. More...
 
std::ostream & rewind (std::ostream &out)
 Rewind character. More...
 
template<class T >
JFormat_tgetFormat ()
 Get format for given type. More...
 
template<class T >
JFormat_t getFormat (const JFormat_t &format)
 Get format for given type. More...
 
template<class T >
void setFormat (const JFormat_t &format)
 Set format for given type. More...
 

Detailed Description

I/O manipulators.

Author
mdejong

Definition in file JManip.hh.

Function Documentation

int getPrintOption ( std::ostream &  out)
inline

Get print option.

Parameters
outoutput stream
Returns
print option

Definition at line 51 of file JManip.hh.

52 {
53  return out.iword(JLANG::getIndex());
54 }
int getIndex()
Get index for user I/O manipulation.
Definition: JManip.hh:26
void setPrintOption ( std::ostream &  out,
const int  option 
)
inline

Set print option.

Parameters
outoutput stream
optionprint option

Definition at line 63 of file JManip.hh.

64 {
65  out.iword(JLANG::getIndex()) = option;
66 }
int getIndex()
Get index for user I/O manipulation.
Definition: JManip.hh:26
bool getShortprint ( std::ostream &  out)
inline

Get short print option.

Parameters
outoutput stream
Returns
true if short print option is on; else false

Definition at line 75 of file JManip.hh.

76 {
77  return getPrintOption(out) == JLANG::SHORT_PRINT;
78 }
short print
Definition: JManip.hh:38
int getPrintOption(std::ostream &out)
Get print option.
Definition: JManip.hh:51
void setShortprint ( std::ostream &  out)
inline

Set short print option.

Parameters
outoutput stream

Definition at line 86 of file JManip.hh.

87 {
89 }
short print
Definition: JManip.hh:38
void setPrintOption(std::ostream &out, const int option)
Set print option.
Definition: JManip.hh:63
bool getMediumprint ( std::ostream &  out)
inline

Get medium print option.

Parameters
outoutput stream
Returns
true if medium print option is on; else false

Definition at line 98 of file JManip.hh.

99 {
100  return getPrintOption(out) == JLANG::MEDIUM_PRINT;
101 }
medium print
Definition: JManip.hh:39
int getPrintOption(std::ostream &out)
Get print option.
Definition: JManip.hh:51
void setMediumprint ( std::ostream &  out)
inline

Set medium print option.

Parameters
outoutput stream

Definition at line 109 of file JManip.hh.

110 {
111  return setPrintOption(out, JLANG::MEDIUM_PRINT);
112 }
medium print
Definition: JManip.hh:39
void setPrintOption(std::ostream &out, const int option)
Set print option.
Definition: JManip.hh:63
bool getLongprint ( std::ostream &  out)
inline

Get long print option.

Parameters
outoutput stream
Returns
true if long print option is on; else false

Definition at line 121 of file JManip.hh.

122 {
123  return getPrintOption(out) == JLANG::LONG_PRINT;
124 }
long print
Definition: JManip.hh:40
int getPrintOption(std::ostream &out)
Get print option.
Definition: JManip.hh:51
void setLongprint ( std::ostream &  out)
inline

Set long print option.

Parameters
outoutput stream

Definition at line 132 of file JManip.hh.

133 {
134  return setPrintOption(out, JLANG::LONG_PRINT);
135 }
long print
Definition: JManip.hh:40
void setPrintOption(std::ostream &out, const int option)
Set print option.
Definition: JManip.hh:63
std::ostream& shortprint ( std::ostream &  out)
inline

Set short printing.

Parameters
outoutput stream
Returns
output stream

Definition at line 144 of file JManip.hh.

145 {
146  setShortprint(out);
147 
148  return out;
149 }
void setShortprint(std::ostream &out)
Set short print option.
Definition: JManip.hh:86
std::ostream& mediumprint ( std::ostream &  out)
inline

Set medium printing.

Parameters
outoutput stream
Returns
output stream

Definition at line 158 of file JManip.hh.

159 {
160  setMediumprint(out);
161 
162  return out;
163 }
void setMediumprint(std::ostream &out)
Set medium print option.
Definition: JManip.hh:109
std::ostream& longprint ( std::ostream &  out)
inline

Set long printing.

Parameters
outoutput stream
Returns
output stream

Definition at line 172 of file JManip.hh.

173 {
174  setLongprint(out);
175 
176  return out;
177 }
void setLongprint(std::ostream &out)
Set long print option.
Definition: JManip.hh:132
std::ostream& newline ( std::ostream &  out)
inline

Print newline character.

Parameters
outoutput stream
Returns
output stream

Definition at line 186 of file JManip.hh.

187 {
188  return out << '\n';
189 }
std::ostream& whitespace ( std::ostream &  out)
inline

Print white space character.

Parameters
outoutput stream
Returns
output stream

Definition at line 198 of file JManip.hh.

199 {
200  return out << ' ';
201 }
std::ostream& tab ( std::ostream &  out)
inline

Print tab character.

Parameters
outoutput stream
Returns
output stream

Definition at line 210 of file JManip.hh.

211 {
212  return out << '\t';
213 }
std::ostream& rewind ( std::ostream &  out)
inline

Rewind character.

Parameters
outoutput stream
Returns
output stream

Definition at line 222 of file JManip.hh.

223 {
224  return (out << '\r').flush();
225 }
template<class T >
JFormat_t& getFormat ( )
inline

Get format for given type.

Returns
format

Definition at line 682 of file JManip.hh.

683 {
684  static JFormat_t manip;
685 
686  return manip;
687 }
Data structure for format specifications.
Definition: JManip.hh:524
template<class T >
JFormat_t getFormat ( const JFormat_t format)
inline

Get format for given type.

Parameters
formatdefault format
Returns
actual format

Definition at line 697 of file JManip.hh.

698 {
699  const JFormat_t& buffer = getFormat<T>();
700 
701  if (buffer.is_valid())
702  return buffer;
703  else
704  return format;
705 }
bool is_valid() const
Check validity of this manipulator.
Definition: JManip.hh:574
Data structure for format specifications.
Definition: JManip.hh:524
template<class T >
void setFormat ( const JFormat_t format)
inline

Set format for given type.

Parameters
formatformat

Definition at line 714 of file JManip.hh.

715 {
716  getFormat<T>() = format;
717 }