LLVM 19.0.0git
Classes | Namespaces | Functions
iterator_range.h File Reference

This provides a very simple, boring adaptor for a begin and end iterator into a range type. More...

#include "llvm/ADT/ADL.h"
#include <type_traits>
#include <utility>

Go to the source code of this file.

Classes

struct  llvm::explicitly_convertible< From, To, typename >
 
struct  llvm::explicitly_convertible< From, To, std::void_t< decltype(static_cast< To >(std::declval< std::add_rvalue_reference_t< From > >()))> >
 
class  llvm::iterator_range< IteratorT >
 A range adaptor for a pair of iterators. More...
 

Namespaces

namespace  llvm
 This is an optimization pass for GlobalISel generic memory operations.
 

Functions

template<typename Container >
 llvm::iterator_range (Container &&) -> iterator_range< detail::IterOfRange< Container > >
 
template<class T >
iterator_range< Tllvm::make_range (T x, T y)
 Convenience function for iterating over sub-ranges.
 
template<typename T >
iterator_range< Tllvm::make_range (std::pair< T, T > p)
 

Detailed Description

This provides a very simple, boring adaptor for a begin and end iterator into a range type.

This should be used to build range views that work well with range based for loops and range based constructors.

Note that code here follows more standards-based coding conventions as it is mirroring proposed interfaces for standardization.

Definition in file iterator_range.h.