xformed.hpp File Reference
#include <atria/funken/in.hpp>
#include <atria/funken/inout.hpp>
#include <atria/funken/detail/xform_signals.hpp>
#include <atria/xform/transducer/map.hpp>
Go to the source code of this file.
Namespaces | |
atria | |
C++ amazing templates and reusable implementations awesomeness. | |
atria::funken | |
Provides a experimental library for writing epocal and functional data-models. | |
Functions | |
template<typename Xform , typename... InTs> | |
auto | xformed (Xform &&xform, InTs &&...ins) -> estd::enable_if_t< meta::all(In_value< InTs >()...), detail::xformed_input< typename decltype( detail::make_xform_down_signal( xform, detail::access::signal(ins)...) )::element_type > > |
Returns a new in formed by applying a transducer xform on the successive values of the in. More... | |
template<typename Xform , typename Xform2 , typename... InoutTs> | |
auto | xformed (Xform &&xform, Xform2 &&xform2, InoutTs &&...ins) -> estd::enable_if_t< (!In_value< Xform2 >()&&meta::all(Inout_value< InoutTs >()...)), detail::xformed_inoutput< typename decltype( detail::make_xform_up_down_signal( xform, xform2, detail::access::signal(ins)...) )::element_type > > |
template<typename KeyT > | |
auto | xat (KeyT &&key) -> xform::transducer_impl< detail::at_rf_gen, estd::decay_t< KeyT > > |
Transducer that projects the key key from containers with a standard-style at() method. More... | |
template<typename KeyT > | |
auto | uat (KeyT &&key) -> detail::at_updater< estd::decay_t< KeyT > > |
Update function that updates the key in a container with a standard-style at() method. More... | |
template<typename KeyT , typename... Ins> | |
auto | atted (KeyT &&k, Ins &&...ins) -> estd::enable_if_t< meta::all(In_value< Ins >()&&!Out_value< Ins >()...), decltype(xformed(xat(k), ins...)) > |
Returns xformed version of the ins using xat . More... | |
template<typename AttrPtrT > | |
auto | get_attr (AttrPtrT p) -> detail::get_attr_fn< AttrPtrT > |
Returns a unary function that dereferences the given pointer to member to the applied objects. More... | |
template<typename AttrPtrT > | |
auto | set_attr (AttrPtrT p) -> detail::set_attr_fn< AttrPtrT > |
Returns a update function that uses the given pointer to member. More... | |
template<typename AttrPtrT , typename... Ins> | |
auto | attred (AttrPtrT attr, Ins &&...ins) -> estd::enable_if_t< meta::all(In_value< Ins >()&&!Out_value< Ins >()...), decltype(xformed(xform::map(get_attr(attr)), ins...)) > |
Given a pointer to member, returns a xformed version of the ins accessed through the member. More... | |