1 //===----------------------------------------------------------------------===// 2 // 3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4 // See https://llvm.org/LICENSE.txt for license information. 5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 6 // 7 //===----------------------------------------------------------------------===// 8 9 // <regex> 10 11 // template <class charT, class traits = regex_traits<charT>> 12 // class basic_regex 13 // { 14 // public: 15 // // constants: 16 // static constexpr regex_constants::syntax_option_type icase = regex_constants::icase; 17 // static constexpr regex_constants::syntax_option_type nosubs = regex_constants::nosubs; 18 // static constexpr regex_constants::syntax_option_type optimize = regex_constants::optimize; 19 // static constexpr regex_constants::syntax_option_type collate = regex_constants::collate; 20 // static constexpr regex_constants::syntax_option_type ECMAScript = regex_constants::ECMAScript; 21 // static constexpr regex_constants::syntax_option_type basic = regex_constants::basic; 22 // static constexpr regex_constants::syntax_option_type extended = regex_constants::extended; 23 // static constexpr regex_constants::syntax_option_type awk = regex_constants::awk; 24 // static constexpr regex_constants::syntax_option_type grep = regex_constants::grep; 25 // static constexpr regex_constants::syntax_option_type egrep = regex_constants::egrep; 26 27 #include <regex> 28 #include <type_traits> 29 #include "test_macros.h" 30 31 template <class T> 32 void where(const T &) {} 33 34 template <class CharT> 35 void 36 test() 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 61 int main() 62 { 63 test<char>(); 64 test<wchar_t>(); 65 } 66