|
| template<class T > |
| auto | Kazv::getIn (T &&item) |
| |
| template<class ImmerT , class K , class ... Keys> |
| auto | Kazv::getIn (ImmerT &&container, K &&key, Keys &&...keys) |
| |
| template<class T > |
| auto | Kazv::setIn (T, T newVal) |
| |
| template<class ImmerT , class K > |
| auto | Kazv::setIn (ImmerT container, std::decay_t< decltype(getIn(std::declval< ImmerT >(), std::declval< K >()))> newVal, K &&key) -> std::decay_t< ImmerT > |
| |
| template<class ImmerT , class K , class ... Keys> |
| auto | Kazv::setIn (ImmerT container, std::decay_t< decltype(getIn(std::declval< ImmerT >(), std::declval< K >(), std::declval< Keys >()...))> newVal, K &&key, Keys &&...keys) -> std::decay_t< ImmerT > |
| |
| template<class T , class Func > |
| auto | Kazv::updateIn (T oldVal, Func func) -> T |
| |
| template<class ImmerT , class Func , class ... Keys> |
| auto | Kazv::updateIn (ImmerT container, Func func, Keys &&...keys) -> ImmerT |
| |
| template<class ImmerT , class Func , class ValueT = typename ImmerT::value_type> |
| auto | Kazv::withBox (ImmerT &box, Func &&func) -> std::decay_t< std::invoke_result_t< Func &&, ValueT & > > |
| | Do something with the box, updating its value, then return the return value of the function.
|
| |
| template<class ImmerT , class Key , class Func , class BoxT = typename ImmerT::mapped_type, class ValueT = typename BoxT::value_type> |
| auto | Kazv::withMapBox (ImmerT &map, Key &&k, Func &&func) -> std::decay_t< std::invoke_result_t< Func &&, ValueT & > > |
| |