File indexing completed on 2025-12-16 10:08:38
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022 #ifndef BOOST_REGEX_MATCH_HPP
0023 #define BOOST_REGEX_MATCH_HPP
0024
0025 namespace boost{
0026
0027
0028
0029
0030
0031
0032 template <class BidiIterator, class Allocator, class charT, class traits>
0033 bool regex_match(BidiIterator first, BidiIterator last,
0034 match_results<BidiIterator, Allocator>& m,
0035 const basic_regex<charT, traits>& e,
0036 match_flag_type flags = match_default)
0037 {
0038 BOOST_REGEX_DETAIL_NS::perl_matcher<BidiIterator, Allocator, traits> matcher(first, last, m, e, flags, first);
0039 return matcher.match();
0040 }
0041 template <class iterator, class charT, class traits>
0042 bool regex_match(iterator first, iterator last,
0043 const basic_regex<charT, traits>& e,
0044 match_flag_type flags = match_default)
0045 {
0046 match_results<iterator> m;
0047 return regex_match(first, last, m, e, flags | regex_constants::match_any);
0048 }
0049
0050
0051
0052 template <class charT, class Allocator, class traits>
0053 inline bool regex_match(const charT* str,
0054 match_results<const charT*, Allocator>& m,
0055 const basic_regex<charT, traits>& e,
0056 match_flag_type flags = match_default)
0057 {
0058 return regex_match(str, str + traits::length(str), m, e, flags);
0059 }
0060
0061 template <class ST, class SA, class Allocator, class charT, class traits>
0062 inline bool regex_match(const std::basic_string<charT, ST, SA>& s,
0063 match_results<typename std::basic_string<charT, ST, SA>::const_iterator, Allocator>& m,
0064 const basic_regex<charT, traits>& e,
0065 match_flag_type flags = match_default)
0066 {
0067 return regex_match(s.begin(), s.end(), m, e, flags);
0068 }
0069 template <class charT, class traits>
0070 inline bool regex_match(const charT* str,
0071 const basic_regex<charT, traits>& e,
0072 match_flag_type flags = match_default)
0073 {
0074 match_results<const charT*> m;
0075 return regex_match(str, str + traits::length(str), m, e, flags | regex_constants::match_any);
0076 }
0077
0078 template <class ST, class SA, class charT, class traits>
0079 inline bool regex_match(const std::basic_string<charT, ST, SA>& s,
0080 const basic_regex<charT, traits>& e,
0081 match_flag_type flags = match_default)
0082 {
0083 typedef typename std::basic_string<charT, ST, SA>::const_iterator iterator;
0084 match_results<iterator> m;
0085 return regex_match(s.begin(), s.end(), m, e, flags | regex_constants::match_any);
0086 }
0087
0088
0089 }
0090
0091 #endif
0092