Support Class Library
A set of tools providing classes and utility
Classes | Namespaces | Macros | Functions
swap.h File Reference
#include <type_traits>
#include <utility>
#include <scl/tools/meta/enable_if.h>
#include <scl/tools/meta/exists.h>
#include <scl/tools/meta/is_same.h>
#include <scl/tools/meta/type_mod.h>

Go to the source code of this file.

Classes

struct  scl::tools::meta::details::__is_swappable_with< T, U, class >
 
struct  scl::tools::meta::details::__is_swappable_with< T, U, void_t< enable_if_t< exists< decltype(std::swap(std::declval< T & >(), std::declval< U & >()))>() &&exists< decltype(std::swap(std::declval< U & >(), std::declval< T & >()))>() > > >
 
struct  scl::tools::meta::details::__is_swappable< T, class >
 

Namespaces

 scl
 Global namespace of the SCL.
 
 scl::tools
 General purpose tooling.
 
 scl::tools::meta
 A namespace englobing all the TMP tools.
 
 scl::tools::meta::details
 Namespace for implementation details for TMP.
 

Macros

#define SCL_t   std::declval<T&>()
 
#define SCL_u   std::declval<U&>()
 

Functions

template<class T , class U >
constexpr bool scl::tools::meta::details::is_swappable_with ()
 
template<class T >
constexpr bool scl::tools::meta::is_swappable ()
 

Macro Definition Documentation

◆ SCL_t

#define SCL_t   std::declval<T&>()

Definition at line 11 of file swap.h.

◆ SCL_u

#define SCL_u   std::declval<U&>()

Definition at line 12 of file swap.h.