|
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...
|
|