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 32 template <class T> 33 void where(const T &) {} 34 35 template <class CharT> 36 void 37 test() 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 62 int main() 63 { 64 test<char>(); 65 test<wchar_t>(); 66 } 67