13257c9853f0612761bbde4adfd56dce566d9f2a6Howard Hinnant// -*- C++ -*-
20ce02245a96edc9d1b2d60653fc06e9941e6fd2aHoward Hinnant//===----------------------------------------------------------------------===//
33257c9853f0612761bbde4adfd56dce566d9f2a6Howard Hinnant//
43257c9853f0612761bbde4adfd56dce566d9f2a6Howard Hinnant//                     The LLVM Compiler Infrastructure
53257c9853f0612761bbde4adfd56dce566d9f2a6Howard Hinnant//
6b64f8b07c104c6cc986570ac8ee0ed16a9f23976Howard Hinnant// This file is dual licensed under the MIT and the University of Illinois Open
7b64f8b07c104c6cc986570ac8ee0ed16a9f23976Howard Hinnant// Source Licenses. See LICENSE.TXT for details.
83257c9853f0612761bbde4adfd56dce566d9f2a6Howard Hinnant//
93257c9853f0612761bbde4adfd56dce566d9f2a6Howard Hinnant//===----------------------------------------------------------------------===//
103257c9853f0612761bbde4adfd56dce566d9f2a6Howard Hinnant
113257c9853f0612761bbde4adfd56dce566d9f2a6Howard Hinnant// <regex>
123257c9853f0612761bbde4adfd56dce566d9f2a6Howard Hinnant
133257c9853f0612761bbde4adfd56dce566d9f2a6Howard Hinnant// template <class charT>
143257c9853f0612761bbde4adfd56dce566d9f2a6Howard Hinnant// struct regex_traits
153257c9853f0612761bbde4adfd56dce566d9f2a6Howard Hinnant// {
163257c9853f0612761bbde4adfd56dce566d9f2a6Howard Hinnant// public:
173257c9853f0612761bbde4adfd56dce566d9f2a6Howard Hinnant//     typedef charT                   char_type;
183257c9853f0612761bbde4adfd56dce566d9f2a6Howard Hinnant//     typedef basic_string<char_type> string_type;
193257c9853f0612761bbde4adfd56dce566d9f2a6Howard Hinnant//     typedef locale                  locale_type;
203257c9853f0612761bbde4adfd56dce566d9f2a6Howard Hinnant
213257c9853f0612761bbde4adfd56dce566d9f2a6Howard Hinnant#include <regex>
223257c9853f0612761bbde4adfd56dce566d9f2a6Howard Hinnant#include <type_traits>
23ee226c05af9e0187098f43fb71465a581487af9bDan Austin#include "test_macros.h"
243257c9853f0612761bbde4adfd56dce566d9f2a6Howard Hinnant
253257c9853f0612761bbde4adfd56dce566d9f2a6Howard Hinnantint main()
263257c9853f0612761bbde4adfd56dce566d9f2a6Howard Hinnant{
273257c9853f0612761bbde4adfd56dce566d9f2a6Howard Hinnant    static_assert((std::is_same<std::regex_traits<char>::char_type, char>::value), "");
283257c9853f0612761bbde4adfd56dce566d9f2a6Howard Hinnant    static_assert((std::is_same<std::regex_traits<char>::string_type, std::string>::value), "");
293257c9853f0612761bbde4adfd56dce566d9f2a6Howard Hinnant    static_assert((std::is_same<std::regex_traits<char>::locale_type, std::locale>::value), "");
303257c9853f0612761bbde4adfd56dce566d9f2a6Howard Hinnant    static_assert((std::is_same<std::regex_traits<wchar_t>::char_type, wchar_t>::value), "");
313257c9853f0612761bbde4adfd56dce566d9f2a6Howard Hinnant    static_assert((std::is_same<std::regex_traits<wchar_t>::string_type, std::wstring>::value), "");
323257c9853f0612761bbde4adfd56dce566d9f2a6Howard Hinnant    static_assert((std::is_same<std::regex_traits<wchar_t>::locale_type, std::locale>::value), "");
333257c9853f0612761bbde4adfd56dce566d9f2a6Howard Hinnant}
34