CACAO
Namespaces | Macros | Functions | Variables
OStream.cpp File Reference

Go to the source code of this file.

Namespaces

 cacao
 This file contains the Instruction class.
 

Macros

#define PRINT_INT_FLAG(DEC, OCT, HEX, VAL, FLAG)
 
#define PRINT_INT(DEC, OCT, HEX, VAL)
 
#define PRINT_FLOAT_FLAG(DEC, SCI, HEX, VAL, FLAG)
 
#define PRINT_FLOAT(DEC, SCI, HEX, VAL)
 

Functions

OStream & cacao::err ()
 
OStream & cacao::out ()
 

Variables

FillZero cacao::fillzero
 
Left cacao::left
 
Right cacao::right
 
Dec cacao::dec
 
Oct cacao::oct
 
Hex cacao::hex
 
FloatDec cacao::float_dec
 
Scientific cacao::scientific
 
FloatHex cacao::float_hex
 
Indent cacao::indent
 
Dedent cacao::dedent
 
Nl cacao::nl
 
Flush cacao::flush
 
ThreadId cacao::threadid
 
ResetColor cacao::reset_color
 
Bold cacao::bold
 
NoBold cacao::nobold
 
Underline cacao::underline
 
NoUnderline cacao::nounderline
 

Macro Definition Documentation

#define PRINT_FLOAT (   DEC,
  SCI,
  HEX,
  VAL 
)
Value:
switch (align) { \
case Align_left: \
/* left align (i.e. - ) and zero padding not valid */ \
PRINT_FLOAT_FLAG(DEC,SCI,HEX,VAL,"-"); \
break; \
case Align_right: \
if (fill_zero) { \
PRINT_FLOAT_FLAG(DEC,SCI,HEX,VAL,"0"); \
} else { \
PRINT_FLOAT_FLAG(DEC,SCI,HEX,VAL,""); \
} \
break; \
default: \
assert(false && "Bad alignment"); \
}
#define PRINT_FLOAT_FLAG(DEC, SCI, HEX, VAL, FLAG)
Definition: OStream.cpp:180

Definition at line 192 of file OStream.cpp.

#define PRINT_FLOAT_FLAG (   DEC,
  SCI,
  HEX,
  VAL,
  FLAG 
)
Value:
switch (float_fmt) { \
case FloatFmt_decimal: \
fprintf(file, "%" FLAG "*.*" #DEC, (int) width, precision, VAL); break; \
case FloatFmt_scientific: \
fprintf(file, "%" FLAG "*.*" #SCI, (int) width, precision, VAL); break; \
case FloatFmt_hexadecimal: \
fprintf(file, "%" FLAG "*.*" #HEX, (int) width, precision, VAL); break; \
default: \
assert(false && "Bad float format"); \
}

Definition at line 180 of file OStream.cpp.

#define PRINT_INT (   DEC,
  OCT,
  HEX,
  VAL 
)
Value:
switch (align) { \
case Align_left: \
/* left align (i.e. - ) and zero padding not valid */ \
PRINT_INT_FLAG(DEC,OCT,HEX,VAL,"-"); \
break; \
case Align_right: \
if (fill_zero) { \
PRINT_INT_FLAG(DEC,OCT,HEX,VAL,"0"); \
} else { \
PRINT_INT_FLAG(DEC,OCT,HEX,VAL,""); \
} \
break; \
default: \
assert(false && "Bad alignment"); \
}
#define PRINT_INT_FLAG(DEC, OCT, HEX, VAL, FLAG)
Definition: OStream.cpp:152

Definition at line 163 of file OStream.cpp.

#define PRINT_INT_FLAG (   DEC,
  OCT,
  HEX,
  VAL,
  FLAG 
)
Value:
switch (int_fmt) { \
case IntFmt_decimal: \
fprintf(file, "%" FLAG "*" #DEC, (int) width, VAL);break; \
case IntFmt_octal: \
fprintf(file, "%" FLAG "*" #OCT, (int) width, VAL);break; \
case IntFmt_hexadecimal: \
fprintf(file, "%" FLAG "*" #HEX, (int) width, VAL);break; \
default: assert(false && "Bad int format"); \
}

Definition at line 152 of file OStream.cpp.