[/ Copyright 2015 John Maddock. 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_assignable is_assignable] template struct is_assignable : public __tof {}; __inherit If `std::declval() = std::declval()` then inherits from __true_type, otherwise from __false_type. Type `T` must be a complete type. Note that this trait is somewhat tricky to use correctly: for example: is_assignable::value is `false` since `std::declval()` is an ['xvalue] which can not be assigned to! If you're intention is to check for copy-assignment from some type U then use: is_assignable::value If you're intention is to check for move-assignment then use: is_assignable::value or simply: is_assignable::value __compat Requires the C++11 features `decltype` and SFINAE-expressions for full support. __header ` #include ` or ` #include ` [endsect]