#include <mrpt/config.h>
#include <mrpt/utils/types.h>
#include <cstdarg>
#include <cstdlib>
#include <cstring>
#include <deque>
#include <vector>
#include <mrpt/utils/utils_impexp.h>
Go to the source code of this file.
Classes | |
struct | mrpt::system::TThreadHandle |
This structure contains the information needed to interface the threads API on each platform:. More... | |
struct | mrpt::system::TTimeParts |
The parts of a date/time (it's like the standard 'tm' but with fractions of seconds). More... | |
Namespaces | |
namespace | mrpt |
The main namespace for all the Mobile Robot Programming Toolkit (MRPT) C++ libraries. | |
namespace | mrpt::utils |
Classes for serialization, sockets, ini-file manipulation, streams, list of properties-values, timewatch, extensions to STL. | |
namespace | mrpt::system |
This namespace provides a OS-independent interface to many useful functions: filenames manipulation, time and date, string parsing, file I/O, threading, memory allocation, etc. | |
namespace | mrpt::system::os |
This namespace provides a OS-independent interface to low-level functions. | |
Defines | |
#define | _IAMINUTILSDEFS_H |
#define | MRPT_printf_format_check(_FMT_, _VARARGS_) |
#define | MRPT_scanf_format_check(_FMT_, _VARARGS_) |
#define | MRPT_NO_THROWS throw() |
Used after member declarations. | |
#define | INVALID_TIMESTAMP (0) |
Represents an invalid timestamp, where applicable. | |
#define | mrpt_alloca(nBytes) ::malloc( nBytes ); |
In platforms and compilers with support to "alloca", allocate a memory block on the stack; if alloca is not supported, it is emulated as a normal "malloc" - NOTICE: Since in some platforms alloca will be emulated with malloc, alloca_free MUST BE ALWAYS CALLED to avoid memory leaks. | |
#define | mrpt_alloca_free(mem_block) free(mem_block) |
This method must be called to "free" each memory block allocated with "system::alloca": If the block was really allocated in the stack, no operation is actually performed, otherwise it will be freed from the heap. | |
Functions | |
int MRPTDLLIMPEXP | 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 MRPTDLLIMPEXP int MRPTDLLIMPEXP | 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 MRPTDLLIMPEXP | 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 MRPTDLLIMPEXP * | mrpt::system::os::fopen (const char *fileName, const char *mode) MRPT_NO_THROWS |
An OS-independent version of fopen. | |
FILE MRPTDLLIMPEXP * | mrpt::system::os::fopen (const std::string &fileName, const char *mode) MRPT_NO_THROWS |
An OS-independent version of fopen (std::string version). | |
int MRPTDLLIMPEXP | mrpt::system::os::fprintf (FILE *fil, const char *format,...) MRPT_NO_THROWS MRPT_printf_format_check(2 |
An OS-independent version of fprintf. | |
int MRPTDLLIMPEXP int MRPTDLLIMPEXP | mrpt::system::os::fscanf (FILE *fil, const char *format,...) MRPT_NO_THROWS MRPT_scanf_format_check(2 |
An OS-independent version of fscanf. | |
int MRPTDLLIMPEXP int MRPTDLLIMPEXP void MRPTDLLIMPEXP | mrpt::system::os::fclose (FILE *f) MRPT_NO_THROWS |
An OS-independent version of fclose. | |
char MRPTDLLIMPEXP * | mrpt::system::os::strcat (char *dest, size_t destSize, const char *source) MRPT_NO_THROWS |
An OS-independent version of strcat. | |
char MRPTDLLIMPEXP * | mrpt::system::os::strcpy (char *dest, size_t destSize, const char *source) MRPT_NO_THROWS |
An OS-independent version of strcpy. | |
int MRPTDLLIMPEXP | mrpt::system::os::_strcmp (const char *str1, const char *str2) MRPT_NO_THROWS |
An OS-independent version of strcmp. | |
int MRPTDLLIMPEXP | mrpt::system::os::_strcmpi (const char *str1, const char *str2) MRPT_NO_THROWS |
An OS-independent version of strcmpi. | |
int64_t MRPTDLLIMPEXP | mrpt::system::os::_strtoll (const char *nptr, char **endptr, int base) |
An OS-independent version of strtoll. | |
uint64_t MRPTDLLIMPEXP | mrpt::system::os::_strtoull (const char *nptr, char **endptr, int base) |
An OS-independent version of strtoull. | |
void MRPTDLLIMPEXP | 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 MRPTDLLIMPEXP | mrpt::system::os::getch () MRPT_NO_THROWS |
An OS-independent version of getch, which waits until a key is pushed. | |
bool MRPTDLLIMPEXP | mrpt::system::os::kbhit () MRPT_NO_THROWS |
An OS-independent version of kbhit, which returns true if a key has been pushed. | |
void MRPTDLLIMPEXP | mrpt::system::sleep (int time_ms) MRPT_NO_THROWS |
An OS-independent method for sending the current thread to "sleep" for a given period of time. | |
char MRPTDLLIMPEXP * | mrpt::system::strtok (char *str, const char *strDelimit, char **context) MRPT_NO_THROWS |
An OS-independent method for tokenizing a string. | |
void MRPTDLLIMPEXP | mrpt::system::tokenize (const std::string &inString, const std::string &inDelimiters, std::deque< std::string > &outTokens) MRPT_NO_THROWS |
Tokenizes a string according to a set of delimiting characters. | |
void MRPTDLLIMPEXP | mrpt::system::tokenize (const std::string &inString, const std::string &inDelimiters, std::vector< std::string > &outTokens) MRPT_NO_THROWS |
Tokenizes a string according to a set of delimiting characters. | |
std::string MRPTDLLIMPEXP | mrpt::system::trim (const std::string &str) |
Removes leading and trailing spaces:. | |
bool MRPTDLLIMPEXP | mrpt::system::isNaN (float f) MRPT_NO_THROWS |
Returns true if the number is NaN. | |
bool MRPTDLLIMPEXP | mrpt::system::isNaN (double f) MRPT_NO_THROWS |
Returns true if the number is NaN. | |
bool MRPTDLLIMPEXP | mrpt::system::isFinite (float f) MRPT_NO_THROWS |
Returns true if the number is non infinity. | |
bool MRPTDLLIMPEXP | mrpt::system::isFinite (double f) MRPT_NO_THROWS |
Returns true if the number is non infinity. | |
void MRPTDLLIMPEXP | mrpt::system::pause () MRPT_NO_THROWS |
Shows the message "Press any key to continue" to the current standard output and returns when a key is pressed. | |
void MRPTDLLIMPEXP | mrpt::system::clearConsole () |
Clears the console window. | |
bool MRPTDLLIMPEXP | 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 MRPTDLLIMPEXP | mrpt::system::vectorToTextFile (const std::vector< double > &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 MRPTDLLIMPEXP | mrpt::system::vectorToTextFile (const std::vector< int > &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 MRPTDLLIMPEXP | mrpt::system::vectorToTextFile (const std::vector< size_t > &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 MRPTDLLIMPEXP | mrpt::system::vectorToBinaryFile (const vector_byte &vec, const std::string &fileName) |
Saves a vector directly as a binary dump to a file:. | |
bool MRPTDLLIMPEXP | mrpt::system::loadBinaryFile (vector_byte &out_data, const std::string &fileName) |
Loads a entire file as a vector of bytes. | |
unsigned long MRPTDLLIMPEXP | mrpt::system::getMemoryUsage () |
Returns the memory occupied by this process, in bytes. | |
std::string MRPTDLLIMPEXP | mrpt::system::toUpperCase (const std::string &str) |
Returns a lower-case version of a string. | |
std::string MRPTDLLIMPEXP | mrpt::system::toLowerCase (const std::string &str) |
Returns an upper-case version of a string. | |
std::string MRPTDLLIMPEXP | mrpt::system::upperCase (const std::string &str) |
Returns a lower-case version of a string. | |
std::string MRPTDLLIMPEXP | mrpt::system::lowerCase (const std::string &str) |
Returns an upper-case version of a string. | |
std::string MRPTDLLIMPEXP | mrpt::system::MRPT_getCompilationDate () |
Returns the MRPT compilation date. | |
std::string MRPTDLLIMPEXP | mrpt::system::MRPT_getVersion () |
Returns a string describing the MRPT version including the SVN number. | |
void MRPTDLLIMPEXP | 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 MRPTDLLIMPEXP | mrpt::system::decodeUTF8 (const std::string &strUTF8, vector_word &out_uniStr) |
Decodes a UTF-8 string into an UNICODE string. | |
void MRPTDLLIMPEXP | mrpt::system::encodeUTF8 (const vector_word &input, std::string &output) |
Encodes a 2-bytes UNICODE string into a UTF-8 string. | |
Directories, files, and file names | |
std::string MRPTDLLIMPEXP | mrpt::system::getTempFileName () |
Returns the name of a proposed temporary file name. | |
std::string MRPTDLLIMPEXP | mrpt::system::getcwd () |
Returns the current working directory. | |
bool MRPTDLLIMPEXP | mrpt::system::createDirectory (const std::string &dirName) |
Creates a directory. | |
bool MRPTDLLIMPEXP | mrpt::system::deleteFile (const std::string &fileName) |
Deletes a single file. | |
void MRPTDLLIMPEXP | mrpt::system::deleteFiles (const std::string &s) |
Delete one or more files, especified by the (optional) path and the file name (including '?' or '*') - Use forward slash ('/') for directories for compatibility between Windows and Linux, since they will be internally traslated into backward slashes ('\') if MRPT is compiled under Windows. | |
bool MRPTDLLIMPEXP | mrpt::system::renameFile (const std::string &oldFileName, const std::string &newFileName, std::string *error_msg=NULL) |
Renames a file - If the target path is different and the filesystem allows it, it will be moved to the new location. | |
void MRPTDLLIMPEXP | mrpt::system::deleteFilesInDirectory (const std::string &s) |
Delete all the files in a given directory. | |
std::string MRPTDLLIMPEXP | mrpt::system::extractFileName (const std::string &filePath) |
Extract just the name (without extension) of a filename from a complete path plus name plus extension. | |
std::string MRPTDLLIMPEXP | mrpt::system::extractFileExtension (const std::string &filePath, bool ignore_gz=false) |
Extract the extension of a filename. | |
std::string MRPTDLLIMPEXP | mrpt::system::extractFileDirectory (const std::string &filePath) |
Extract the whole path (the directory) of a filename from a complete path plus name plus extension. | |
bool MRPTDLLIMPEXP | mrpt::system::fileExists (const std::string &fileName) |
Test if a given file (or directory) exists. | |
std::string MRPTDLLIMPEXP | mrpt::system::fileNameStripInvalidChars (const std::string &filename) |
Replace invalid filename chars by underscores ('_'). |
#define INVALID_TIMESTAMP (0) |
#define mrpt_alloca | ( | nBytes | ) | ::malloc( nBytes ); |
In platforms and compilers with support to "alloca", allocate a memory block on the stack; if alloca is not supported, it is emulated as a normal "malloc" - NOTICE: Since in some platforms alloca will be emulated with malloc, alloca_free MUST BE ALWAYS CALLED to avoid memory leaks.
This method MUST BE a macro rather than a function in order to operate on the caller's stack.
#define mrpt_alloca_free | ( | mem_block | ) | free(mem_block) |
This method must be called to "free" each memory block allocated with "system::alloca": If the block was really allocated in the stack, no operation is actually performed, otherwise it will be freed from the heap.
This method MUST BE a macro rather than a function in order to operate on the caller's stack.
Page generated by Doxygen 1.5.7.1 for MRPT 0.6.5 SVN: at Mon Feb 23 13:35:09 EST 2009 |