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=NULL, 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 312 of file os.cpp.

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

◆ _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 336 of file os.cpp.

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

◆ _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 344 of file os.cpp.

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

◆ _strtoll()

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

An OS-independent version of strtoll.

Definition at line 452 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 464 of file os.cpp.

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

◆ clearConsole()

void mrpt::system::clearConsole ( )

Clears the console window.

Definition at line 437 of file os.cpp.

◆ executeCommand()

int mrpt::system::executeCommand ( const std::string command,
std::string output = NULL,
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 655 of file os.cpp.

References FALSE, TRUE, and winerror2str().

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

◆ 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 273 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::vision::CFeatureExtraction::extractFeaturesSIFT(), mrpt::maps::CLandmarksMap::fuseWith(), mrpt::hmtslam::CHMTSLAM::generateLogFiles(), mrpt::system::getMemoryUsage(), mrpt::vision::CFeatureExtraction::internal_computeSiftDescriptors(), 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::vision::saveQTableToFile(), 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::CPose3DPDFParticles::saveToTextFile(), mrpt::poses::CPosePDFGaussian::saveToTextFile(), mrpt::poses::CPose3DQuatPDFGaussianInf::saveToTextFile(), mrpt::poses::CPose3DQuatPDFGaussian::saveToTextFile(), mrpt::poses::CPosePDFGaussianInf::saveToTextFile(), mrpt::poses::CPose3DPDFSOG::saveToTextFile(), mrpt::poses::CPose3DPDFGaussianInf::saveToTextFile(), mrpt::poses::CPose3DPDFGaussian::saveToTextFile(), mrpt::poses::CPointPDFSOG::saveToTextFile(), mrpt::poses::CPosePDFSOG::saveToTextFile(), mrpt::maps::CBeaconMap::saveToTextFile(), mrpt::maps::CLandmarksMap::saveToTextFile(), mrpt::vision::CMatchedFeatureList::saveToTextFile(), mrpt::math::CSparseMatrix::saveToTextFile_sparse(), mrpt::system::vectorToTextFile(), and XMLNode::writeToFile().

◆ 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 606 of file os.cpp.

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

Referenced by run_rnav_test().

◆ 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 255 of file os.cpp.

Referenced by mrpt::maps::CGasConcentrationGridMap2D::build_Gaussian_Wind_Grid(), mrpt::system::copyFile(), IoInterfaceFile::create(), xsens::Cmt1f::create(), doesFileExist(), mrpt::vision::CFeatureExtraction::extractFeaturesSIFT(), mrpt::system::os::fopen(), mrpt::maps::CLandmarksMap::fuseWith(), mrpt::hmtslam::CHMTSLAM::generateLogFiles(), mrpt::system::getMemoryUsage(), mrpt::vision::CFeatureExtraction::internal_computeSiftDescriptors(), 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::vision::saveQTableToFile(), 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::CPose3DPDFParticles::saveToTextFile(), mrpt::poses::CPosePDFGaussian::saveToTextFile(), mrpt::poses::CPose3DQuatPDFGaussianInf::saveToTextFile(), mrpt::poses::CPose3DQuatPDFGaussian::saveToTextFile(), mrpt::poses::CPosePDFGaussianInf::saveToTextFile(), mrpt::poses::CPose3DPDFSOG::saveToTextFile(), mrpt::poses::CPose3DPDFGaussianInf::saveToTextFile(), mrpt::poses::CPose3DPDFGaussian::saveToTextFile(), mrpt::poses::CPointPDFSOG::saveToTextFile(), mrpt::poses::CPosePDFSOG::saveToTextFile(), mrpt::maps::CBeaconMap::saveToTextFile(), mrpt::maps::CLandmarksMap::saveToTextFile(), mrpt::vision::CMatchedFeatureList::saveToTextFile(), mrpt::math::CSparseMatrix::saveToTextFile_sparse(), mrpt::system::vectorFromTextFile(), mrpt::system::vectorToTextFile(), UsbInterface::writeData(), SerialInterface::writeData(), xsens::Cmt1s::writeData(), and xfopen().

◆ 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 247 of file os.cpp.

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

◆ fprintf()

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

An OS-independent version of fprintf.

Definition at line 406 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::vision::CFeatureExtraction::internal_computeSiftDescriptors(), 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::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::vision::saveQTableToFile(), 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::CPose3DPDFParticles::saveToTextFile(), mrpt::poses::CPosePDFGaussian::saveToTextFile(), mrpt::poses::CPose3DQuatPDFGaussianInf::saveToTextFile(), mrpt::poses::CPose3DQuatPDFGaussian::saveToTextFile(), mrpt::poses::CPosePDFGaussianInf::saveToTextFile(), mrpt::poses::CPose3DPDFSOG::saveToTextFile(), mrpt::poses::CPose3DPDFGaussianInf::saveToTextFile(), mrpt::poses::CPose3DPDFGaussian::saveToTextFile(), mrpt::poses::CPointPDFSOG::saveToTextFile(), mrpt::poses::CPosePDFSOG::saveToTextFile(), mrpt::maps::CBeaconMap::saveToTextFile(), mrpt::maps::CLandmarksMap::saveToTextFile(), mrpt::vision::CMatchedFeatureList::saveToTextFile(), mrpt::math::CSparseMatrix::saveToTextFile_sparse(), mrpt::system::setConsoleColor(), mrpt::system::vectorToTextFile(), write_ascii_item(), write_scalar_type(), and XMLNode::writeToFile().

◆ 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 370 of file os.cpp.

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

◆ 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 536 of file os.cpp.

References sLicenseTextF.

Referenced by CAboutBoxBase::license().

◆ 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 390 of file os.cpp.

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

◆ 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 576 of file os.cpp.

References winerror2str().

Referenced by mrpt::vision::CFeatureExtraction::extractFeaturesSIFT(), and mrpt::vision::CFeatureExtraction::internal_computeSiftDescriptors().

◆ 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 356 of file os.cpp.

References MRPT_UNUSED_PARAM.

Referenced by rp::standalone::rplidar::RPlidarDriverSerialImpl::_cacheCapsuledScanData(), rp::standalone::rplidar::RPlidarDriverSerialImpl::_cacheScanData(), bit_cast(), mrpt::vision::bundle_adj_full(), mrpt::io::CMemoryStream::CMemoryStream(), mrpt::vision::computeMultiOrientations(), mrpt::vision::computeMultiResolutionDescriptors(), 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(), mrpt::img::CImage::cross_correlation(), XMLNode::deepCopy(), xsens::IntList::deserialize(), mrpt::hwdrivers::CHokuyoURG::displaySensorInfo(), mrpt::comms::net::DNS_resolve_async(), KmTree::DoKMeansStep(), mrpt::hmtslam::CHierarchicalMHMap::dumpAsXMLfile(), mrpt::img::CImage::extract_patch(), 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(), mrpt::hwdrivers::CImageGrabber_FlyCapture2::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::gui::IplImage2wxImage(), 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::img::CImage::loadFromMemoryBuffer(), mrpt::img::CImage::loadFromStreamAsJPEG(), xsens::Message::loadFromString(), XMLNode::maybeAddTxT(), xsens::Message::Message(), mrpt::gui::MRPTImage2wxBitmap(), mrpt::gui::MRPTImage2wxImage(), xsens::Message::operator=(), mrpt::graphslam::optimize_graph_spa_levmarq(), 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::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(), mrpt::img::CImage::scaleHalf(), mrpt::img::CImage::scaleHalfSmooth(), 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(), mrpt::img::CImage::update_patch(), xsens::Cmt2s::waitForMessage(), mrpt::io::CMemoryStream::Write(), mrpt::serialization::CArchiveStreamBase< std::vector< uint8_t > >::write(), and xsens::Cmt2s::writeMessage().

◆ 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 152 of file os.cpp.

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

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

◆ MRPT_getVersion()

string mrpt::system::MRPT_getVersion ( )

Returns a string describing the MRPT version.

Definition at line 185 of file os.cpp.

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

◆ pause()

◆ 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 480 of file os.cpp.

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

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

◆ 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 189 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(), cvFindChessboardCorners3(), mrpt::system::deleteFiles(), mrpt::nav::CAbstractPTGBasedReactive::enableLogFile(), 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().

◆ strcat()

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

◆ 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 110 of file os.cpp.

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

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

◆ 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 228 of file os.cpp.

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

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

◆ 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 212 of file os.cpp.

References MRPT_UNUSED_PARAM.

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




Page generated by Doxygen 1.8.14 for MRPT 1.9.9 Git: 7d5e6d718 Fri Aug 24 01:51:28 2018 +0200 at lun nov 2 08:35:50 CET 2020