Indicators is a C++ library for creating visual progress indicators. It provides a set of classes to display progress in the terminal, supporting various progress bar styles like standard, indeterminate, block, and multi-progress. The library is header-only, making it easy to integrate into any project. It aims to provide a simple and effective way to communicate the status of long-running tasks.
Supports thread-safe progress bars and spinners, making it suitable for multi-threaded applications. It is header-only, simplifying integration. Provides both a standard and a single-header version for flexibility. Offers clear and customizable options for display. Supports time elapsed and remaining, inspired by tqdm.
- Multi-Progress Support: Manage multiple progress bars simultaneously for complex tasks.
- Indeterminate Progress: Displays a spinning indicator for tasks with unknown total progress.
- Block Progress Bars: Implements block-style bars for a distinct visual appearance.
- Time Display: Shows both elapsed and estimated remaining time for enhanced feedback.
- Customizable Options: Supports various options for bar style, colors, prefixes, and postfixes.
The project is actively maintained with recent commits and a clear issue tracking system. The documentation is comprehensive, offering detailed examples and explanations for each feature. The presence of a demo GIF on the GitHub page suggests a well-tested and visually appealing implementation.
Developers working on command-line applications, scripts, or any C++ project requiring visual feedback on task progress can benefit from Indicators. It helps enhance user experience by providing clear indicators of ongoing operations, especially for long-running processes or asynchronous tasks. It offers a convenient and well-designed alternative to manual progress reporting or complex GUI solutions.
