7#ifndef PXR_EXEC_VDF_ITERATOR_RANGE_H
8#define PXR_EXEC_VDF_ITERATOR_RANGE_H
17PXR_NAMESPACE_OPEN_SCOPE
25template<
typename Iterator>
33 typename std::remove_cv<typename Iterator::value_type>::type;
45 template <
typename... Args>
47 _begin(
std::forward<Args>(args)...),
64 Iterator
end()
const {
71 return _begin == _end;
84PXR_NAMESPACE_CLOSE_SCOPE
This class allows for construction of iterable ranges.
Iterator iterator
Type of iterator used in the range.
Iterator begin() const
Returns an iterator to the beginning of the iterable range.
typename std::remove_cv< typename Iterator::value_type >::type value_type
Type of the elements this range gives access to.
Iterator end() const
Returns an iterator to the end of the iterable range.
bool IsEmpty() const
Returns true if the range is empty.
VdfIteratorRange(Iterator begin, Iterator end)
Constructs an iterable range from begin and end iterators.
Iterator const_iterator
Type of constant iterator used in the range.
VdfIteratorRange(Args &&... args)
Constructs an iterable range from a begin iterator.