https://github.com/algorithm-visualizer/tracers.cpp
:scroll:Visualization Library for C++
https://github.com/algorithm-visualizer/tracers.cpp
visualization-library
Last synced: 2 months ago
JSON representation
:scroll:Visualization Library for C++
- Host: GitHub
- URL: https://github.com/algorithm-visualizer/tracers.cpp
- Owner: algorithm-visualizer
- Created: 2019-01-15T03:47:20.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2019-06-30T14:35:37.000Z (almost 6 years ago)
- Last Synced: 2025-04-04T18:38:56.378Z (3 months ago)
- Topics: visualization-library
- Language: C++
- Homepage: https://algorithm-visualizer.org/
- Size: 185 KB
- Stars: 23
- Watchers: 4
- Forks: 14
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# tracers.cpp [](https://github.com/algorithm-visualizer/tracers.cpp/releases/latest) [](https://algorithm-visualizer.github.io/tracers.cpp/) [](https://travis-ci.com/algorithm-visualizer/tracers.cpp)
> This repository is part of the project [Algorithm Visualizer](https://github.com/algorithm-visualizer).
`tracers.cpp` is a visualization library for C++.
You can use it on [algorithm-visualizer.org](https://algorithm-visualizer.org/) or locally on your machine.## Prerequisites
- [libcurl](https://curl.haxx.se/libcurl/)
## Installation
1. Download and extract the source code in the [latest release](https://github.com/algorithm-visualizer/tracers.cpp/releases/latest).
2. Change directory to it and run:
```bash
mkdir buildcd build
cmake ..
make install
```## Usage
```cpp
// import visualization libraries {
#include "algorithm-visualizer.h"
// }#include
#include// define tracer variables {
Array2DTracer array2dTracer = Array2DTracer("Grid");
LogTracer logTracer = LogTracer("Console");
// }// define input variables
std::vector messages{
"Visualize",
"your",
"own",
"code",
"here!",
};// highlight each line of messages recursively
void highlight(int line) {
if (line >= messages.size()) return;
std::string message = messages[line];
// visualize {
logTracer.println(message);
array2dTracer.selectRow(line, 0, message.size() - 1);
Tracer::delay();
array2dTracer.deselectRow(line, 0, message.size() - 1);
// }
highlight(line + 1);
}int main() {
// visualize {
Layout::setRoot(VerticalLayout({array2dTracer, logTracer}));
array2dTracer.set(messages);
Tracer::delay();
// }
highlight(0);
return 0;
}
```Check out the [API reference](https://algorithm-visualizer.github.io/tracers.cpp/) for more information.
## Contributing
Check out the [contributing guidelines](https://github.com/algorithm-visualizer/tracers.cpp/blob/master/CONTRIBUTING.md).