MRPT  1.9.9
OS and compiler abstraction

Detailed Description

Header: #include <mrpt/system/os.h>.

Library: [mrpt-system]

Collaboration diagram for OS and compiler abstraction:

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 mrpt::system::os::sprintf (char *buf, size_t bufSize, const char *format,...) noexcept MRPT_printf_format_check(3
 An OS-independent version of sprintf (Notice the bufSize param, which may be ignored in some compilers) More...
 
int int mrpt::system::os::vsprintf (char *buf, size_t bufSize, const char *format, va_list args) noexcept
 An OS-independent version of vsprintf (Notice the bufSize param, which may be ignored in some compilers) More...
 
int mrpt::system::os::vsnprintf (char *buf, size_t bufSize, const char *format, va_list args) noexcept
 An OS-independent version of vsnprintf (Notice the bufSize param, which may be ignored in some compilers) More...
 
FILE * mrpt::system::os::fopen (const char *fileName, const char *mode) noexcept
 An OS-independent version of fopen. More...
 
FILE * mrpt::system::os::fopen (const std::string &fileName, const char *mode) noexcept
 An OS-independent version of fopen (std::string version) More...
 
int mrpt::system::os::fprintf (FILE *fil, const char *format,...) noexcept MRPT_printf_format_check(2
 An OS-independent version of fprintf. More...
 
int void mrpt::system::os::fclose (FILE *f)
 An OS-independent version of fclose. More...
 
char * mrpt::system::os::strcat (char *dest, size_t destSize, const char *source) noexcept
 An OS-independent version of strcat. More...
 
char * mrpt::system::os::strcpy (char *dest, size_t destSize, const char *source) noexcept
 An OS-independent version of strcpy. More...
 
int mrpt::system::os::_strcmp (const char *str1, const char *str2) noexcept
 An OS-independent version of strcmp. More...
 
int mrpt::system::os::_strcmpi (const char *str1, const char *str2) noexcept
 An OS-independent version of strcmpi. More...
 
int mrpt::system::os::_strncmp (const char *str, const char *subStr, size_t count) noexcept
 An OS-independent version of strncmp. More...
 
int mrpt::system::os::_strnicmp (const char *str, const char *subStr, size_t count) noexcept
 An OS-independent version of strnicmp. More...
 
int64_t mrpt::system::os::_strtoll (const char *nptr, char **endptr, int base)
 An OS-independent version of strtoll. More...
 
uint64_t mrpt::system::os::_strtoull (const char *nptr, char **endptr, int base)
 An OS-independent version of strtoull. More...
 
time_t 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. More...
 
void mrpt::system::os::memcpy (void *dest, size_t destSize, const void *src, size_t copyCount) noexcept
 An OS and compiler independent version of "memcpy". More...
 
int mrpt::system::os::getch () noexcept
 An OS-independent version of getch, which waits until a key is pushed. More...
 
bool mrpt::system::os::kbhit () noexcept
 An OS-independent version of kbhit, which returns true if a key has been pushed. More...
 
void mrpt::system::pause (const std::string &msg=std::string("Press any key to continue...")) noexcept
 Shows the message "Press any key to continue" (or other custom message) to the current standard output and returns when a key is pressed. More...
 
void mrpt::system::clearConsole ()
 Clears the console window. More...
 
std::string mrpt::system::MRPT_getCompilationDate ()
 Returns the MRPT source code timestamp, according to the Reproducible-Builds specifications: https://reproducible-builds.org/specs/source-date-epoch/. More...
 
std::string mrpt::system::MRPT_getVersion ()
 Returns a string describing the MRPT version. More...
 
const std::stringmrpt::system::getMRPTLicense ()
 Returns a const ref to a text with the same text that appears at the beginning of each MRPT file (useful for displaying the License text in GUIs) More...
 
std::string mrpt::system::find_mrpt_shared_dir ()
 Finds the "[MRPT]/share/mrpt/" directory, if available in the system. More...
 
void mrpt::system::setConsoleColor (TConsoleColor color, bool changeStdErr=false)
 Changes the text color in the console for the text written from now on. More...
 
int mrpt::system::executeCommand (const std::string &command, std::string *output=nullptr, const std::string &mode="r")
 Execute Generic Shell Command. More...
 
bool mrpt::system::launchProcess (const std::string &command)
 Executes the given command (which may contain a program + arguments), and waits until it finishes. More...
 

Enumeration Type Documentation

◆ TConsoleColor

For use in setConsoleColor.

Enumerator
CONCOL_NORMAL 
CONCOL_BLUE 
CONCOL_GREEN 
CONCOL_RED 

Definition at line 162 of file os.h.

Function Documentation

◆ _strcmp()

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

An OS-independent version of strcmp.

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

Definition at line 314 of file os.cpp.

Referenced by mrpt::system::strCmp().

Here is the caller graph for this function:

◆ _strcmpi()

◆ _strncmp()

int mrpt::system::os::_strncmp ( const char *  str1,
const char *  str2,
size_t  count 
)
noexcept

An OS-independent version of strncmp.

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

Definition at line 338 of file os.cpp.

Referenced by mrpt::system::strStarts().

Here is the caller graph for this function:

◆ _strnicmp()

int mrpt::system::os::_strnicmp ( const char *  str1,
const char *  str2,
size_t  count 
)
noexcept

An OS-independent version of strnicmp.

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

Definition at line 346 of file os.cpp.

Referenced by xsens::cmtScanPorts(), xsens::Cmt3::isLogFileOpen(), mrpt::system::strStartsI(), and xstrnicmp().

Here is the caller graph for this function:

◆ _strtoll()

int64_t mrpt::system::os::_strtoll ( const char *  nptr,
char **  endptr,
int  base 
)

An OS-independent version of strtoll.

Definition at line 456 of file os.cpp.

◆ _strtoull()

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

An OS-independent version of strtoull.

Definition at line 468 of file os.cpp.

Referenced by mrpt::config::CConfigFileBase::read_uint64_t().

Here is the caller graph for this function:

◆ clearConsole()

void mrpt::system::clearConsole ( )

Clears the console window.

Definition at line 441 of file os.cpp.

◆ executeCommand()

int mrpt::system::executeCommand ( const std::string command,
std::string output = nullptr,
const std::string mode = "r" 
)

Execute Generic Shell Command.

Parameters
[in]commandCommand to execute
[out]outputPointer to string containing the shell output
[in]moderead/write access
Returns
0 for success, -1 otherwise.
Note
Original code snippet found in http://stackoverflow.com/a/30357710

Definition at line 662 of file os.cpp.

References FALSE, TRUE, and winerror2str().

Referenced by mrpt::comms::net::Ping().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ fclose()

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

An OS-independent version of fclose.

Exceptions
std::exceptionOn trying to close a nullptr file descriptor.

Definition at line 275 of file os.cpp.

References THROW_EXCEPTION.

Referenced by mrpt::maps::CGasConcentrationGridMap2D::build_Gaussian_Wind_Grid(), xsens::Cmt1s::close(), xsens::Cmt1f::close(), IoInterfaceFile::closeAndDelete(), xsens::Cmt1f::closeAndDelete(), IoInterfaceFile::closeFile(), SerialInterface::closeLive(), UsbInterface::closeUsb(), mrpt::system::copyFile(), IoInterfaceFile::create(), xsens::Cmt1f::create(), doesFileExist(), mrpt::maps::CLandmarksMap::fuseWith(), mrpt::hmtslam::CHMTSLAM::generateLogFiles(), mrpt::system::getMemoryUsage(), mrpt::maps::CPointsMap::load2Dor3D_from_text_file(), mrpt::io::loadBinaryFile(), mrpt::config::simpleini::CSimpleIniTempl< SI_CHAR, SI_STRLESS, SI_CONVERTER >::LoadFile(), IoInterfaceFile::open(), xsens::Cmt1f::open(), XMLNode::openFileHelper(), XMLNode::parseFile(), ply_close(), mrpt::maps::CPointsMap::save2D_to_text_file(), mrpt::maps::CColouredPointsMap::save3D_and_colour_to_text_file(), mrpt::maps::CPointsMap::save3D_to_text_file(), mrpt::maps::CRandomFieldGridMap2D::saveAsMatlab3DGraph(), mrpt::tfest::TMatchingPairList::saveAsMATLABScript(), mrpt::maps::CMultiMetricMapPDF::saveCurrentPathEstimationToTextFile(), mrpt::math::saveEigenSparseTripletsToFile(), mrpt::config::simpleini::CSimpleIniTempl< SI_CHAR, SI_STRLESS, SI_CONVERTER >::SaveFile(), mrpt::slam::CRangeBearingKFSLAM2D::saveMapAndPath2DRepresentationAsMATLABFile(), mrpt::slam::CRangeBearingKFSLAM::saveMapAndPath2DRepresentationAsMATLABFile(), mrpt::maps::CBeaconMap::saveMetricMapRepresentationToFile(), mrpt::maps::CLandmarksMap::saveToMATLABScript2D(), mrpt::maps::CBeaconMap::saveToMATLABScript3D(), mrpt::maps::CLandmarksMap::saveToMATLABScript3D(), mrpt::poses::CPoint2DPDFGaussian::saveToTextFile(), mrpt::poses::CPointPDFGaussian::saveToTextFile(), mrpt::poses::CPointPDFParticles::saveToTextFile(), mrpt::poses::CPosePDFGaussian::saveToTextFile(), mrpt::poses::CPose3DPDFParticles::saveToTextFile(), mrpt::poses::CPose3DQuatPDFGaussianInf::saveToTextFile(), mrpt::poses::CPosePDFGaussianInf::saveToTextFile(), mrpt::poses::CPose3DQuatPDFGaussian::saveToTextFile(), mrpt::poses::CPose3DPDFGaussianInf::saveToTextFile(), mrpt::poses::CPose3DPDFSOG::saveToTextFile(), mrpt::poses::CPose3DPDFGaussian::saveToTextFile(), mrpt::poses::CPointPDFSOG::saveToTextFile(), mrpt::poses::CPosePDFSOG::saveToTextFile(), mrpt::maps::CBeaconMap::saveToTextFile(), mrpt::math::MatrixVectorBase< T, CMatrixFixed< T, ROWS, COLS > >::saveToTextFile(), mrpt::maps::CLandmarksMap::saveToTextFile(), mrpt::vision::CMatchedFeatureList::saveToTextFile(), mrpt::math::CSparseMatrix::saveToTextFile_sparse(), mrpt::maps::CPointsMapXYZI::saveXYZI_to_text_file(), mrpt::system::vectorToTextFile(), and XMLNode::writeToFile().

Here is the caller graph for this function:

◆ find_mrpt_shared_dir()

std::string mrpt::system::find_mrpt_shared_dir ( )

Finds the "[MRPT]/share/mrpt/" directory, if available in the system.

This searches in (1) source code tree, (2) install target paths.

Definition at line 613 of file os.cpp.

References dir, mrpt::system::directoryExists(), and mrpt::system::extractFileDirectory().

Referenced by run_rnav_test().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ fopen() [1/2]

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

An OS-independent version of fopen.

Returns
It will always return nullptr on any error.

Definition at line 257 of file os.cpp.

Referenced by mrpt::maps::CGasConcentrationGridMap2D::build_Gaussian_Wind_Grid(), mrpt::system::copyFile(), IoInterfaceFile::create(), xsens::Cmt1f::create(), doesFileExist(), mrpt::system::os::fopen(), mrpt::maps::CLandmarksMap::fuseWith(), mrpt::hmtslam::CHMTSLAM::generateLogFiles(), mrpt::system::getMemoryUsage(), mrpt::maps::CPointsMap::load2Dor3D_from_text_file(), mrpt::io::loadBinaryFile(), mrpt::config::simpleini::CSimpleIniTempl< SI_CHAR, SI_STRLESS, SI_CONVERTER >::LoadFile(), IoInterfaceFile::open(), xsens::Cmt1f::open(), ply_open_for_reading(), ply_open_for_writing(), UsbInterface::readData(), SerialInterface::readData(), xsens::Cmt1s::readData(), mrpt::maps::CPointsMap::save2D_to_text_file(), mrpt::maps::CColouredPointsMap::save3D_and_colour_to_text_file(), mrpt::maps::CPointsMap::save3D_to_text_file(), mrpt::maps::CRandomFieldGridMap2D::saveAsMatlab3DGraph(), mrpt::tfest::TMatchingPairList::saveAsMATLABScript(), mrpt::maps::CMultiMetricMapPDF::saveCurrentPathEstimationToTextFile(), mrpt::math::saveEigenSparseTripletsToFile(), mrpt::config::simpleini::CSimpleIniTempl< SI_CHAR, SI_STRLESS, SI_CONVERTER >::SaveFile(), mrpt::slam::CRangeBearingKFSLAM2D::saveMapAndPath2DRepresentationAsMATLABFile(), mrpt::slam::CRangeBearingKFSLAM::saveMapAndPath2DRepresentationAsMATLABFile(), mrpt::maps::CBeaconMap::saveMetricMapRepresentationToFile(), mrpt::maps::CLandmarksMap::saveToMATLABScript2D(), mrpt::maps::CBeaconMap::saveToMATLABScript3D(), mrpt::maps::CLandmarksMap::saveToMATLABScript3D(), mrpt::poses::CPoint2DPDFGaussian::saveToTextFile(), mrpt::poses::CPointPDFGaussian::saveToTextFile(), mrpt::poses::CPointPDFParticles::saveToTextFile(), mrpt::poses::CPosePDFGaussian::saveToTextFile(), mrpt::poses::CPose3DPDFParticles::saveToTextFile(), mrpt::poses::CPose3DQuatPDFGaussianInf::saveToTextFile(), mrpt::poses::CPosePDFGaussianInf::saveToTextFile(), mrpt::poses::CPose3DQuatPDFGaussian::saveToTextFile(), mrpt::poses::CPose3DPDFGaussianInf::saveToTextFile(), mrpt::poses::CPose3DPDFSOG::saveToTextFile(), mrpt::poses::CPose3DPDFGaussian::saveToTextFile(), mrpt::poses::CPointPDFSOG::saveToTextFile(), mrpt::poses::CPosePDFSOG::saveToTextFile(), mrpt::maps::CBeaconMap::saveToTextFile(), mrpt::math::MatrixVectorBase< T, CMatrixFixed< T, ROWS, COLS > >::saveToTextFile(), mrpt::maps::CLandmarksMap::saveToTextFile(), mrpt::vision::CMatchedFeatureList::saveToTextFile(), mrpt::math::CSparseMatrix::saveToTextFile_sparse(), mrpt::maps::CPointsMapXYZI::saveXYZI_to_text_file(), mrpt::system::vectorFromTextFile(), mrpt::system::vectorToTextFile(), UsbInterface::writeData(), SerialInterface::writeData(), xsens::Cmt1s::writeData(), and xfopen().

Here is the caller graph for this function:

◆ fopen() [2/2]

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

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

Returns
It will always return nullptr on any error.

Definition at line 249 of file os.cpp.

References mrpt::system::os::fopen().

Here is the call graph for this function:

◆ fprintf()

int mrpt::system::os::fprintf ( FILE *  fil,
const char *  format,
  ... 
)
noexcept

An OS-independent version of fprintf.

Definition at line 410 of file os.cpp.

Referenced by mrpt::comms::CServerTCPSocket::accept(), binary_get_element(), mrpt::maps::CGasConcentrationGridMap2D::build_Gaussian_Wind_Grid(), mrpt::hwdrivers::CRoboPeakLidar::checkCOMMs(), mrpt::rtti::TRuntimeClassId::createObject(), mrpt::system::deleteFiles(), mrpt::maps::CLandmarksMap::fuseWith(), mrpt::hmtslam::CHMTSLAM::generateLogFiles(), mrpt::hwdrivers::CRoboPeakLidar::getDeviceHealth(), mrpt::hwdrivers::CVelodyneScanner::internal_read_PCAP_packet(), mrpt::io::loadBinaryFile(), nanoflann::PooledAllocator::malloc(), ply_describe_property(), ply_get_property(), ply_header_complete(), ply_put_element(), mrpt::rtti::registerClass(), mrpt::maps::CPointsMap::save2D_to_text_file(), mrpt::maps::CColouredPointsMap::save3D_and_colour_to_text_file(), mrpt::maps::CPointsMap::save3D_to_text_file(), mrpt::maps::CRandomFieldGridMap2D::saveAsMatlab3DGraph(), mrpt::tfest::TMatchingPairList::saveAsMATLABScript(), mrpt::maps::CMultiMetricMapPDF::saveCurrentPathEstimationToTextFile(), mrpt::math::saveEigenSparseTripletsToFile(), mrpt::slam::CRangeBearingKFSLAM2D::saveMapAndPath2DRepresentationAsMATLABFile(), mrpt::slam::CRangeBearingKFSLAM::saveMapAndPath2DRepresentationAsMATLABFile(), mrpt::maps::CBeaconMap::saveMetricMapRepresentationToFile(), mrpt::maps::CLandmarksMap::saveToMATLABScript2D(), mrpt::maps::CBeaconMap::saveToMATLABScript3D(), mrpt::maps::CLandmarksMap::saveToMATLABScript3D(), mrpt::poses::CPoint2DPDFGaussian::saveToTextFile(), mrpt::poses::CPointPDFGaussian::saveToTextFile(), mrpt::poses::CPointPDFParticles::saveToTextFile(), mrpt::poses::CPosePDFGaussian::saveToTextFile(), mrpt::poses::CPose3DPDFParticles::saveToTextFile(), mrpt::poses::CPose3DQuatPDFGaussianInf::saveToTextFile(), mrpt::poses::CPose3DQuatPDFGaussian::saveToTextFile(), mrpt::poses::CPosePDFGaussianInf::saveToTextFile(), mrpt::poses::CPose3DPDFGaussianInf::saveToTextFile(), mrpt::poses::CPose3DPDFSOG::saveToTextFile(), mrpt::poses::CPose3DPDFGaussian::saveToTextFile(), mrpt::poses::CPointPDFSOG::saveToTextFile(), mrpt::poses::CPosePDFSOG::saveToTextFile(), mrpt::maps::CBeaconMap::saveToTextFile(), mrpt::math::MatrixVectorBase< T, CMatrixFixed< T, ROWS, COLS > >::saveToTextFile(), mrpt::maps::CLandmarksMap::saveToTextFile(), mrpt::vision::CMatchedFeatureList::saveToTextFile(), mrpt::math::CSparseMatrix::saveToTextFile_sparse(), mrpt::maps::CPointsMapXYZI::saveXYZI_to_text_file(), mrpt::system::setConsoleColor(), mrpt::system::vectorToTextFile(), write_ascii_item(), write_scalar_type(), and XMLNode::writeToFile().

Here is the caller graph for this function:

◆ getch()

int mrpt::system::os::getch ( )
noexcept

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

Returns
The pushed key code

Definition at line 372 of file os.cpp.

Referenced by mrpt::system::pause(), and mrpt::gui::CBaseGUIWindow::waitForKey().

Here is the caller graph for this function:

◆ getMRPTLicense()

const std::string & mrpt::system::getMRPTLicense ( )

Returns a const ref to a text with the same text that appears at the beginning of each MRPT file (useful for displaying the License text in GUIs)

Definition at line 543 of file os.cpp.

References sLicenseTextF.

Referenced by CAboutBoxBase::license().

Here is the caller graph for this function:

◆ kbhit()

bool mrpt::system::os::kbhit ( )
noexcept

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

Definition at line 394 of file os.cpp.

Referenced by mrpt::gui::CBaseGUIWindow::waitForKey().

Here is the caller graph for this function:

◆ launchProcess()

bool mrpt::system::launchProcess ( const std::string command)

Executes the given command (which may contain a program + arguments), and waits until it finishes.

Returns
false on any error, true otherwise

Definition at line 583 of file os.cpp.

References winerror2str().

Here is the call graph for this function:

◆ memcpy()

void mrpt::system::os::memcpy ( void dest,
size_t  destSize,
const void src,
size_t  copyCount 
)
noexcept

An OS and compiler independent version of "memcpy".

Definition at line 358 of file os.cpp.

References MRPT_UNUSED_PARAM.

Referenced by rp::standalone::rplidar::RPlidarDriverSerialImpl::_cacheCapsuledScanData(), rp::standalone::rplidar::RPlidarDriverSerialImpl::_cacheScanData(), bit_cast(), mrpt::io::CMemoryStream::CMemoryStream(), mrpt::math::CSparseMatrix::construct_from_mrpt_mat(), mrpt::config::simpleini::SI_ConvertA< char >::ConvertFromStore(), mrpt::config::simpleini::SI_ConvertA< char >::ConvertToStore(), mrpt::math::CSparseMatrix::copy(), mrpt::config::simpleini::CSimpleIniTempl< SI_CHAR, SI_STRLESS, SI_CONVERTER >::CopyString(), XMLNode::deepCopy(), xsens::IntList::deserialize(), mrpt::hwdrivers::CHokuyoURG::displaySensorInfo(), mrpt::comms::net::DNS_resolve_async(), KmTree::DoKMeansStep(), mrpt::hmtslam::CHierarchicalMHMap::dumpAsXMLfile(), mrpt::vision::CFeatureExtraction::extractFeaturesSIFT(), mrpt::math::fft_real(), xsens::Cmt3::getAvailableScenarios(), mrpt::system::CFileSystemWatcher::getChanges(), xsens::Cmt3::getConfiguration(), mrpt::serialization::CMessage::getContentAsString(), xsens::Cmt3::getEMtsData(), mrpt::bayes::CKalmanFilterCapable< 7, 3, 3, 7 >::getLandmarkMean(), mrpt::hwdrivers::CBoardSonars::getObservation(), mrpt::hwdrivers::CEnoseModular::getObservation(), mrpt::hwdrivers::CBoardENoses::getObservation(), xsens::Cmt3::getProductCode(), rp::standalone::rplidar::RPlidarDriverSerialImpl::grabScanData(), XMLNode::guessCharEncoding(), mrpt::comms::net::http_get(), mrpt::comms::net::http_request(), impl_stringListAsString(), mrpt::maps::CRandomFieldGridMap2D::insertObservation_KF(), mrpt::maps::CRandomFieldGridMap2D::internal_clear(), mrpt::hwdrivers::CVelodyneScanner::internal_read_PCAP_packet(), mrpt::vision::pnp::p3p::jacobi_4x4(), mrpt::bayes::CKalmanFilterCapable< 7, 3, 3, 7 >::KF_aux_estimate_obs_Hx_jacobian(), mrpt::bayes::CKalmanFilterCapable< 7, 3, 3, 7 >::KF_aux_estimate_obs_Hy_jacobian(), xsens::List< uint32_t >::List(), mrpt::hwdrivers::CSickLaserSerial::LMS_sendMeasuringMode_cm_mm(), mrpt::obs::CObservation3DRangeScan::load(), mrpt::img::CImage::loadFromMemoryBuffer(), mrpt::img::CImage::loadFromStreamAsJPEG(), xsens::Message::loadFromString(), XMLNode::maybeAddTxT(), xsens::Message::Message(), mrpt::gui::MRPTImage2wxImage(), xsens::Message::operator=(), mrpt::gui::CWindowDialogPlots::plot(), PointCopy(), mrpt::hwdrivers::CNTRIPClient::private_ntrip_thread(), mrpt::io::CMemoryStream::Read(), mrpt::serialization::CArchiveStreamBase< std::vector< uint8_t > >::read(), mrpt::serialization::CArchiveStreamBase< const std::vector< uint8_t > >::read(), UsbInterface::readData(), xsens::Cmt1s::readData(), CmtDeviceConfiguration::readFromMessage(), xsens::Cmt2s::readMessage(), mrpt::math::CMatrixDynamic< KFTYPE >::realloc(), mrpt::serialization::CArchive::receiveMessage(), mrpt::hwdrivers::CVelodyneScanner::receivePackets(), mrpt::maps::CRandomFieldGridMap2D::resize(), mrpt::maps::COccupancyGridMap2D::resizeGrid(), reverseBytesInPlace_2b(), reverseBytesInPlace_4b(), reverseBytesInPlace_8b(), RunKMeans(), RunKMeansOnce(), mrpt::bayes::CKalmanFilterCapable< 7, 3, 3, 7 >::runOneKalmanIteration(), KmTree::SeedKMeansPlusPlus(), mrpt::hwdrivers::CNTRIPClient::sendBackToServer(), mrpt::hwdrivers::CCANBusReader::sendCommandToCANReader(), mrpt::hwdrivers::CSickLaserSerial::SendCommandToSICK(), mrpt::serialization::CArchive::sendMessage(), xsens::IntList::serialize(), mrpt::serialization::CMessage::serializeObject(), mrpt::serialization::CMessage::setContentFromString(), mrpt::hmtslam::CMHPropertiesValuesList::setElemental(), stringDup(), mrpt::math::detail::stub_kmeans(), xsens::Cmt2s::waitForMessage(), mrpt::io::CMemoryStream::Write(), mrpt::serialization::CArchiveStreamBase< std::vector< uint8_t > >::write(), and xsens::Cmt2s::writeMessage().

Here is the caller graph for this function:

◆ MRPT_getCompilationDate()

string mrpt::system::MRPT_getCompilationDate ( )

Returns the MRPT source code timestamp, according to the Reproducible-Builds specifications: https://reproducible-builds.org/specs/source-date-epoch/.

Definition at line 154 of file os.cpp.

References mrpt::format(), and mrpt::system::now().

Referenced by CAboutBoxBase::information(), CAboutBoxBase::MRPTBuildVersion(), and CAboutBox::OnInit().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ MRPT_getVersion()

string mrpt::system::MRPT_getVersion ( )

Returns a string describing the MRPT version.

Definition at line 187 of file os.cpp.

Referenced by CAboutBoxBase::information(), CAboutBoxBase::MRPTBuildVersion(), and CAboutBox::OnInit().

Here is the caller graph for this function:

◆ pause()

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

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

Definition at line 432 of file os.cpp.

References mrpt::system::os::getch().

Referenced by mrpt::vision::build_linear_system(), mrpt::detectors::CFaceDetection::experimental_segmentFace(), mrpt::detectors::CFaceDetection::experimental_showMeasurements(), mrpt::detectors::CFaceDetection::experimental_viewFacePointsAndEigenVects(), mrpt::detectors::CFaceDetection::experimental_viewFacePointsScanned(), mrpt::detectors::CFaceDetection::experimental_viewRegions(), mrpt::obs::CObservationGasSensors::CMOSmodel::get_GasDistribution_estimation(), mrpt::slam::CICP::ICP_Method_LM(), mrpt::graphslam::CGraphSlamEngine< GRAPH_T >::initClass(), mrpt::hmtslam::CHMTSLAM::LSLAM_process_message_from_TBI(), and mrpt::obs::CObservationGasSensors::CMOSmodel::noise_filtering().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ setConsoleColor()

void 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.

The parameter "color" can be:

  • 0 : Normal text color
  • 1 : Blue text color
  • 2 : Green text color
  • 4 : Red text color

Definition at line 484 of file os.cpp.

References mrpt::system::CONCOL_NORMAL, and mrpt::system::os::fprintf().

Referenced by mrpt::system::COutputLogger::TMsg::dumpToConsole().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ sprintf()

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

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

See also
mrpt::format

Definition at line 191 of file os.cpp.

References MRPT_UNUSED_PARAM, and mrpt::system::os::vsprintf().

Referenced by mrpt::hwdrivers::CTuMicos::changeMotionDir(), mrpt::hwdrivers::CTuMicos::clear(), xsens::cmtScanPorts(), mrpt::system::deleteFiles(), mrpt::maps::CBeacon::getAsMatlabDrawCommands(), mrpt::nav::CPTG_DiffDrive_CC::getDescription(), mrpt::nav::CPTG_DiffDrive_CCS::getDescription(), mrpt::nav::CPTG_DiffDrive_CS::getDescription(), mrpt::nav::CPTG_DiffDrive_alpha::getDescription(), xsens::Cmt1s::getPortName(), mrpt::hwdrivers::CTuMicos::halt(), MD5::hexdigest(), makeFilenameUnique(), mrpt::hwdrivers::CTuMicos::moveToAbsPos(), mrpt::hwdrivers::CTuMicos::moveToOffPos(), UsbInterface::open(), SerialInterface::open(), xsens::Cmt1s::open(), XMLNode::openFileHelper(), mrpt::img::operator<<(), mrpt::hwdrivers::CTuMicos::radAsign(), mrpt::hwdrivers::CPtuDPerception::radAsign(), mrpt::hwdrivers::CTuMicos::radQuerry(), mrpt::hwdrivers::CTuMicos::rangeMeasure(), UsbInterface::readData(), SerialInterface::readData(), xsens::Cmt1s::readData(), mrpt::opengl::CAxis::render_dl(), mrpt::opengl::gl_utils::renderSetOfObjects(), mrpt::hwdrivers::CTuMicos::reset(), mrpt::obs::CObservationGasSensors::CMOSmodel::save_log_map(), mrpt::maps::COccupancyGridMap2D::saveAsEMFTwoMapsWithCorrespondences(), mrpt::vision::TMultiResDescOptions::saveToConfigFile(), mrpt::hwdrivers::CHokuyoURG::setHighSensitivityMode(), mrpt::hwdrivers::CTuMicos::setLimits(), mrpt::hwdrivers::CHokuyoURG::setMotorSpeed(), mrpt::gui::CDisplayWindow::showImageAndPoints(), mrpt::gui::CDisplayWindow::showImagesAndMatchedPoints(), mrpt::hwdrivers::CHokuyoURG::startScanningMode(), mrpt::system::os::timegm(), mrpt::pbmap::PbMapMaker::viz_cb(), UsbInterface::writeData(), SerialInterface::writeData(), xsens::Cmt1s::writeData(), xsens::IntList::writeToString(), xsens::IntList::writeToStringHex(), and xsEnumerateUsbDevices().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ strcat()

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

An OS-independent version of strcat.

Returns
It will always return the "dest" pointer.

Definition at line 284 of file os.cpp.

References MRPT_UNUSED_PARAM.

Referenced by mrpt::system::deleteFiles(), mrpt::hwdrivers::CTuMicos::transmit(), and mrpt::hwdrivers::CPtuDPerception::transmit().

Here is the caller graph for this function:

◆ strcpy()

◆ timegm()

time_t 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.

Definition at line 112 of file os.cpp.

References mrpt::system::os::sprintf(), and mrpt::system::os::strcpy().

Referenced by mrpt::system::buildTimestampFromParts().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ vsnprintf()

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

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

Definition at line 230 of file os.cpp.

References vsnprintf, and mrpt::system::os::vsprintf().

Referenced by mrpt::system::COutputLogger::generateStringFromFormat().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ vsprintf()

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

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

Definition at line 214 of file os.cpp.

References MRPT_UNUSED_PARAM.

Referenced by mrpt::system::os::sprintf(), and mrpt::system::os::vsnprintf().

Here is the caller graph for this function:



Page generated by Doxygen 1.8.14 for MRPT 1.9.9 Git: 8fe78517f Sun Jul 14 19:43:28 2019 +0200 at lun oct 28 02:10:00 CET 2019