Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/openbmc/stdplus
https://github.com/openbmc/stdplus
Last synced: about 10 hours ago
JSON representation
- Host: GitHub
- URL: https://github.com/openbmc/stdplus
- Owner: openbmc
- License: apache-2.0
- Created: 2018-10-18T15:31:43.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2024-08-21T20:10:36.000Z (3 months ago)
- Last Synced: 2024-08-21T22:27:41.736Z (3 months ago)
- Language: C++
- Size: 1.27 MB
- Stars: 5
- Watchers: 6
- Forks: 2
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# stdplus
stdplus is a c++ project containing commonly used classes and functions for the
Linux platform. Note the goals of this project are to implement only the minimum
set of features needed by the OpenBMC project and other users. You may find the
included set of functions currently quite sparse.This project provides the following primitives:
- A [movable](src/stdplus/handle/managed.hpp) and
[copyable](src/stdplus/handle/copyable.hpp) RAII helper wrapper which is used
for wrapping c-native types that have custom destruction or copy reference
logic.
- [Functions](src/stdplus/signal.hpp) for trivially configuring signals without
having to do the normal signal set operations from libc
- [C-Style Error Handler](src/stdplus/util/cexec.hpp) that wrap c-style
functions which return errnos and negative error values into functions that
throw c++ exceptions.
- [String Utilities](src/stdplus/util/string.hpp) that focus on providing
helpful wrappers like efficient string append and concatenation.## Dependencies
Test cases require google{test,mock}, valgrind, and lcov. It also requires the
Meson Build System which can be installed following the instructions at
[mesonbuild.com](https://mesonbuild.com/Getting-meson.html).## Building
For a standard release build, you want something like:
```sh
meson setup -Dexamples=false -Dtests=disabled builddir
ninja -C builddir
ninja -C builddir install
```For a test / debug build, a typical configuration is
```sh
meson setup -Dtests=enabled builddir
meson test -C builddir
```