Releases: DNKpp/gimo
Releases · DNKpp/gimo
v0.3.1
v0.3.0
This Release brings
- and_forward: Either forwards the contained value to the specified action, or silently terminates the pipeline.
- or_else: This algorithm also accepts actions returning
void, for which it then returns the corresponding null-value.
Full Changelog: v0.2.0...v0.3.0
v0.2.0
This Release brings two new algorithms
- value_or: Either extracts the contained value, or returns the specified alternative.
- value_or_else: Similar to
value_or, but for lazily generating the alternative.
Other Bussiness
- Added a code-coverage workflow
Full Changelog: v0.1.0...v0.2.0
v0.1.0
This is the first release of gimo. It sets up the core framework and provides a set of algorithms that mirror the standard monadic interfaces of std::optional and std::expected.
Algorithms
The following operations can be used as steps in a pipeline:
BasicAlgorithm: Basic algorithm building block.and_then: Standard monadic bind.or_else: For error recovery or fallbacks.transform: Maps the underlying value.transform_error: Maps the error state (forexpected-liketypes).
Utility
applicable_to: Concept for constraining a nullable on the specified algorithm.processable_by: Concept for constraining a nullable on the specified pipeline.Pipeline: Generic pipeline type.
Extensions
I've included out-of-the-box support for several common types via gimo_ext:
- Standard Library:
std::optionalandstd::expected. - Smart Pointers:
std::unique_ptrandstd::shared_ptr. - Language Built-ins: Raw pointers (handled as nullables).
Full Changelog: https://github.com/DNKpp/gimo/commits/v0.1.0