VCCC  2024.05
VisualCamp Common C++ library
vccc::ranges::detail_ranges_swap Namespace Reference

Classes

struct  adl_swappable
 
struct  adl_swappable< T, U, true >
 
struct  swappable_array
 
struct  swap_niebloid
 
struct  swappable_array< T(&)[N], U(&)[N], void_t< decltype(ranges::swap(*std::declval< T(&)[N]>(), *std::declval< U(&)[N]>()))> >
 

Functions

template<typename T >
constexpr void swap (T &, T &)=delete
 
template<typename T , typename U >
constexpr auto test_swap (int) -> decltype(swap(std::declval< T >(), std::declval< U >()), std::true_type{})
 
template<typename T , typename U >
constexpr auto test_swap (...) -> std::false_type
 

Function Documentation

◆ swap()

constexpr void vccc::ranges::detail_ranges_swap::swap ( T &  ,
T &   
)
constexprdelete

◆ test_swap() [1/2]

constexpr auto vccc::ranges::detail_ranges_swap::test_swap (   ...) -> std::false_type
constexpr

◆ test_swap() [2/2]

constexpr auto vccc::ranges::detail_ranges_swap::test_swap ( int  ) -> decltype(swap(std::declval< T >(), std::declval< U >()), std::true_type{})
constexpr