|  | Home | Libraries | People | FAQ | More | 
template <class T, class... Args>
struct is_constructible : public true_type-or-false_type {};
        Inherits: If T
        can be constructed from Args,
        then inherits from true_type,
        otherwise inherits from false_type.
        Type T must be a complete
        type.
      
Formally the trait answers the question, is the expression:
T t(std::declval<Args>()...);
valid?
There are a number of important special cases for this trait:
is_constructible<T>::value
        Indicates whether T is default
        constructible, while:
      
is_constructible<T, const T&>::value
        Indicates whether T is copy-constructible,
        and:
      
is_constructible<T, T>::value
        Indicates whether T is move-constructible.
      
        Compiler Compatibility: This trait requires
        the C++11 features decltype
        variadic templates and SFINAE-expression support for full support. While
        there is some fallback code for cases where this is not the case, the trait
        should really be considered broken in that case.
      
        Header:  #include
        <boost/type_traits/is_copy_constructible.hpp>
        or  #include <boost/type_traits.hpp>