timertt (Timer Thread Template) is a small, template-based, header-only C++11 library. It implements timer threads: threads that handle timers.
timertt was developed as part of the SObjectizer project, but can be used as a standalone library.
timertt is distributed under the 3-clause BSD license. See LICENSE.
timertt is a header-only library. Add include to your compiler include path
and include the public header:
#include <timertt/all.hpp>CMake users can consume timertt directly from a source checkout:
add_subdirectory(path/to/timertt)
target_link_libraries(your_target PRIVATE timertt::timertt)An installed package can be consumed in the usual CMake package mode:
find_package(timertt CONFIG REQUIRED)
target_link_libraries(your_target PRIVATE timertt::timertt)Configure and build tests and samples:
cmake -S . -B build-cmake -DCMAKE_BUILD_TYPE=Release
cmake --build build-cmake --config Release --parallelCMAKE_BUILD_TYPE is used by single-configuration generators such as Ninja and
Unix Makefiles. Multi-configuration generators such as Visual Studio use the
--config Release argument during build, test, and install steps.
Run the test suite:
ctest --test-dir build-cmake -C Release --output-on-failureBenchmarks are optional and can be enabled explicitly:
cmake -S . -B build-cmake -DCMAKE_BUILD_TYPE=Release -DTIMERTT_BUILD_BENCHMARKS=ON
cmake --build build-cmake --config Release --target timertt_benchmarks --parallelInstall headers and CMake package files:
cmake --install build-cmake --config Release --prefix <install-prefix>API reference documentation can be built with Doxygen -- just run doxygen
command and generated documentation will be stored in _generated_docs/html.
Main documentation for timertt is on Wiki.
Use the Issues section for bug reports, proposals, discussions, and related feedback.