Iros
 
Loading...
Searching...
No Matches
di::util::SwapFunction Struct Reference

#include <di/util/swap.h>

Public Member Functions

template<typename T, typename U>
requires (concepts::TagInvocable<SwapFunction, T, U>)
constexpr void operator() (T &&a, U &&b) const
 
template<typename T, typename U>
requires (!concepts::TagInvocable<SwapFunction, T&, U&> && concepts::Movable<T> && concepts::Movable<U> && concepts::ConstructibleFrom<T, U> && concepts::ConstructibleFrom<U, T>)
constexpr void operator() (T &a, U &b) const
 

Member Function Documentation

◆ operator()() [1/2]

template<typename T, typename U>
requires (concepts::TagInvocable<SwapFunction, T, U>)
void di::util::SwapFunction::operator() ( T && a,
U && b ) const
inlineconstexpr

◆ operator()() [2/2]

template<typename T, typename U>
requires (!concepts::TagInvocable<SwapFunction, T&, U&> && concepts::Movable<T> && concepts::Movable<U> && concepts::ConstructibleFrom<T, U> && concepts::ConstructibleFrom<U, T>)
void di::util::SwapFunction::operator() ( T & a,
U & b ) const
inlineconstexpr

The documentation for this struct was generated from the following file: