is_convertible Class
Important This document may not represent best practices for current development, links to downloads and other resources may no longer be valid. Current recommended version can be found here. ArchiveDisclaimer

is_convertible Class

Tests if one type is convertible to another.

template<class From, class To>
    struct is_convertible;


The type to convert from.


The type to convert to.

An instance of the type predicate holds true if the expression To to = from;, where from is an object of type From, is well-formed.


// std_tr1__type_traits__is_convertible.cpp 
// compile with: /EHsc 
#include <type_traits> 
#include <iostream> 
struct trivial 
    int val; 
int main() 
    std::cout << "is_convertible<trivial, int> == " << std::boolalpha 
        << std::tr1::is_convertible<trivial, int>::value << std::endl; 
    std::cout << "is_convertible<trivial, trivial> == " << std::boolalpha 
        << std::tr1::is_convertible<trivial, trivial>::value << std::endl; 
    std::cout << "is_convertible<char, int> == " << std::boolalpha 
        << std::tr1::is_convertible<char, int>::value << std::endl; 
    return (0); 
is_convertible<trivial, int> == false is_convertible<trivial, trivial> == true is_convertible<char, int> == true

Header: <type_traits>

Namespace: std::tr1

© 2016 Microsoft