#include <atria/xform/reductor.hpp>
#include <atria/xform/meta.hpp>
#include <atria/xform/detail/tuple_utils.hpp>
#include <atria/meta/value_type.hpp>
#include <ableton/build_system/Warnings.hpp>
#include <boost/range/iterator_range.hpp>
#include <boost/iterator/iterator_facade.hpp>
#include <boost/optional.hpp>
#include <boost/mpl/eval_if.hpp>
#include <vector>
#include <iostream>
Go to the source code of this file.
|
| atria |
| C++ amazing templates and reusable implementations awesomeness.
|
|
| atria::xform |
| Efficient and flexible C++ implementation of transducers.
|
|
|
template<typename ValueT = detail::deduce_value_type, typename XformT , typename... RangeTs> |
auto | sequence (XformT &&xform, const RangeTs &...ranges) -> sequence_range< typename boost::mpl::eval_if< std::is_same< ValueT, detail::deduce_value_type >, result_of< XformT, meta::value_t< RangeTs >... >, meta::identity< ValueT > >::type, estd::decay_t< XformT >, estd::decay_t< RangeTs >... > |
| Factory for sequence_range values producing an iterable range out of a transducer, in the spirit of clojure.core/sequence$2. More...
|
|