15821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)//===----------------------------------------------------------------------===//
25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)//
35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)//                     The LLVM Compiler Infrastructure
45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)//
55821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// This file is dual licensed under the MIT and the University of Illinois Open
65821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Source Licenses. See LICENSE.TXT for details.
7a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles)//
8a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles)//===----------------------------------------------------------------------===//
9d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles)
105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// <locale>
11eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch
12868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)// template <class charT, class OutputIterator = ostreambuf_iterator<charT> >
135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// class time_put
142a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)//     : public locale::facet
15a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles)// {
165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// public:
175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)//     typedef charT          char_type;
185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)//     typedef OutputIterator iter_type;
19558790d6acca3451cf3a6b497803a5f07d0bec58Ben Murdoch
205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include <locale>
215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include <iterator>
22f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)#include <type_traits>
23f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)
242a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)int main()
252a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles){
265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    static_assert((std::is_base_of<std::locale::facet, std::time_put<char> >::value), "");
275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    static_assert((std::is_base_of<std::locale::facet, std::time_put<wchar_t> >::value), "");
285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    static_assert((std::is_same<std::time_put<char>::char_type, char>::value), "");
295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    static_assert((std::is_same<std::time_put<wchar_t>::char_type, wchar_t>::value), "");
305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    static_assert((std::is_same<std::time_put<char>::iter_type, std::ostreambuf_iterator<char> >::value), "");
315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    static_assert((std::is_same<std::time_put<wchar_t>::iter_type, std::ostreambuf_iterator<wchar_t> >::value), "");
325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)