Jafar
Classes | Files | Functions
Module kernel

Detailed Description

Version:
0.3
Author:
thomas.lemaire@laas.fr

This module defines some jafar common tools such as standard exceptions, debug message facility, data logging facility,...

History

Format of the debug path

When sending a debug message, or adding trace information to an jafar::kernel::Exception, the location of this action in the source code is added. By default the format of this information is the following:

D:module/file:line: message

This form is convenient since it is compact. One could prefer to have the full path of the file in order to copy/paste this path. This can be obtained defining flag JFR_DEBUG_FULL_PATH in module kernel:

D:/full/path/to/module/file:line: message

Macro

tools.tcl provides several usefull commands.

rehash macro

Two kinds of macro can be used with the jafar tcl shell:

The addHashedDirectory and rehash commands provide a handfull way to (re)source user defined macros. One can add directories containing his macros using kernel::addHashedDirectory procedure, and call rehash to resources these macros (rehash is exported to the global namespace, specifying kernel:: is useless). To do things automatically, .tclshrc can be modified:

source $env(JAFAR_DIR)/share/initJafar.tcl
kernel::addHashedDirectory "/home/thomas/jafar_macros/test"
rehash

Tcl interface (generated by swig)

The interface of the module is generated from the following files:

Classes

class  jafar::kernel::CSVFile
 Read a file containing comma separated values statements with or without first line as title. More...
class  jafar::kernel::CSVFileLoad
 Interface of an object which can be loaded using the CSVFile mechanism. More...
class  jafar::kernel::CSVFileSave
 Interface of an object which can be saved using the CSVFile mechanism. More...
class  jafar::kernel::CSVFileSaveLoad
 Interface of an object which can both be loaded and saved using the CSVFile mechanism. More...
class  jafar::kernel::Loggable
 Interface Loggable. More...
class  jafar::kernel::LoggerTask
 This object creates a thread that log objects. More...
class  jafar::kernel::LoggableString
 Loggable object for DataLogger. More...
class  jafar::kernel::LoggableClose
 Loggable object that closes a file stream (push it after the last object to log) More...
class  jafar::kernel::DataLoggable
 Interface DataLoggable. More...
class  jafar::kernel::DataLogger
 This object logs data in a single log file. More...
class  jafar::kernel::IdCollectorNone< T >
 Forward declarations (cannot forward default parameters): More...
class  jafar::kernel::IdCollectorList< T >
 This collector correctly collects all ids, but does not perform all sanity checks, in particular it does not check if the released id was really taken Memory complexity: linear in number of collected ids Time complexity: constant. More...
class  jafar::kernel::IdCollectorSet< T >
 This collector correctly collects all ids, defragments, and performs all sanity checks Memory complexity: linear in number of collected ids, with defragmentation Time complexity: constant except releaseId that is logarithmic in number of collected ids, and defrag that can be linear in some cases. More...
class  jafar::kernel::IdFactory< T, IdCollector >
 This class allows to create an unique id. More...
class  jafar::debug::DebugStream
 Debug message stream. More...
class  jafar::kernel::Exception
 Base class for all exceptions defined in jafar. More...
class  jafar::kernel::JafarException
 This class defines some standard exceptions to be used from all modules. More...
class  jafar::kernel::InvalidParamException< T >
 Special exception class for invalid parameter error. More...
class  jafar::kernel::KernelException
 Base class for all exceptions defined in the module kernel. More...
class  jafar::kernel::KeyValueFile
 Read a file containing simple key value statements. More...
class  jafar::kernel::KeyValueFileLoad
 Interface of an object which can be loaded using the KeyValueFile mechanism. More...
class  jafar::kernel::KeyValueFileSave
 Interface of an object which can be saved using the KeyValueFile mechanism. More...
class  jafar::kernel::KeyValueFileSaveLoad
 Interface of an object which can both be loaded and saved using the KeyValueFile mechanism. More...
class  jafar::kernel::ProgressBar
 A simple text based progress bar. More...
class  jafar::kernel::Chrono
 This class functions to measure time consumed by your algorithm. More...
class  jafar::kernel::detail::TicTocChrono
 Global chronos for tic() and toc() interactive functions. More...
class  jafar::kernel::FrameRate
 Class to generate framerate data. More...

Files

file  jafarMacro.hpp
 

Defines usefull macros.


file  jafarTestMacro.hpp
 

Defines usefull macros when writting tests.


Functions

template<typename T >
void jafar::kernel::throwInvalidParamException (const T &value, const std::string &message_, const std::string &module_, const std::string &file_, int line_)
 Actually throws an InvalidParamException.

Function Documentation

template<typename T >
void jafar::kernel::throwInvalidParamException ( const T &  value,
const std::string &  message_,
const std::string &  module_,
const std::string &  file_,
int  line_ 
)

Actually throws an InvalidParamException.

This trick is needed because of the template parameter.

Definition at line 147 of file jafarException.hpp.

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on Wed Oct 15 2014 00:37:30 for Jafar by doxygen 1.7.6.1
LAAS-CNRS