SHOGUN  4.1.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
List of all members | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | Static Protected Attributes
SGIO Class Reference

Detailed Description

Class SGIO, 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 243 of file SGIO.h.

Public Member Functions

 SGIO ()
 
 SGIO (const SGIO &orig)
 
virtual ~SGIO ()
 
void set_loglevel (EMessageType level)
 
EMessageType get_loglevel () const
 
bool loglevel_above (EMessageType type) const
 
bool get_show_progress () const
 
EMessageLocation get_location_info () const
 
bool get_syntax_highlight () const
 
void message (EMessageType prio, const char *function, 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 *function, const char *file, int32_t line) const
 
void deprecated (const char *function, 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 set_location_info (EMessageLocation location)
 
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)
 
static char * c_string_of_substring (substring s)
 
static void print_substring (substring s)
 
static float32_t float_of_substring (substring s)
 
static float64_t double_of_substring (substring s)
 
static int32_t int_of_substring (substring s)
 
static uint32_t ulong_of_substring (substring s)
 
static uint32_t ss_length (substring s)
 

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
 
EMessageLocation location_info
 
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 More...
 
static char directory_name [FBUFSIZE]
 directory name buffer More...
 

Constructor & Destructor Documentation

SGIO ( )

default constructor

Definition at line 47 of file SGIO.cpp.

SGIO ( const SGIO orig)

copy constructor

Definition at line 55 of file SGIO.cpp.

~SGIO ( )
virtual

destructor

Definition at line 401 of file SGIO.cpp.

Member Function Documentation

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" 
)

print absolute progress bar

Parameters
current_valcurrent value
valvalue
min_valminimum value
max_valmaximum value
decimalsdecimals
prefixmessage prefix

Definition at line 198 of file SGIO.cpp.

void buffered_message ( EMessageType  prio,
const char *  fmt,
  ... 
) const

print a buffered message

Parameters
priomessage priority
fmtformat string

Definition at line 133 of file SGIO.cpp.

char * c_string_of_substring ( substring  s)
static

Return a C string from the substring

Parameters
ssubstring
Returns
new C string representation

Definition at line 321 of file SGIO.cpp.

char * concat_filename ( const char *  filename)
static

concatenate directory and filename ( non thread safe )

Parameters
filenamenew filename
Returns
concatenated directory and filename

Definition at line 375 of file SGIO.cpp.

void deprecated ( const char *  function,
const char *  file,
int32_t  line 
) const

print warning message 'function deprecated'

Definition at line 355 of file SGIO.h.

void disable_progress ( )

disable progress bar

Definition at line 414 of file SGIO.h.

void disable_syntax_highlighting ( )

disable syntax highlighting

Definition at line 446 of file SGIO.h.

void done ( )

print 'done' with priority INFO, but only if progress bar is enabled

Definition at line 249 of file SGIO.cpp.

float64_t double_of_substring ( substring  s)
static

Return value of substring as double

Parameters
ssubstring
Returns
substring as double

Definition at line 346 of file SGIO.cpp.

void enable_progress ( )

enable progress bar

Definition at line 404 of file SGIO.h.

void enable_syntax_highlighting ( )

enable syntax highlighting

Definition at line 437 of file SGIO.h.

int filter ( CONST_DIRENT_T d)
static

filter

Parameters
ddirectory entry
Returns
1 if d is a readable file

Definition at line 384 of file SGIO.cpp.

float32_t float_of_substring ( substring  s)
static

Get value of substring as float (if possible)

Parameters
ssubstring
Returns
float32_t value of substring

Definition at line 336 of file SGIO.cpp.

EMessageLocation get_location_info ( ) const

show location where printing occurs

Definition at line 287 of file SGIO.h.

EMessageType get_loglevel ( ) const

get loglevel

Returns
level of log messages

Definition at line 285 of file SGIO.cpp.

const char * get_msg_intro ( EMessageType  prio) const
protected

get message intro

Parameters
priomessage priority
Returns
message intro or NULL if message is not to be printed

Definition at line 300 of file SGIO.cpp.

const char* get_name ( )
Returns
object name

Definition at line 547 of file SGIO.h.

bool get_show_progress ( ) const

get show_progress

Returns
if progress bar is shown

Definition at line 280 of file SGIO.h.

bool get_syntax_highlight ( ) const

get syntax highlight

Returns
if syntax highlighting is enabled

Definition at line 296 of file SGIO.h.

FILE* get_target ( ) const

get target

