Detailed Description
Class IO, used to do input output operations throughout shogun.
Any debug or error or progress message is passed through the functions of this class to be in the end written to the screen. Note that messages don't have to be written to stdout or stderr, but can be redirected to a file.
Definition at line 110 of file io.h.
List of all members.
Public Member Functions |
| IO () |
| IO (const IO &orig) |
void | set_loglevel (EMessageType level) |
EMessageType | get_loglevel () const |
bool | get_show_progress () const |
bool | get_show_file_and_line () const |
bool | get_syntax_highlight () const |
void | message (EMessageType prio, const char *file, int32_t line, const char *fmt,...) const |
void | progress (float64_t current_val, float64_t min_val=0.0, float64_t max_val=1.0, int32_t decimals=1, const char *prefix="PROGRESS:\t") |
void | absolute_progress (float64_t current_val, float64_t val, float64_t min_val=0.0, float64_t max_val=1.0, int32_t decimals=1, const char *prefix="PROGRESS:\t") |
void | done () |
void | not_implemented (const char *file, int32_t line) const |
void | deprecated (const char *file, int32_t line) const |
void | buffered_message (EMessageType prio, const char *fmt,...) const |
FILE * | get_target () const |
void | set_target (FILE *target) |
void | set_target_to_stderr () |
void | set_target_to_stdout () |
void | enable_progress () |
void | disable_progress () |
void | enable_file_and_line () |
void | disable_file_and_line () |
void | enable_syntax_highlighting () |
void | disable_syntax_highlighting () |
int32_t | ref () |
int32_t | ref_count () const |
int32_t | unref () |
const char * | get_name () |
Static Public Member Functions |
static char * | skip_spaces (char *str) |
static char * | skip_blanks (char *str) |
static void | set_dirname (const char *dirname) |
static char * | concat_filename (const char *filename) |
static int | filter (CONST_DIRENT_T *d) |
Protected Member Functions |
const char * | get_msg_intro (EMessageType prio) const |
Protected Attributes |
FILE * | target |
float64_t | last_progress_time |
float64_t | progress_start_time |
float64_t | last_progress |
bool | show_progress |
bool | show_file_and_line |
bool | syntax_highlight |
EMessageType | loglevel |
Static Protected Attributes |
static const EMessageType | levels [NUM_LOG_LEVELS] |
static const char * | message_strings_highlighted [NUM_LOG_LEVELS] |
static const char * | message_strings [NUM_LOG_LEVELS] |
static char | file_buffer [FBUFSIZE] |
| file name buffer
|
static char | directory_name [FBUFSIZE] |
| directory name buffer
|
Constructor & Destructor Documentation
default constructor
Definition at line 46 of file io.cpp.
copy constructor
Definition at line 53 of file io.cpp.
Member Function Documentation
print absolute progress bar
- Parameters:
-
| current_val | current value |
| val | value |
| min_val | minimum value |
| max_val | maximum value |
| decimals | decimals |
| prefix | message prefix |
Definition at line 184 of file io.cpp.
void buffered_message |
( |
EMessageType |
prio, |
|
|
const char * |
fmt, |
|
|
|
... | |
|
) |
| | const |
print a buffered message
- Parameters:
-
| prio | message priority |
| fmt | format string |
Definition at line 119 of file io.cpp.
static char* concat_filename |
( |
const char * |
filename |
) |
[static] |
concatenate directory and filename ( non thread safe )
- Parameters:
-
- Returns:
- concatenated directory and filename
Definition at line 329 of file io.h.
void deprecated |
( |
const char * |
file, |
|
|
int32_t |
line | |
|
) |
| | const |
print warning message 'function deprecated'
Definition at line 210 of file io.h.
void disable_file_and_line |
( |
|
) |
|
disable displaying of file and line when printing messages
Definition at line 288 of file io.h.
void disable_progress |
( |
|
) |
|
disable progress bar
Definition at line 269 of file io.h.
void disable_syntax_highlighting |
( |
|
) |
|
disable syntax highlighting
Definition at line 306 of file io.h.
print 'done' with priority INFO, but only if progress bar is enabled
Definition at line 235 of file io.cpp.
void enable_file_and_line |
( |
|
) |
|
enable displaying of file and line when printing messages
Definition at line 279 of file io.h.
enable progress bar
Definition at line 259 of file io.h.
void enable_syntax_highlighting |
( |
|
) |
|
enable syntax highlighting
Definition at line 297 of file io.h.
static int filter |
( |
CONST_DIRENT_T * |
d |
) |
[static] |
filter
- Parameters:
-
- Returns:
- 1 if d is a readable file
Definition at line 342 of file io.h.
get loglevel
- Returns:
- level of log messages
Definition at line 271 of file io.cpp.
const char * get_msg_intro |
( |
EMessageType |
prio |
) |
const [protected] |
get message intro
- Parameters:
-
- Returns:
- message intro or NULL if message is not to be printed
Definition at line 286 of file io.cpp.
const char* get_name |
( |
void |
|
) |
|
- Returns:
- object name
Definition at line 395 of file io.h.
bool get_show_file_and_line |
( |
|
) |
const |
get show file and line
- Returns:
- if file and line should prefix messages
Definition at line 143 of file io.h.
bool get_show_progress |
( |
|
) |
const |
get show_progress
- Returns:
- if progress bar is shown
Definition at line 134 of file io.h.
bool get_syntax_highlight |
( |
|
) |
const |
get syntax highlight
- Returns:
- if syntax highlighting is enabled
Definition at line 152 of file io.h.
FILE* get_target |
( |
|
) |
const |
get target
- Returns:
- file descriptor for target
Definition at line 241 of file io.h.
void message |
( |
EMessageType |
prio, |
|
|
const char * |
file, |
|
|
int32_t |
line, |
|
|
const char * |
fmt, |
|
|
|
... | |
|
) |
| | const |
print a message
optionally prefixed with file name and line number from (use -1 in line to disable this)
- Parameters:
-
| prio | message priority |
| file | file name from where the message is called |
| line | line number from where the message is called |
| fmt | format string |
Definition at line 63 of file io.cpp.
void not_implemented |
( |
const char * |
file, |
|
|
int32_t |
line | |
|
) |
| | const |
print error message 'not implemented'
Definition at line 204 of file io.h.
void progress |
( |
float64_t |
current_val, |
|
|
float64_t |
min_val = 0.0 , |
|
|
float64_t |
max_val = 1.0 , |
|
|
int32_t |
decimals = 1 , |
|
|
const char * |
prefix = "PROGRESS:\t" | |
|
) |
| | |
print progress bar
- Parameters:
-
| current_val | current value |
| min_val | minimum value |
| max_val | maximum value |
| decimals | decimals |
| prefix | message prefix |
Definition at line 133 of file io.cpp.
increase reference counter
- Returns:
- reference count
Definition at line 363 of file io.h.
int32_t ref_count |
( |
|
) |
const |
display reference counter
- Returns:
- reference count
Definition at line 373 of file io.h.
static void set_dirname |
( |
const char * |
dirname |
) |
[static] |
set directory name
- Parameters:
-
| dirname | new directory name |
Definition at line 318 of file io.h.
set loglevel
- Parameters:
-
| level | level of log messages |
Definition at line 276 of file io.cpp.
void set_target |
( |
FILE * |
target |
) |
|
set target
- Parameters:
-
| target | file descriptor for target |
Definition at line 281 of file io.cpp.
void set_target_to_stderr |
( |
|
) |
|
set target to stderr
Definition at line 253 of file io.h.
void set_target_to_stdout |
( |
|
) |
|
set target to stdout
Definition at line 256 of file io.h.
char * skip_blanks |
( |
char * |
str |
) |
[static] |
skip leading spaces + tabs
- Parameters:
-
| str | string in which to look for blanks |
- Returns:
- string after after skipping leading blanks
Definition at line 257 of file io.cpp.
char * skip_spaces |
( |
char * |
str |
) |
[static] |
skip leading spaces
- Parameters:
-
| str | string in which to look for spaces |
- Returns:
- string after after skipping leading spaces
Definition at line 243 of file io.cpp.
decrement reference counter and deallocate object if refcount is zero before or after decrementing it
- Returns:
- reference count
Definition at line 383 of file io.h.
Member Data Documentation
directory name buffer
directory name (for filter function)
Definition at line 435 of file io.h.
file name buffer
file buffer
Definition at line 433 of file io.h.
last progress
Definition at line 414 of file io.h.
last progress time
Definition at line 410 of file io.h.
Initial value:{MSG_GCDEBUG, MSG_DEBUG, MSG_INFO, MSG_NOTICE,
MSG_WARN, MSG_ERROR, MSG_CRITICAL, MSG_ALERT, MSG_EMERGENCY, MSG_MESSAGEONLY}
available log levels
Definition at line 426 of file io.h.
log level
Definition at line 424 of file io.h.
Initial value:{"[GCDEBUG] \0", "[DEBUG] \0", "[INFO] \0",
"[NOTICE] \0", "[WARN] \0", "[ERROR] \0",
"[CRITICAL] \0", "[ALERT] \0", "[EMERGENCY] \0", "\0"}
message strings
Definition at line 430 of file io.h.
Initial value:{"[GCDEBUG] \0", "[DEBUG] \0", "[INFO] \0",
"[NOTICE] \0", "\033[1;34m[WARN]\033[0m \0", "\033[1;31m[ERROR]\033[0m \0",
"[CRITICAL] \0", "[ALERT] \0", "[EMERGENCY] \0", "\0"}
message strings syntax highlighted
Definition at line 428 of file io.h.
progress start time
Definition at line 412 of file io.h.
if each print function should append filename and linenumber of where the print occurs
Definition at line 419 of file io.h.
if progress bar shall be shown
Definition at line 416 of file io.h.
whether syntax highlighting is enabled
Definition at line 421 of file io.h.
target file
Definition at line 408 of file io.h.
The documentation for this class was generated from the following files: