|
| template<typename RangeT > |
| using | mlir::detail::ValueOfRange = typename std::remove_reference< decltype(*std::begin(std::declval< RangeT & >()))>::type |
| |
| template<typename... > |
| using | mlir::detail::void_t = void |
| |
| template<template< class... > class Op, class... Args> |
| using | mlir::is_detected = typename detail::detector< void, Op, Args... >::value_t |
| |
| template<typename Callable , typename... Args> |
| using | mlir::detail::is_invocable = decltype(std::declval< Callable & >()(std::declval< Args >()...)) |
| |
| template<typename Callable , typename... Args> |
| using | mlir::is_invocable = is_detected< detail::is_invocable, Callable, Args... > |
| |
|
| template<typename ForwardIterator , typename UnaryFunctor , typename NullaryFunctor , typename = typename std::enable_if< !std::is_constructible<StringRef, UnaryFunctor>::value && !std::is_constructible<StringRef, NullaryFunctor>::value>::type> |
| void | mlir::interleave (ForwardIterator begin, ForwardIterator end, UnaryFunctor each_fn, NullaryFunctor between_fn) |
| |
| template<typename Container , typename UnaryFunctor , typename NullaryFunctor , typename = typename std::enable_if< !std::is_constructible<StringRef, UnaryFunctor>::value && !std::is_constructible<StringRef, NullaryFunctor>::value>::type> |
| void | mlir::interleave (const Container &c, UnaryFunctor each_fn, NullaryFunctor between_fn) |
| |
| template<typename Container , typename UnaryFunctor , typename raw_ostream , typename T = detail::ValueOfRange<Container>> |
| void | mlir::interleave (const Container &c, raw_ostream &os, UnaryFunctor each_fn, const StringRef &separator) |
| | Overload of interleave for the common case of string separator. More...
|
| |
| template<typename Container , typename raw_ostream , typename T = detail::ValueOfRange<Container>> |
| void | mlir::interleave (const Container &c, raw_ostream &os, const StringRef &separator) |
| |
| template<typename Container , typename UnaryFunctor , typename raw_ostream , typename T = detail::ValueOfRange<Container>> |
| void | mlir::interleaveComma (const Container &c, raw_ostream &os, UnaryFunctor each_fn) |
| |
| template<typename Container , typename raw_ostream , typename T = detail::ValueOfRange<Container>> |
| void | mlir::interleaveComma (const Container &c, raw_ostream &os) |
| |
| template<typename ContainerTy > |
| auto | mlir::make_second_range (ContainerTy &&c) |
| | Given a container of pairs, return a range over the second elements. More...
|
| |
| template<typename ContainerTy > |
| bool | mlir::has_single_element (ContainerTy &&c) |
| | Returns true of the given range only contains a single element. More...
|
| |