[mrpt-core]
Overview
Core components for MRPT.
Library mrpt-core
This library is part of MRPT and can be installed in Debian-based systems with:
sudo apt install libmrpt-core-dev
Read also how to import MRPT into your CMake scripts.
mrpt-core provides the foundation utilities used throughout MRPT:
Exceptions and assertions :
MRPT_START/MRPT_END,ASSERT_*macros,mrpt::exception_to_str().Logging : mrpt::system::COutputLogger — flexible leveled logging (DEBUG, INFO, WARN, ERROR) with optional callbacks and console color output.
Time : mrpt::Clock — a high-resolution monotonic clock; mrpt::system::TTimeStamp for timestamps; mrpt::system::CTimeLogger for named profiling.
String utilities :
mrpt::format()(printf-style intostd::string),mrpt::system::trim(), tokenizers, etc.Filesystem helpers :
mrpt::system::fileExists(),mrpt::system::createDirectory(),mrpt::system::extractFileExtension(), etc.Smart containers :
mrpt::containers::circular_buffer,mrpt::containers::bimap,mrpt::containers::ts_hash_map(thread-safe).Thread utilities :
mrpt::lockHelper(),mrpt::WorkerThreadsPool.Serialization base :
mrpt::serialization::CSerializable— base class for all serializable objects; versionedserializeTo/serializeFrominterface.RTTI :
mrpt::rtti::CObject— lightweight run-time type info for MRPT class hierarchies;CLASS_ID(),IS_CLASS(),IS_DERIVED()macros.