types.pass.cpp revision f5256e16dfc425c1d466f6308d4026d529ce9e0b
15f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)//===----------------------------------------------------------------------===// 25f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)// 35f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)// The LLVM Compiler Infrastructure 45f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)// 55f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)// This file is distributed under the University of Illinois Open Source 65f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)// License. See LICENSE.TXT for details. 75f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)// 85f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)//===----------------------------------------------------------------------===// 9 10// <fstream> 11 12// template <class charT, class traits = char_traits<charT> > 13// class basic_ofstream 14// : public basic_ostream<charT,traits> 15// { 16// public: 17// typedef charT char_type; 18// typedef traits traits_type; 19// typedef typename traits_type::int_type int_type; 20// typedef typename traits_type::pos_type pos_type; 21// typedef typename traits_type::off_type off_type; 22 23#include <fstream> 24#include <type_traits> 25 26int main() 27{ 28 static_assert((std::is_base_of<std::basic_ostream<char>, std::basic_ofstream<char> >::value), ""); 29 static_assert((std::is_same<std::basic_ofstream<char>::char_type, char>::value), ""); 30 static_assert((std::is_same<std::basic_ofstream<char>::traits_type, std::char_traits<char> >::value), ""); 31 static_assert((std::is_same<std::basic_ofstream<char>::int_type, std::char_traits<char>::int_type>::value), ""); 32 static_assert((std::is_same<std::basic_ofstream<char>::pos_type, std::char_traits<char>::pos_type>::value), ""); 33 static_assert((std::is_same<std::basic_ofstream<char>::off_type, std::char_traits<char>::off_type>::value), ""); 34} 35