Mirror reflection library 0.5.13
|
00001 00011 #ifndef MIRROR_TYPE_TRAITS_IS_COPY_CONSTRUCTIBLE_1011291729_HPP 00012 #define MIRROR_TYPE_TRAITS_IS_COPY_CONSTRUCTIBLE_1011291729_HPP 00013 00014 #include <mirror/mirror_fwd.hpp> 00015 #include <type_traits> 00016 00017 MIRROR_NAMESPACE_BEGIN 00018 00020 00026 template <typename T> 00027 struct is_copy_constructible 00028 : std::integral_constant< 00029 bool, 00030 ::std::has_trivial_copy_constructor<T>::value || 00031 ::std::has_nothrow_copy_constructor<T>::value || 00032 mirror::_class::_<T>::has_copy_ctr::value 00033 > 00034 { }; 00035 00036 MIRROR_NAMESPACE_END 00037 00038 #endif //include guard 00039