Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/mihaigalos/containers
Manual C++ implementation of STL containers for devices without one, like AVR/Arduino.
https://github.com/mihaigalos/containers
arduino arduino-libraries arduino-library avr stl stl-containers
Last synced: about 1 month ago
JSON representation
Manual C++ implementation of STL containers for devices without one, like AVR/Arduino.
- Host: GitHub
- URL: https://github.com/mihaigalos/containers
- Owner: mihaigalos
- License: gpl-3.0
- Created: 2020-05-07T21:10:18.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2022-11-09T17:47:42.000Z (about 2 years ago)
- Last Synced: 2023-03-03T21:46:12.086Z (almost 2 years ago)
- Topics: arduino, arduino-libraries, arduino-library, avr, stl, stl-containers
- Language: C++
- Homepage:
- Size: 115 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Containers
![CI](https://github.com/mihaigalos/containers/workflows/CI/badge.svg) [![codecov](https://codecov.io/gh/mihaigalos/containers/branch/master/graph/badge.svg)](https://codecov.io/gh/mihaigalos/containers) [![license](https://img.shields.io/badge/license-GPLv3-brightgreen.svg)](LICENSE) [![LoC](https://tokei.rs/b1/github/mihaigalos/containers)](https://github.com/Aaronepower/tokei)
Simplified manual C++ implementation of STL containers for devices without one, like AVR / Arduino.
This functionality cannot replace the STL. Its purpose is reduced size while still allowing some functionality.
### Build and Test
First, get the sources:
```
git clone https://github.com/mihaigalos/containers.git && cd containers
```#### Baremetal
Building and testing is managed by `bazel` (transparent to the end-user).
```bash
bazel build //...
bazel test //...
```#### Using Docker
```bash
docker run -it --rm -v $(pwd):/src -v /tmp:/tmp/bazel remoteapistesting/bazel-build /bin/bash -c "bazel --output_base=/tmp/bazel test //..."
```Invoking bazel produces a shared object library which the tests use.
To cross compile for i.e. AVR, see `demo/`.