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#include "test_macros.h" 31 32template <class T> 33void where(const T &) {} 34 35template <class CharT> 36void 37test() 38{ 39 typedef std::basic_regex<CharT> BR; 40 static_assert((BR::icase == std::regex_constants::icase), ""); 41 static_assert((BR::nosubs == std::regex_constants::nosubs), ""); 42 static_assert((BR::optimize == std::regex_constants::optimize), ""); 43 static_assert((BR::collate == std::regex_constants::collate), ""); 44 static_assert((BR::ECMAScript == std::regex_constants::ECMAScript), ""); 45 static_assert((BR::basic == std::regex_constants::basic), ""); 46 static_assert((BR::extended == std::regex_constants::extended), ""); 47 static_assert((BR::awk == std::regex_constants::awk), ""); 48 static_assert((BR::grep == std::regex_constants::grep), ""); 49 static_assert((BR::egrep == std::regex_constants::egrep), ""); 50 where(BR::icase); 51 where(BR::nosubs); 52 where(BR::optimize); 53 where(BR::collate); 54 where(BR::ECMAScript); 55 where(BR::basic); 56 where(BR::extended); 57 where(BR::awk); 58 where(BR::grep); 59 where(BR::egrep); 60} 61 62int main() 63{ 64 test<char>(); 65 test<wchar_t>(); 66} 67