#ifndef _TYPE_TRAITS_FWD_H
#define _TYPE_TRAITS_FWD_H 1
#include <cstddef>
namespace std
{
namespace tr1
{
template<typename _Tp, _Tp __v>
struct integral_constant;
typedef integral_constant<bool, true> true_type;
typedef integral_constant<bool, false> false_type;
template<typename _Tp>
struct is_void;
template<typename _Tp>
struct is_integral;
template<typename _Tp>
struct is_floating_point;
template<typename _Tp>
struct is_array;
template<typename _Tp>
struct is_pointer;
template<typename _Tp>
struct is_reference;
template<typename _Tp>
struct is_member_object_pointer;
template<typename _Tp>
struct is_member_function_pointer;
template<typename _Tp>
struct is_enum;
template<typename _Tp>
struct is_union;
template<typename _Tp>
struct is_class;
template<typename _Tp>
struct is_function;
template<typename _Tp>
struct is_arithmetic;
template<typename _Tp>
struct is_fundamental;
template<typename _Tp>
struct is_object;
template<typename _Tp>
struct is_scalar;
template<typename _Tp>
struct is_compound;
template<typename _Tp>
struct is_member_pointer;
template<typename _Tp>
struct __is_union_or_class;
template<typename _Tp>
struct is_const;
template<typename _Tp>
struct is_volatile;
template<typename _Tp>
struct is_pod;
template<typename _Tp>
struct is_empty;
template<typename _Tp>
struct is_polymorphic;
template<typename _Tp>
struct is_abstract;
template<typename _Tp>
struct has_trivial_constructor;
template<typename _Tp>
struct has_trivial_copy;
template<typename _Tp>
struct has_trivial_assign;
template<typename _Tp>
struct has_trivial_destructor;
template<typename _Tp>
struct has_nothrow_constructor;
template<typename _Tp>
struct has_nothrow_copy;
template<typename _Tp>
struct has_nothrow_assign;
template<typename _Tp>
struct has_virtual_destructor;
template<typename _Tp>
struct is_signed;
template<typename _Tp>
struct is_unsigned;
template<typename _Tp>
struct alignment_of;
template<typename _Tp>
struct rank;
template<typename _Tp, unsigned _Uint = 0>
struct extent;
template<typename _Tp, typename _Up>
struct is_same;
template<typename _From, typename _To>
struct is_convertible;
template<typename _Base, typename _Derived>
struct is_base_of;
template<typename _Tp>
struct remove_const;
template<typename _Tp>
struct remove_volatile;
template<typename _Tp>
struct remove_cv;
template<typename _Tp>
struct add_const;
template<typename _Tp>
struct add_volatile;
template<typename _Tp>
struct add_cv;
template<typename _Tp>
struct remove_reference;
template<typename _Tp>
struct add_reference;
template<typename _Tp>
struct remove_extent;
template<typename _Tp>
struct remove_all_extents;
template<typename _Tp>
struct remove_pointer;
template<typename _Tp>
struct add_pointer;
template<std::size_t _Len, std::size_t _Align>
struct aligned_storage;
}
}
#endif