Provides an interface for common ADL (Argument Dependent Lookup) functions. More...
Functions | |
| template<size_t N, typename T > | |
| constexpr auto | gears::adl::get (T &&t) -> decltype(detail::adl_get< N >(std::declval< T >())) | 
| ADL enabled get function for tuple-like classes.  More... | |
| template<typename T > | |
| constexpr auto | gears::adl::begin (T &&t) -> decltype(detail::adl_begin(std::declval< T >())) | 
| ADL-enabled begin.  More... | |
| template<typename T > | |
| constexpr auto | gears::adl::end (T &&t) -> decltype(detail::adl_end(std::declval< T >())) | 
| ADL-enabled end.  More... | |
| template<typename T , typename U , typename R = decltype(detail::adl_swap(std::declval<T>(), std::declval<U>()))> | |
| constexpr R | gears::adl::swap (T &&t, U &&u) noexcept(detail::adl_swap(std::declval< T >(), std::declval< U >())) | 
| ADL-enabled swap.  More... | |
This module is very simple, allowing for an ADL-enabled function calls. This is useful because it allows you to write generic code that relies on certain functions without actually having to specify the using statement for every function in every line.
Example usage:
Output:
hello 10
| constexpr auto gears::adl::begin | ( | T && | t | ) | -> decltype(detail::adl_begin(std::declval<T>())) | 
Allows for retrieval of std::begin and specialisations of begin through argument dependent lookup. Equivalent to doing the following:
| t | Object with begin interface  | 
begin(t) Definition at line 61 of file adl/iterator.hpp.
| constexpr auto gears::adl::end | ( | T && | t | ) | -> decltype(detail::adl_end(std::declval<T>())) | 
Allows for retrieval of std::end and specialisations of end through argument dependent lookup. Equivalent to doing the following:
| t | Object with end interface  | 
end(t) Definition at line 81 of file adl/iterator.hpp.
| constexpr auto gears::adl::get | ( | T && | t | ) | -> decltype(detail::adl_get<N>(std::declval<T>())) | 
      
  | 
  noexcept |