LLVM 20.0.0git
Namespaces | Typedefs | Functions
ADL.h File Reference
#include <type_traits>
#include <iterator>
#include <utility>

Go to the source code of this file.

Namespaces

namespace  llvm
 This is an optimization pass for GlobalISel generic memory operations.
 
namespace  llvm::adl_detail
 
namespace  llvm::detail
 These are wrappers over isa* function that allow them to be used in generic algorithms such as llvm:all_of, llvm::none_of, etc.
 

Typedefs

template<typename RangeT >
using llvm::detail::IterOfRange = decltype(adl_begin(std::declval< RangeT & >()))
 
template<typename RangeT >
using llvm::detail::ValueOfRange = std::remove_reference_t< decltype(*adl_begin(std::declval< RangeT & >()))>
 

Functions

template<typename RangeT >
constexpr auto llvm::adl_detail::begin_impl (RangeT &&range) -> decltype(begin(std::forward< RangeT >(range)))
 
template<typename RangeT >
constexpr auto llvm::adl_detail::end_impl (RangeT &&range) -> decltype(end(std::forward< RangeT >(range)))
 
template<typename RangeT >
constexpr auto llvm::adl_detail::rbegin_impl (RangeT &&range) -> decltype(rbegin(std::forward< RangeT >(range)))
 
template<typename RangeT >
constexpr auto llvm::adl_detail::rend_impl (RangeT &&range) -> decltype(rend(std::forward< RangeT >(range)))
 
template<typename T >
constexpr void llvm::adl_detail::swap_impl (T &&lhs, T &&rhs) noexcept(noexcept(swap(std::declval< T >(), std::declval< T >())))
 
template<typename RangeT >
constexpr auto llvm::adl_detail::size_impl (RangeT &&range) -> decltype(size(std::forward< RangeT >(range)))
 
template<typename RangeT >
constexpr auto llvm::adl_begin (RangeT &&range) -> decltype(adl_detail::begin_impl(std::forward< RangeT >(range)))
 Returns the begin iterator to range using std::begin and function found through Argument-Dependent Lookup (ADL).
 
template<typename RangeT >
constexpr auto llvm::adl_end (RangeT &&range) -> decltype(adl_detail::end_impl(std::forward< RangeT >(range)))
 Returns the end iterator to range using std::end and functions found through Argument-Dependent Lookup (ADL).
 
template<typename RangeT >
constexpr auto llvm::adl_rbegin (RangeT &&range) -> decltype(adl_detail::rbegin_impl(std::forward< RangeT >(range)))
 Returns the reverse-begin iterator to range using std::rbegin and function found through Argument-Dependent Lookup (ADL).
 
template<typename RangeT >
constexpr auto llvm::adl_rend (RangeT &&range) -> decltype(adl_detail::rend_impl(std::forward< RangeT >(range)))
 Returns the reverse-end iterator to range using std::rend and functions found through Argument-Dependent Lookup (ADL).
 
template<typename T >
constexpr void llvm::adl_swap (T &&lhs, T &&rhs) noexcept(noexcept(adl_detail::swap_impl(std::declval< T >(), std::declval< T >())))
 Swaps lhs with rhs using std::swap and functions found through Argument-Dependent Lookup (ADL).
 
template<typename RangeT >
constexpr auto llvm::adl_size (RangeT &&range) -> decltype(adl_detail::size_impl(std::forward< RangeT >(range)))
 Returns the size of range using std::size and functions found through Argument-Dependent Lookup (ADL).