WPILibC++ 2027.0.0-alpha-4
Loading...
Searching...
No Matches
ADL.hpp File Reference
#include <type_traits>
#include <iterator>
#include <utility>

Go to the source code of this file.

Namespaces

namespace  wpi
namespace  wpi::util
namespace  wpi::util::adl_detail
namespace  wpi::util::detail
 These are wrappers over isa* function that allow them to be used in generic algorithms such as wpi::util:all_of, wpi::util::none_of, etc.

Typedefs

template<typename RangeT>
using wpi::util::detail::IterOfRange = decltype(adl_begin(std::declval<RangeT &>()))
template<typename RangeT>
using wpi::util::detail::ValueOfRange

Functions

template<typename RangeT>
constexpr auto wpi::util::adl_detail::begin_impl (RangeT &&range) -> decltype(begin(std::forward< RangeT >(range)))
template<typename RangeT>
constexpr auto wpi::util::adl_detail::end_impl (RangeT &&range) -> decltype(end(std::forward< RangeT >(range)))
template<typename RangeT>
constexpr auto wpi::util::adl_detail::rbegin_impl (RangeT &&range) -> decltype(rbegin(std::forward< RangeT >(range)))
template<typename RangeT>
constexpr auto wpi::util::adl_detail::rend_impl (RangeT &&range) -> decltype(rend(std::forward< RangeT >(range)))
template<typename T>
constexpr void wpi::util::adl_detail::swap_impl (T &&lhs, T &&rhs) noexcept(noexcept(swap(std::declval< T >(), std::declval< T >())))
template<typename RangeT>
constexpr auto wpi::util::adl_detail::size_impl (RangeT &&range) -> decltype(size(std::forward< RangeT >(range)))
template<typename RangeT>
constexpr auto wpi::util::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 wpi::util::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 wpi::util::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 wpi::util::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 wpi::util::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 wpi::util::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).
template<typename T>
void wpi::util::adl_detail::swap (wpi::util::StringMap< T > &lhs, wpi::util::StringMap< T > &rhs)