My Project
Classes | Namespaces | Functions
Functional.h File Reference
#include "mlir/Support/LLVM.h"
#include "llvm/ADT/STLExtras.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/Support/Casting.h"
Include dependency graph for Functional.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  mlir::functional::ScopeGuard
 Simple ScopeGuard. More...
 

Namespaces

 mlir
 
 mlir::functional
 

Functions

template<typename Fn , typename IterType >
auto mlir::functional::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 mlir::functional::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 mlir::functional::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 mlir::functional::apply (Fn fun, IterType begin, IterType end)
 Apply with iterators. More...
 
template<typename Fn , typename ContainerType >
void mlir::functional::apply (Fn fun, ContainerType input)
 Apply with templated container. More...
 
template<typename Fn , typename ContainerType1 , typename ContainerType2 >
void mlir::functional::zipApply (Fn fun, ContainerType1 input1, ContainerType2 input2)
 
template<typename T , typename ToType = T>
std::function< ToType *(T *)> mlir::functional::makePtrDynCaster ()