class indexed_accessor_range_base
Declaration
template <typename DerivedT,
typename BaseT,
typename T,
typename PointerT = T*,
typename ReferenceT = T&>
class indexed_accessor_range_base { /* full declaration omitted */ };
Description
The class represents the base of a range of indexed_accessor_iterators. It provides support for many different range functionalities, e.g. drop_front/slice/etc.. Derived range classes must implement the following static methods: * ReferenceT dereference_iterator(const BaseT &base , ptrdiff_t index) - Dereference an iterator pointing to the base object at the given index. * BaseT offset_base(const BaseT &base , ptrdiff_t index) - Return a new base that is offset from the provide base by 'index' elements.
Declared at: llvm/include/llvm/ADT/STLExtras.h:1148
Templates
- DerivedT
- BaseT
- T
- PointerT = T *
- ReferenceT = T &
Member Variables
- protected BaseT base
- The base that owns the provided range of values.
- protected ptrdiff_t count
- The size from the owning range.
Method Overview
- public ReferenceT back() const
- public llvm::detail::indexed_accessor_range_base::iterator begin() const
- public DerivedT drop_back(size_t n = 1) const
- public DerivedT drop_front(size_t n = 1) const
- public bool empty() const
- public llvm::detail::indexed_accessor_range_base::iterator end() const
- public ReferenceT front() const
- public const BaseT & getBase() const
- public indexed_accessor_range_base<DerivedT, BaseT, T, PointerT, ReferenceT>(const iterator_range<llvm::detail::indexed_accessor_range_base::iterator> & range)
- public indexed_accessor_range_base<DerivedT, BaseT, T, PointerT, ReferenceT>(BaseT base, ptrdiff_t count)
- public indexed_accessor_range_base<DerivedT, BaseT, T, PointerT, ReferenceT>(llvm::detail::indexed_accessor_range_base::iterator begin, llvm::detail::indexed_accessor_range_base::iterator end)
- protected indexed_accessor_range_base<DerivedT, BaseT, T, PointerT, ReferenceT>(indexed_accessor_range_base<DerivedT, BaseT, T, PointerT, ReferenceT> &&)
- protected indexed_accessor_range_base<DerivedT, BaseT, T, PointerT, ReferenceT>(const indexed_accessor_range_base<DerivedT, BaseT, T, PointerT, ReferenceT> &)
- private static BaseT offset_base(const BaseT & base, size_t n)
- public template <typename RangeT, typename = std::enable_if_t<std::is_constructible<RangeT, iterator_range<iterator>>::value>>RangeT operator type-parameter-1-0() const
- public size_t size() const
- public DerivedT slice(size_t n, size_t m) const
- public DerivedT take_back(size_t n = 1) const
- public DerivedT take_front(size_t n = 1) const
Methods
¶ReferenceT back() const
ReferenceT back() const
Declared at: llvm/include/llvm/ADT/STLExtras.h:1188
¶llvm::detail::indexed_accessor_range_base::
iterator
begin() const
llvm::detail::indexed_accessor_range_base::
iterator
begin() const
Declared at: llvm/include/llvm/ADT/STLExtras.h:1178
¶DerivedT drop_back(size_t n = 1) const
DerivedT drop_back(size_t n = 1) const
Description
Drop the last n elements.
Declared at: llvm/include/llvm/ADT/STLExtras.h:1223
Parameters
- size_t n = 1
¶DerivedT drop_front(size_t n = 1) const
DerivedT drop_front(size_t n = 1) const
Description
Drop the first n elements.
Declared at: llvm/include/llvm/ADT/STLExtras.h:1218
Parameters
- size_t n = 1
¶bool empty() const
bool empty() const
Description
Return if the range is empty.
Declared at: llvm/include/llvm/ADT/STLExtras.h:1209
¶llvm::detail::indexed_accessor_range_base::
iterator
end() const
llvm::detail::indexed_accessor_range_base::
iterator
end() const
Declared at: llvm/include/llvm/ADT/STLExtras.h:1179
¶ReferenceT front() const
ReferenceT front() const
Declared at: llvm/include/llvm/ADT/STLExtras.h:1184
¶const BaseT& getBase() const
const BaseT& getBase() const
Description
Returns the base of this range.
Declared at: llvm/include/llvm/ADT/STLExtras.h:1248
¶indexed_accessor_range_base<DerivedT,
BaseT,
T,
PointerT,
ReferenceT>(
const iterator_range<
llvm::detail::
indexed_accessor_range_base::
iterator>& range)
indexed_accessor_range_base<DerivedT,
BaseT,
T,
PointerT,
ReferenceT>(
const iterator_range<
llvm::detail::
indexed_accessor_range_base::
iterator>& range)
Declared at: llvm/include/llvm/ADT/STLExtras.h:1173
Parameters
- const iterator_range< llvm::detail::indexed_accessor_range_base:: iterator>& range
¶indexed_accessor_range_base<DerivedT,
BaseT,
T,
PointerT,
ReferenceT>(
BaseT base,
ptrdiff_t count)
indexed_accessor_range_base<DerivedT,
BaseT,
T,
PointerT,
ReferenceT>(
BaseT base,
ptrdiff_t count)
Declared at: llvm/include/llvm/ADT/STLExtras.h:1175
Parameters
- BaseT base
- ptrdiff_t count
¶indexed_accessor_range_base<DerivedT,
BaseT,
T,
PointerT,
ReferenceT>(
llvm::detail::indexed_accessor_range_base::
iterator begin,
llvm::detail::indexed_accessor_range_base::
iterator end)
indexed_accessor_range_base<DerivedT,
BaseT,
T,
PointerT,
ReferenceT>(
llvm::detail::indexed_accessor_range_base::
iterator begin,
llvm::detail::indexed_accessor_range_base::
iterator end)
Declared at: llvm/include/llvm/ADT/STLExtras.h:1170
Parameters
- llvm::detail::indexed_accessor_range_base:: iterator begin
- llvm::detail::indexed_accessor_range_base:: iterator end
¶indexed_accessor_range_base<DerivedT,
BaseT,
T,
PointerT,
ReferenceT>(
indexed_accessor_range_base<DerivedT,
BaseT,
T,
PointerT,
ReferenceT>&&)
indexed_accessor_range_base<DerivedT,
BaseT,
T,
PointerT,
ReferenceT>(
indexed_accessor_range_base<DerivedT,
BaseT,
T,
PointerT,
ReferenceT>&&)
Declared at: llvm/include/llvm/ADT/STLExtras.h:1258
Parameters
- indexed_accessor_range_base<DerivedT, BaseT, T, PointerT, ReferenceT>&&
¶indexed_accessor_range_base<DerivedT,
BaseT,
T,
PointerT,
ReferenceT>(
const indexed_accessor_range_base<
DerivedT,
BaseT,
T,
PointerT,
ReferenceT>&)
indexed_accessor_range_base<DerivedT,
BaseT,
T,
PointerT,
ReferenceT>(
const indexed_accessor_range_base<
DerivedT,
BaseT,
T,
PointerT,
ReferenceT>&)
Declared at: llvm/include/llvm/ADT/STLExtras.h:1257
Parameters
- const indexed_accessor_range_base<DerivedT, BaseT, T, PointerT, ReferenceT>&
¶static BaseT offset_base(const BaseT& base,
size_t n)
static BaseT offset_base(const BaseT& base,
size_t n)
Description
Offset the given base by the given amount.
Declared at: llvm/include/llvm/ADT/STLExtras.h:1252
Parameters
- const BaseT& base
- size_t n
¶template <
typename RangeT,
typename =
std::enable_if_t<std::is_constructible<
RangeT,
iterator_range<iterator>>::value>>
RangeT operator type - parameter - 1 - 0() const
template <
typename RangeT,
typename =
std::enable_if_t<std::is_constructible<
RangeT,
iterator_range<iterator>>::value>>
RangeT operator type - parameter - 1 - 0() const
Description
Allow conversion to any type accepting an iterator_range.
Declared at: llvm/include/llvm/ADT/STLExtras.h:1243
Templates
- RangeT
- = std::enable_if_t<std::is_constructible<RangeT, iterator_range<iterator>>::value>
¶size_t size() const
size_t size() const
Description
Return the size of this range.
Declared at: llvm/include/llvm/ADT/STLExtras.h:1206
¶DerivedT slice(size_t n, size_t m) const
DerivedT slice(size_t n, size_t m) const
Description
Drop the first N elements, and keep M elements.
Declared at: llvm/include/llvm/ADT/STLExtras.h:1212
Parameters
- size_t n
- size_t m
¶DerivedT take_back(size_t n = 1) const
DerivedT take_back(size_t n = 1) const
Description
Take the last n elements.
Declared at: llvm/include/llvm/ADT/STLExtras.h:1235
Parameters
- size_t n = 1
¶DerivedT take_front(size_t n = 1) const
DerivedT take_front(size_t n = 1) const
Description
Take the first n elements.
Declared at: llvm/include/llvm/ADT/STLExtras.h:1229
Parameters
- size_t n = 1