18#ifndef WPIUTIL_WPI_ITERATOR_RANGE_H
19#define WPIUTIL_WPI_ITERATOR_RANGE_H
29template <
typename IteratorT>
31 IteratorT begin_iterator, end_iterator;
36 template <
typename Container>
39 : begin_iterator(
c.
begin()), end_iterator(
c.
end()) {}
41 : begin_iterator(
std::move(begin_iterator)),
42 end_iterator(
std::move(end_iterator)) {}
44 IteratorT
begin()
const {
return begin_iterator; }
45 IteratorT
end()
const {
return end_iterator; }
46 bool empty()
const {
return begin_iterator == end_iterator; }
A range adaptor for a pair of iterators.
Definition: iterator_range.h:30
iterator_range(Container &&c)
Definition: iterator_range.h:37
IteratorT end() const
Definition: iterator_range.h:45
iterator_range(IteratorT begin_iterator, IteratorT end_iterator)
Definition: iterator_range.h:40
bool empty() const
Definition: iterator_range.h:46
IteratorT begin() const
Definition: iterator_range.h:44
const Scalar & y
Definition: MathFunctions.h:821
Definition: BFloat16.h:88
static constexpr const velocity::meters_per_second_t c(299792458.0)
Speed of light in vacuum.
Definition: AprilTagFieldLayout.h:18
iterator_range< T > make_range(T x, T y)
Convenience function for iterating over sub-ranges.
Definition: iterator_range.h:53