1//===----------------------------------------------------------------------===// 2// 3// The LLVM Compiler Infrastructure 4// 5// This file is dual licensed under the MIT and the University of Illinois Open 6// Source Licenses. See LICENSE.TXT for details. 7// 8//===----------------------------------------------------------------------===// 9 10// <regex> 11 12// template <class charT, class traits = regex_traits<charT>> 13// class basic_regex 14// { 15// public: 16// // constants: 17// static constexpr regex_constants::syntax_option_type icase = regex_constants::icase; 18// static constexpr regex_constants::syntax_option_type nosubs = regex_constants::nosubs; 19// static constexpr regex_constants::syntax_option_type optimize = regex_constants::optimize; 20// static constexpr regex_constants::syntax_option_type collate = regex_constants::collate; 21// static constexpr regex_constants::syntax_option_type ECMAScript = regex_constants::ECMAScript; 22// static constexpr regex_constants::syntax_option_type basic = regex_constants::basic; 23// static constexpr regex_constants::syntax_option_type extended = regex_constants::extended; 24// static constexpr regex_constants::syntax_option_type awk = regex_constants::awk; 25// static constexpr regex_constants::syntax_option_type grep = regex_constants::grep; 26// static constexpr regex_constants::syntax_option_type egrep = regex_constants::egrep; 27 28#include <regex> 29#include <type_traits> 30 31template <class _Tp> 32void where(const _Tp &) {} 33 34template <class CharT> 35void 36test() 37{ 38 typedef std::basic_regex<CharT> BR; 39 static_assert((BR::icase == std::regex_constants::icase), ""); 40 static_assert((BR::nosubs == std::regex_constants::nosubs), ""); 41 static_assert((BR::optimize == std::regex_constants::optimize), ""); 42 static_assert((BR::collate == std::regex_constants::collate), ""); 43 static_assert((BR::ECMAScript == std::regex_constants::ECMAScript), ""); 44 static_assert((BR::basic == std::regex_constants::basic), ""); 45 static_assert((BR::extended == std::regex_constants::extended), ""); 46 static_assert((BR::awk == std::regex_constants::awk), ""); 47 static_assert((BR::grep == std::regex_constants::grep), ""); 48 static_assert((BR::egrep == std::regex_constants::egrep), ""); 49 where(BR::icase); 50 where(BR::nosubs); 51 where(BR::optimize); 52 where(BR::collate); 53 where(BR::ECMAScript); 54 where(BR::basic); 55 where(BR::extended); 56 where(BR::awk); 57 where(BR::grep); 58 where(BR::egrep); 59} 60 61int main() 62{ 63 test<char>(); 64 test<wchar_t>(); 65} 66