Range-v3
Range algorithms, views, and actions for the Standard Library
swap.hpp File Reference

Classes

struct  concepts::is_nothrow_swappable< T >
 
struct  concepts::is_nothrow_swappable_with< T, U >
 
struct  concepts::is_swappable< T >
 
struct  concepts::is_swappable_with< T, U >
 

Macros

#define CPP_CXX14_CONSTEXPR   inline
 
#define CPP_CXX_INLINE_VARIABLES   __cplusplus
 
#define CPP_DEFINE_CPO(type, name)
 
#define CPP_DIAGNOSTIC_IGNORE_CPP2A_COMPAT
 
#define CPP_DIAGNOSTIC_IGNORE_FLOAT_EQUAL
 
#define CPP_DIAGNOSTIC_IGNORE_INIT_LIST_LIFETIME
 
#define CPP_DIAGNOSTIC_POP
 
#define CPP_DIAGNOSTIC_PUSH
 
#define CPP_INLINE_VAR
 
#define CPP_INLINE_VARIABLE(type, name)
 

Functions

template<typename T , typename U = T>
meta::if_c< std::is_move_constructible< T >::value &&std::is_assignable< T &, U >::value, T > concepts::exchange (T &t, U &&u) noexcept(std::is_nothrow_move_constructible< T >::value &&std::is_nothrow_assignable< T &, U >::value)
 

Macro Definition Documentation

◆ CPP_DEFINE_CPO

#define CPP_DEFINE_CPO (   type,
  name 
)
Value:
inline namespace \
{ \
constexpr auto &name = ::concepts::detail::static_const<type>::value; \
} \

◆ CPP_INLINE_VARIABLE

#define CPP_INLINE_VARIABLE (   type,
  name 
)
Value:
inline namespace \
{ \
constexpr auto &name = ::concepts::detail::static_const<type>::value; \
} \