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; \
} \