14#ifndef LLVM_ADT_SMALLVECTOREXTRAS_H
15#define LLVM_ADT_SMALLVECTOREXTRAS_H
23template <
unsigned Size,
class ContainerTy,
class PredicateFn>
26 std::forward<PredicateFn>(Pred)));
30template <
class ContainerTy,
class PredicateFn>
33 std::forward<PredicateFn>(Pred)));
37template <
unsigned Size,
class ContainerTy,
class FuncTy>
39 return to_vector<Size>(
40 map_range(std::forward<ContainerTy>(
C), std::forward<FuncTy>(
F)));
44template <
class ContainerTy,
class FuncTy>
47 map_range(std::forward<ContainerTy>(
C), std::forward<FuncTy>(
F)));
This file defines the SmallVector class.
@ C
The default llvm calling convention, compatible with C.
This is an optimization pass for GlobalISel generic memory operations.
auto map_to_vector(ContainerTy &&C, FuncTy &&F)
Map a range to a SmallVector with element types deduced from the mapping.
auto map_range(ContainerTy &&C, FuncTy F)
SmallVector< ValueTypeFromRangeType< R >, Size > to_vector(R &&Range)
Given a range of type R, iterate the entire range and return a SmallVector with elements of the vecto...
iterator_range< filter_iterator< detail::IterOfRange< RangeT >, PredicateT > > make_filter_range(RangeT &&Range, PredicateT Pred)
Convenience function that takes a range of elements and a predicate, and return a new filter_iterator...
auto filter_to_vector(ContainerTy &&C, PredicateFn &&Pred)
Filter a range to a SmallVector with the element types deduced.