1#ifndef LIVE_CELLS_MAYBE_CELL_HPP
2#define LIVE_CELLS_MAYBE_CELL_HPP
10#include "mutable_computed.hpp"
46 return maybe_wrap(cell);
69 return maybe_wrap(cell);
72 cell = value.unwrap();
105 inline auto operator|(
const Cell auto &
cell,
const maybe_operator &) {
109 inline auto operator|(
const MutableCell
auto &cell,
const maybe_operator &) {
110 return maybe_cell(cell);
Dynamically typed Cell container.
Definition observable.hpp:133
key_ref key() const
Get the key that uniquely identifies the underlying Cell.
Definition observable.hpp:182
A computed cell which determines its argument cells at runtime.
Definition dynamic_compute_cell.hpp:153
static key_ref create(Args... args)
Create a key_ref holding a key of type T.
Definition keys.hpp:87
Container holding a cell value or an exception that occurred while computing a value.
Definition maybe.hpp:17
Base class for a key distinguished from other keys by one or more values.
Definition keys.hpp:147
Defines the cell protocol.
Definition types.hpp:128
Concept defining a Cell that can have its value set.
Definition types.hpp:155
Definition boolean.hpp:26
constant_cell< T > value(const T &value)
Definition constant_cell.hpp:132
auto computed(F &&compute)
Create a cell with a value that is a function of one or more argument cells.
Definition computed.hpp:45
auto mutable_computed(F &&fn, R &&reverse)
Create a mutable computed cell with dynamically determined argument cells.
Definition mutable_computed.hpp:63
auto maybe_cell(const Cell auto &cell)
Create a cell that wraps the value of a cell in a maybe.
Definition maybe_cell.hpp:44
Key identifying cells created with maybe_cell.
Definition maybe_cell.hpp:18
Key identifying cells created with the mutable cell overload of maybe_cell.
Definition maybe_cell.hpp:27
Cell operator that creates a maybe cell as if by live_cells::maybe_cell.
Definition maybe_cell.hpp:85