My Project
|
Classes | |
struct | ScopeGuard |
Simple ScopeGuard. More... | |
Functions | |
template<typename Fn , typename IterType > | |
auto | map (Fn fun, IterType begin, IterType end) -> SmallVector< typename std::result_of< Fn(decltype(*begin))>::type, 8 > |
Map with iterators. More... | |
template<typename Fn , typename ContainerType > | |
auto | map (Fn fun, ContainerType input) -> decltype(map(fun, std::begin(input), std::end(input))) |
Map with templated container. More... | |
template<typename Fn , typename ContainerType1 , typename ContainerType2 > | |
auto | zipMap (Fn fun, ContainerType1 input1, ContainerType2 input2) -> SmallVector< typename std::result_of< Fn(decltype(*input1.begin()), decltype(*input2.begin()))>::type, 8 > |
template<typename Fn , typename IterType > | |
void | apply (Fn fun, IterType begin, IterType end) |
Apply with iterators. More... | |
template<typename Fn , typename ContainerType > | |
void | apply (Fn fun, ContainerType input) |
Apply with templated container. More... | |
template<typename Fn , typename ContainerType1 , typename ContainerType2 > | |
void | zipApply (Fn fun, ContainerType1 input1, ContainerType2 input2) |
template<typename T , typename ToType = T> | |
std::function< ToType *(T *)> | makePtrDynCaster () |
void mlir::functional::apply | ( | Fn | fun, |
IterType | begin, | ||
IterType | end | ||
) |
Apply with iterators.
void mlir::functional::apply | ( | Fn | fun, |
ContainerType | input | ||
) |
Apply with templated container.
|
inline |
Unwraps a pointer type to another type (possibly the same). Used in particular to allow easier compositions of Operation::operand_range types.
auto mlir::functional::map | ( | Fn | fun, |
IterType | begin, | ||
IterType | end | ||
) | -> SmallVector<typename std::result_of<Fn(decltype(*begin))>::type, 8> |
Map with iterators.
auto mlir::functional::map | ( | Fn | fun, |
ContainerType | input | ||
) | -> decltype(map(fun, std::begin(input), std::end(input))) |
Map with templated container.
void mlir::functional::zipApply | ( | Fn | fun, |
ContainerType1 | input1, | ||
ContainerType2 | input2 | ||
) |
Zip apply with 2 templated container, iterates to the min of the sizes of the 2 containers. TODO(ntv): make variadic when needed.
auto mlir::functional::zipMap | ( | Fn | fun, |
ContainerType1 | input1, | ||
ContainerType2 | input2 | ||
) | -> SmallVector<typename std::result_of<Fn(decltype(*input1.begin()), decltype(*input2.begin()))>::type, 8> |
Zip map with 2 templated container, iterates to the min of the sizes of the 2 containers. TODO(ntv): make variadic when needed.