1 #ifndef REGEXIMPL_H_62B23520_7C8E_11DE_8A39_0800200C9A66_PM 2 #define REGEXIMPL_H_62B23520_7C8E_11DE_8A39_0800200C9A66_PM 4 #if defined(_MSC_VER) || (defined(__GNUC__) && (__GNUC__ == 3 && __GNUC_MINOR__ >= 4) || (__GNUC__ >= 4)) // GCC supports "pragma once" correctly since 3.4 23 return Match(str) >= 0;
27 return Match(in) >= 0;
30 template <
typename Source>
32 return Match(source) >= 0;
54 template <
typename Source>
61 inline bool RegEx::IsValidSource<StringCharSource>(
const StringCharSource&source)
const 72 template <
typename Source>
78 template <
typename Source>
107 template <
typename Source>
114 return !source ? 0 : -1;
118 template <
typename Source>
126 template <
typename Source>
128 if(
m_a > source[0] ||
m_z < source[0])
134 template <
typename Source>
136 for(std::size_t i=0;i<
m_params.size();i++) {
137 int n =
m_params[i].MatchUnchecked(source);
148 template <
typename Source>
151 for(std::size_t i=0;i<
m_params.size();i++) {
152 int n =
m_params[i].MatchUnchecked(source);
162 template <
typename Source>
172 template <
typename Source>
175 for(std::size_t i=0;i<
m_params.size();i++) {
176 int n =
m_params[i].Match(source + offset);
186 #endif // REGEXIMPL_H_62B23520_7C8E_11DE_8A39_0800200C9A66_PM
int MatchOpRange(const Source &source) const
int MatchOpMatch(const Source &source) const
int MatchUnchecked(const Source &source) const
int MatchOpOr(const Source &source) const
int MatchOpNot(const Source &source) const
int Match(const std::string &str) const
int MatchOpSeq(const Source &source) const
std::vector< RegEx > m_params
bool IsValidSource(const Source &source) const
int MatchOpAnd(const Source &source) const
bool Matches(char ch) const
int MatchOpEmpty(const Source &source) const