Returns
file descriptor for target

Definition at line 386 of file SGIO.h.

int32_t int_of_substring ( substring  s)
static

Integer value of substring

Parameters
ssubstring
Returns
int value of substring

Definition at line 356 of file SGIO.cpp.

bool loglevel_above ( EMessageType  type) const

loglevel above

Returns
whether loglevel is above specified level and thus the message should be printed

Definition at line 271 of file SGIO.h.

void message ( EMessageType  prio,
const char *  function,
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
priomessage priority
functionthe function name from where the message is called
filefile name from where the message is called
lineline number from where the message is called
fmtformat string

Definition at line 66 of file SGIO.cpp.

void not_implemented ( const char *  function,
const char *  file,
int32_t  line 
) const

print error message 'not implemented'

Definition at line 349 of file SGIO.h.

void print_substring ( substring  s)
static

Print the substring

Parameters
ssubstring

Definition at line 329 of file SGIO.cpp.

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_valcurrent value
min_valminimum value
max_valmaximum value
decimalsdecimals
prefixmessage prefix

Definition at line 147 of file SGIO.cpp.

int32_t ref ( )

increase reference counter

Returns
reference count

Definition at line 406 of file SGIO.cpp.

int32_t ref_count ( ) const

display reference counter

Returns
reference count

Definition at line 411 of file SGIO.cpp.

static void set_dirname ( const char *  dirname)
static

set directory name

Parameters
dirnamenew directory name

Definition at line 458 of file SGIO.h.

void set_location_info ( EMessageLocation  location)

enable displaying of file and line when printing messages etc

Parameters
locationlocation info (none, function, ...)

Definition at line 428 of file SGIO.h.

void set_loglevel ( EMessageType  level)

set loglevel

Parameters
levellevel of log messages

Definition at line 290 of file SGIO.cpp.

void set_target ( FILE *  target)

set target

Parameters
targetfile descriptor for target

Definition at line 295 of file SGIO.cpp.

void set_target_to_stderr ( )

set target to stderr

Definition at line 398 of file SGIO.h.

void set_target_to_stdout ( )

set target to stdout

Definition at line 401 of file SGIO.h.

char * skip_blanks ( char *  str)
static

skip leading spaces + tabs

Parameters
strstring in which to look for blanks
Returns
string after after skipping leading blanks

Definition at line 271 of file SGIO.cpp.

char * skip_spaces ( char *  str)
static

skip leading spaces

Parameters
strstring in which to look for spaces
Returns
string after after skipping leading spaces

Definition at line 257 of file SGIO.cpp.

uint32_t ss_length ( substring  s)
static

Length of substring

Parameters
ssubstring
Returns
length of substring

Definition at line 370 of file SGIO.cpp.

uint32_t ulong_of_substring ( substring  s)
static

Unsigned long value of substring

Parameters
ssubstring
Returns
unsigned long value of substring

Definition at line 365 of file SGIO.cpp.

int32_t unref ( )

decrement reference counter and deallocate object if refcount is zero before or after decrementing it

Returns
reference count

Definition at line 416 of file SGIO.cpp.

Member Data Documentation

char directory_name
staticprotected

directory name buffer

directory name (for filter function)

Definition at line 587 of file SGIO.h.

char file_buffer
staticprotected

file name buffer

file buffer

Definition at line 585 of file SGIO.h.

float64_t last_progress
protected

last progress

Definition at line 566 of file SGIO.h.

float64_t last_progress_time
protected

last progress time

Definition at line 562 of file SGIO.h.

const EMessageType levels
staticprotected
Initial value:

available log levels

Definition at line 578 of file SGIO.h.

EMessageLocation location_info
protected

if each print function should append filename and linenumber of where the print occurs etc

Definition at line 571 of file SGIO.h.

EMessageType loglevel
protected

log level

Definition at line 576 of file SGIO.h.

const char * message_strings
staticprotected
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 582 of file SGIO.h.

const char * message_strings_highlighted
staticprotected
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 580 of file SGIO.h.

float64_t progress_start_time
protected

progress start time

Definition at line 564 of file SGIO.h.

bool show_progress
protected

if progress bar shall be shown

Definition at line 568 of file SGIO.h.

bool syntax_highlight
protected

whether syntax highlighting is enabled

Definition at line 573 of file SGIO.h.

FILE* target
protected

target file

Definition at line 560 of file SGIO.h.


The documentation for this class was generated from the following files:

SHOGUN Machine Learning Toolbox - Documentation