Skip to content

Releases: DNKpp/gimo

v0.3.1

24 May 13:47

Choose a tag to compare

Fix

  • correct certain assertion conditions, so that gimo can correctly compiled in debug-mode

CI/CD

  • upgrade codecov/codecov-action to v6

Full Changelog: v0.3.0...v0.3.1

v0.3.0

24 May 12:17

Choose a tag to compare

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

13 Mar 17:57

Choose a tag to compare

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

23 Dec 12:22

Choose a tag to compare

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 (for expected-like types).

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::optional and std::expected.
  • Smart Pointers: std::unique_ptr and std::shared_ptr.
  • Language Built-ins: Raw pointers (handled as nullables).

Full Changelog: https://github.com/DNKpp/gimo/commits/v0.1.0