Main MRPT website > C++ reference
MRPT logo
Namespaces | Enumerations | Functions
OS and compiler abstraction
[mrpt-base]
Collaboration diagram for OS and compiler abstraction:

Namespaces

namespace  mrpt::system::os
 

This namespace provides a OS-independent interface to low-level functions.


Enumerations

enum  mrpt::system::TConsoleColor { mrpt::system::CONCOL_NORMAL = 0, mrpt::system::CONCOL_BLUE = 1, mrpt::system::CONCOL_GREEN = 2, mrpt::system::CONCOL_RED = 4 }
 For use in setConsoleColor. More...

Functions

int BASE_IMPEXP mrpt::system::os::sprintf (char *buf, size_t bufSize, const char *format,...) MRPT_NO_THROWS MRPT_printf_format_check(3
 An OS-independent version of sprintf (Notice the bufSize param, which may be ignored in some compilers)
int BASE_IMPEXP int BASE_IMPEXP mrpt::system::os::vsprintf (char *buf, size_t bufSize, const char *format, va_list args) MRPT_NO_THROWS
 An OS-independent version of vsprintf (Notice the bufSize param, which may be ignored in some compilers)
int BASE_IMPEXP mrpt::system::os::vsnprintf (char *buf, size_t bufSize, const char *format, va_list args) MRPT_NO_THROWS
 An OS-independent version of vsnprintf (Notice the bufSize param, which may be ignored in some compilers)
FILE BASE_IMPEXP * mrpt::system::os::fopen (const char *fileName, const char *mode) MRPT_NO_THROWS
 An OS-independent version of fopen.
FILE BASE_IMPEXP * mrpt::system::os::fopen (const std::string &fileName, const char *mode) MRPT_NO_THROWS
 An OS-independent version of fopen (std::string version)
int BASE_IMPEXP mrpt::system::os::fprintf (FILE *fil, const char *format,...) MRPT_NO_THROWS MRPT_printf_format_check(2
 An OS-independent version of fprintf.
int BASE_IMPEXP void BASE_IMPEXP mrpt::system::os::fclose (FILE *f)
 An OS-independent version of fscanf.
char BASE_IMPEXP * mrpt::system::os::strcat (char *dest, size_t destSize, const char *source) MRPT_NO_THROWS
 An OS-independent version of strcat.
char BASE_IMPEXP * mrpt::system::os::strcpy (char *dest, size_t destSize, const char *source) MRPT_NO_THROWS
 An OS-independent version of strcpy.
int BASE_IMPEXP mrpt::system::os::_strcmp (const char *str1, const char *str2) MRPT_NO_THROWS
 An OS-independent version of strcmp.
int BASE_IMPEXP mrpt::system::os::_strcmpi (const char *str1, const char *str2) MRPT_NO_THROWS
 An OS-independent version of strcmpi.
int BASE_IMPEXP mrpt::system::os::_strncmp (const char *str, const char *subStr, size_t count) MRPT_NO_THROWS
 An OS-independent version of strncmp.
int BASE_IMPEXP mrpt::system::os::_strnicmp (const char *str, const char *subStr, size_t count) MRPT_NO_THROWS
 An OS-independent version of strnicmp.
int64_t BASE_IMPEXP mrpt::system::os::_strtoll (const char *nptr, char **endptr, int base)
 An OS-independent version of strtoll.
uint64_t BASE_IMPEXP mrpt::system::os::_strtoull (const char *nptr, char **endptr, int base)
 An OS-independent version of strtoull.
time_t BASE_IMPEXP mrpt::system::os::timegm (struct tm *tm)
 An OS-independent version of timegm (which is not present in all compilers): converts a time structure into an UTM time_t.
void BASE_IMPEXP mrpt::system::os::memcpy (void *dest, size_t destSize, const void *src, size_t copyCount) MRPT_NO_THROWS
 An OS and compiler independent version of "memcpy".
int BASE_IMPEXP mrpt::system::os::getch () MRPT_NO_THROWS
 An OS-independent version of getch, which waits until a key is pushed.
bool BASE_IMPEXP mrpt::system::os::kbhit () MRPT_NO_THROWS
 An OS-independent version of kbhit, which returns true if a key has been pushed.
void BASE_IMPEXP mrpt::system::pause (const std::string &msg=std::string("Press any key to continue...")) MRPT_NO_THROWS
 Shows the message "Press any key to continue" (or other custom message) to the current standard output and returns when a key is pressed.
void BASE_IMPEXP mrpt::system::clearConsole ()
 Clears the console window.
bool BASE_IMPEXP mrpt::system::vectorToTextFile (const std::vector< float > &vec, const std::string &fileName, bool append=false, bool byRows=false)
 A useful function for debuging, which saves a std::vector into a text file (compat.
bool BASE_IMPEXP mrpt::system::vectorToTextFile (const std::vector< double > &vec, const std::string &fileName, bool append=false, bool byRows=false)
bool BASE_IMPEXP mrpt::system::vectorToTextFile (const std::vector< int > &vec, const std::string &fileName, bool append=false, bool byRows=false)
bool BASE_IMPEXP mrpt::system::vectorToTextFile (const std::vector< size_t > &vec, const std::string &fileName, bool append=false, bool byRows=false)
template<class Derived >
bool mrpt::system::vectorToTextFile (const Eigen::MatrixBase< Derived > &vec, const std::string &fileName)
bool BASE_IMPEXP mrpt::system::vectorFromTextFile (std::vector< double > &vec, const std::string &fileName, const bool byRows=false)
 Load a std::vector from a text file (compat.
bool BASE_IMPEXP mrpt::system::vectorToBinaryFile (const vector_byte &vec, const std::string &fileName)
 Saves a vector directly as a binary dump to a file:
bool BASE_IMPEXP mrpt::system::loadBinaryFile (vector_byte &out_data, const std::string &fileName)
 Loads a entire file as a vector of bytes.
std::string BASE_IMPEXP mrpt::system::MRPT_getCompilationDate ()
 Returns the MRPT compilation date.
std::string BASE_IMPEXP mrpt::system::MRPT_getVersion ()
 Returns a string describing the MRPT version including the SVN number.
void BASE_IMPEXP mrpt::system::registerFatalExceptionHandlers ()
 Call this to register handlers for fatal erros (memory access,etc) that show useful debug information (It is called automatically normally, no need for the user to explicitly call this method.).
std::string BASE_IMPEXP mrpt::system::stack_trace (bool calling_from_exception=false)
 Dumps the current program stack with detailed information of source files and lines.
void BASE_IMPEXP mrpt::system::breakpoint (const std::string &exception_msg)
 Only when built in debug (with _DEBUG), this function will be called just before raising any MRPT exception, so the user can conveniently put a breakpoint here to explore the call stack, etc.
void BASE_IMPEXP mrpt::system::setConsoleColor (TConsoleColor color, bool changeStdErr=false)
 Changes the text color in the console for the text written from now on.

Enumeration Type Documentation

For use in setConsoleColor.

Enumerator:
CONCOL_NORMAL 
CONCOL_BLUE 
CONCOL_GREEN 
CONCOL_RED 

Definition at line 238 of file os.h.


Function Documentation

int BASE_IMPEXP mrpt::system::os::_strcmp ( const char *  str1,
const char *  str2 
)

An OS-independent version of strcmp.

Returns:
It will return 0 when both strings are equal, casi sensitive.
int BASE_IMPEXP mrpt::system::os::_strcmpi ( const char *  str1,
const char *  str2 
)

An OS-independent version of strcmpi.

Returns:
It will return 0 when both strings are equal, casi insensitive.

Referenced by mrpt::utils::CMHPropertiesValuesList::setElemental(), and mrpt::utils::CMHPropertiesValuesList::getElemental().

int BASE_IMPEXP mrpt::system::os::_strncmp ( const char *  str,
const char *  subStr,
size_t  count 
)

An OS-independent version of strncmp.

Returns:
It will return 0 when both strings are equal, casi sensitive.
int BASE_IMPEXP mrpt::system::os::_strnicmp ( const char *  str,
const char *  subStr,
size_t  count 
)

An OS-independent version of strnicmp.

Returns:
It will return 0 when both strings are equal, casi insensitive.
int64_t BASE_IMPEXP mrpt::system::os::_strtoll ( const char *  nptr,
char **  endptr,
int  base 
)

An OS-independent version of strtoll.

uint64_t BASE_IMPEXP mrpt::system::os::_strtoull ( const char *  nptr,
char **  endptr,
int  base 
)

An OS-independent version of strtoull.

void BASE_IMPEXP mrpt::system::breakpoint ( const std::string exception_msg)

Only when built in debug (with _DEBUG), this function will be called just before raising any MRPT exception, so the user can conveniently put a breakpoint here to explore the call stack, etc.

void BASE_IMPEXP mrpt::system::clearConsole ( )

Clears the console window.

int BASE_IMPEXP void BASE_IMPEXP mrpt::system::os::fclose ( FILE *  f)

An OS-independent version of fscanf.

Returns:
The number of fields correctly assigned An OS-independent version of fclose.
Exceptions:
std::exceptionOn trying to close a NULL file descriptor.

Referenced by mrpt::utils::CDynamicGrid< TRandomFieldCell >::saveToTextFile(), and Eigen::MatrixBase::saveToTextFile().

FILE BASE_IMPEXP* mrpt::system::os::fopen ( const char *  fileName,
const char *  mode 
)

An OS-independent version of fopen.

Returns:
It will always return NULL on any error.

Referenced by mrpt::utils::CDynamicGrid< TRandomFieldCell >::saveToTextFile(), and Eigen::MatrixBase::saveToTextFile().

FILE BASE_IMPEXP* mrpt::system::os::fopen ( const std::string fileName,
const char *  mode 
)

An OS-independent version of fopen (std::string version)

Returns:
It will always return NULL on any error.
int BASE_IMPEXP mrpt::system::os::fprintf ( FILE *  fil,
const char *  format,
  ... 
)
int BASE_IMPEXP mrpt::system::os::getch ( )

An OS-independent version of getch, which waits until a key is pushed.

Returns:
The pushed key code
bool BASE_IMPEXP mrpt::system::os::kbhit ( )

An OS-independent version of kbhit, which returns true if a key has been pushed.

bool BASE_IMPEXP mrpt::system::loadBinaryFile ( vector_byte &  out_data,
const std::string fileName 
)

Loads a entire file as a vector of bytes.

Returns:
Returns false on any error, true on everything OK.
See also:
vectorToBinaryFile
void BASE_IMPEXP mrpt::system::os::memcpy ( void *  dest,
size_t  destSize,
const void *  src,
size_t  copyCount 
)
std::string BASE_IMPEXP mrpt::system::MRPT_getCompilationDate ( )

Returns the MRPT compilation date.

std::string BASE_IMPEXP mrpt::system::MRPT_getVersion ( )

Returns a string describing the MRPT version including the SVN number.

Referenced by Eigen::MatrixBase::saveToTextFile().

void BASE_IMPEXP mrpt::system::pause ( const std::string msg = std::string("Press any key to continue..."))

Shows the message "Press any key to continue" (or other custom message) to the current standard output and returns when a key is pressed.

void BASE_IMPEXP mrpt::system::registerFatalExceptionHandlers ( )

Call this to register handlers for fatal erros (memory access,etc) that show useful debug information (It is called automatically normally, no need for the user to explicitly call this method.).

void BASE_IMPEXP mrpt::system::setConsoleColor ( TConsoleColor  color,
bool  changeStdErr = false 
)

Changes the text color in the console for the text written from now on.

The parameter "color" can be any value in TConsoleColor.

By default the color of "cout" is changed, unless changeStdErr=true, in which case "cerr" is changed.

int BASE_IMPEXP mrpt::system::os::sprintf ( char *  buf,
size_t  bufSize,
const char *  format,
  ... 
)

An OS-independent version of sprintf (Notice the bufSize param, which may be ignored in some compilers)

See also:
utils::format

Referenced by mrpt::gui::CDisplayWindow::showImagesAndMatchedPoints().

std::string BASE_IMPEXP mrpt::system::stack_trace ( bool  calling_from_exception = false)

Dumps the current program stack with detailed information of source files and lines.

This function requires MRPT linked against wxWidgets. Otherwise, an empty string is returned. File names and lines won't be available in release builds.

char BASE_IMPEXP* mrpt::system::os::strcat ( char *  dest,
size_t  destSize,
const char *  source 
)

An OS-independent version of strcat.

Returns:
It will always return the "dest" pointer.
char BASE_IMPEXP* mrpt::system::os::strcpy ( char *  dest,
size_t  destSize,
const char *  source 
)

An OS-independent version of strcpy.

Returns:
It will always return the "dest" pointer.
time_t BASE_IMPEXP mrpt::system::os::timegm ( struct tm *  tm)

An OS-independent version of timegm (which is not present in all compilers): converts a time structure into an UTM time_t.

bool BASE_IMPEXP mrpt::system::vectorFromTextFile ( std::vector< double > &  vec,
const std::string fileName,
const bool  byRows = false 
)

Load a std::vector from a text file (compat.

with MATLAB)

Returns:
Returns false on any error, true on everything OK.
See also:
loadBinaryFile
bool BASE_IMPEXP mrpt::system::vectorToBinaryFile ( const vector_byte &  vec,
const std::string fileName 
)

Saves a vector directly as a binary dump to a file:

Returns:
Returns false on any error, true on everything OK.
See also:
loadBinaryFile
bool BASE_IMPEXP mrpt::system::vectorToTextFile ( const std::vector< float > &  vec,
const std::string fileName,
bool  append = false,
bool  byRows = false 
)

A useful function for debuging, which saves a std::vector into a text file (compat.

with MATLAB)

Returns:
Returns false on any error, true on everything OK.

Referenced by mrpt::bayes::CKalmanFilterCapable< 7, 3, 3, 7 >::runOneKalmanIteration().

bool BASE_IMPEXP mrpt::system::vectorToTextFile ( const std::vector< double > &  vec,
const std::string fileName,
bool  append = false,
bool  byRows = false 
)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

bool BASE_IMPEXP mrpt::system::vectorToTextFile ( const std::vector< int > &  vec,
const std::string fileName,
bool  append = false,
bool  byRows = false 
)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

bool BASE_IMPEXP mrpt::system::vectorToTextFile ( const std::vector< size_t > &  vec,
const std::string fileName,
bool  append = false,
bool  byRows = false 
)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

template<class Derived >
bool mrpt::system::vectorToTextFile ( const Eigen::MatrixBase< Derived > &  vec,
const std::string fileName 
)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Definition at line 189 of file os.h.

References Eigen::MatrixBase::saveToTextFile().

int BASE_IMPEXP mrpt::system::os::vsnprintf ( char *  buf,
size_t  bufSize,
const char *  format,
va_list  args 
)

An OS-independent version of vsnprintf (Notice the bufSize param, which may be ignored in some compilers)

int BASE_IMPEXP int BASE_IMPEXP mrpt::system::os::vsprintf ( char *  buf,
size_t  bufSize,
const char *  format,
va_list  args 
)

An OS-independent version of vsprintf (Notice the bufSize param, which may be ignored in some compilers)




Page generated by Doxygen 1.7.5 for MRPT 0.9.5 SVN: at Thu Oct 13 21:25:36 UTC 2011