[/
  Copyright 2017 Peter Dimov

  Distributed under the Boost Software License, Version 1.0.

  (See accompanying file LICENSE_1_0.txt or copy at
  http://www.boost.org/LICENSE_1_0.txt).
]

[section:is_nothrow_swappable is_nothrow_swappable]

   template <class T>
   struct is_nothrow_swappable : public __tof {};

__inherit If the expression `swap(declval<T&>(), declval<T&>())` (in a context
where `std::swap` is visible) is valid and non-throwing, inherits from
__true_type, otherwise from __false_type.

__compat This trait requires C++11 for full support. Without C++11 it will
inherit from __true_type for scalar types (including integral, floating point,
enumeration, pointer and pointer-to-member types), and from __false_type for
anything else.

__header ` #include <boost/type_traits/is_nothrow_swappable.hpp>` or ` #include <boost/type_traits.hpp>`

[endsect]
