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 102 of file io.h.
List of all members.
Public Member Functions |
| CIO () |
| CIO (const CIO &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 321 of file io.h.
void deprecated |
( |
const char * |
file, |
|
|
int32_t |
line | |
|
) |
| | const |
print warning message 'function deprecated'
Definition at line 202 of file io.h.
void disable_file_and_line |
( |
|
) |
|
disable displaying of file and line when printing messages
Definition at line 280 of file io.h.
void disable_progress |
( |
|
) |
|
disable progress bar
Definition at line 261 of file io.h.
void disable_syntax_highlighting |
( |
|
) |
|
disable syntax highlighting
Definition at line 298 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 271 of file io.h.
enable progress bar
Definition at line 251 of file io.h.
void enable_syntax_highlighting |
( |
|
) |
|
enable syntax highlighting
Definition at line 289 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 334 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.
- Returns:
- object name
Definition at line 387 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 135 of file io.h.
bool get_show_progress |
( |
|
) |
const |
get show_progress
- Returns:
- if progress bar is shown
Definition at line 126 of file io.h.
bool get_syntax_highlight |
( |
|
) |
const |
get syntax highlight
- Returns:
- if syntax highlighting is enabled
Definition at line 144 of file io.h.
FILE* get_target |
( |
|
) |
const |
get target
- Returns:
- file descriptor for target
Definition at line 233 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 196 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 355 of file io.h.
int32_t ref_count |
( |
|
) |
const |
display reference counter
- Returns:
- reference count
Definition at line 365 of file io.h.
static void set_dirname |
( |
const char * |
dirname |
) |
[static] |
set directory name
- Parameters:
-
| dirname | new directory name |
Definition at line 310 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 245 of file io.h.
void set_target_to_stdout |
( |
|
) |
|
set target to stdout
Definition at line 248 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 375 of file io.h.
Member Data Documentation
directory name buffer
directory name (for filter function)
Definition at line 427 of file io.h.
file name buffer
file buffer
Definition at line 425 of file io.h.
last progress
Definition at line 406 of file io.h.
last progress time
Definition at line 402 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 418 of file io.h.
log level
Definition at line 416 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 422 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 420 of file io.h.
progress start time
Definition at line 404 of file io.h.
if each print function should append filename and linenumber of where the print occurs
Definition at line 411 of file io.h.
if progress bar shall be shown
Definition at line 408 of file io.h.
whether syntax highlighting is enabled
Definition at line 413 of file io.h.
target file
Definition at line 400 of file io.h.
The documentation for this class was generated from the following files: