const _TraitsT& __traits)
: _M_class_set(0), _M_translator(__traits), _M_traits(__traits),
_M_is_non_matching(__is_non_matching)
-#ifdef _GLIBCXX_DEBUG
- , _M_is_ready(false)
-#endif
{ }
bool
_M_add_char(_CharT __c)
{
_M_char_set.push_back(_M_translator._M_translate(__c));
-#ifdef _GLIBCXX_DEBUG
- _M_is_ready = false;
-#endif
+ _GLIBCXX_DEBUG_ONLY(_M_is_ready = false);
}
_StringT
if (__st.empty())
__throw_regex_error(regex_constants::error_collate);
_M_char_set.push_back(_M_translator._M_translate(__st[0]));
-#ifdef _GLIBCXX_DEBUG
- _M_is_ready = false;
-#endif
+ _GLIBCXX_DEBUG_ONLY(_M_is_ready = false);
return __st;
}
__st = _M_traits.transform_primary(__st.data(),
__st.data() + __st.size());
_M_equiv_set.push_back(__st);
-#ifdef _GLIBCXX_DEBUG
- _M_is_ready = false;
-#endif
+ _GLIBCXX_DEBUG_ONLY(_M_is_ready = false);
}
// __neg should be true for \D, \S and \W only.
_M_class_set |= __mask;
else
_M_neg_class_set.push_back(__mask);
-#ifdef _GLIBCXX_DEBUG
- _M_is_ready = false;
-#endif
+ _GLIBCXX_DEBUG_ONLY(_M_is_ready = false);
}
void
__throw_regex_error(regex_constants::error_range);
_M_range_set.push_back(make_pair(_M_translator._M_transform(__l),
_M_translator._M_transform(__r)));
-#ifdef _GLIBCXX_DEBUG
- _M_is_ready = false;
-#endif
+ _GLIBCXX_DEBUG_ONLY(_M_is_ready = false);
}
void
auto __end = std::unique(_M_char_set.begin(), _M_char_set.end());
_M_char_set.erase(__end, _M_char_set.end());
_M_make_cache(_UseCache());
-#ifdef _GLIBCXX_DEBUG
- _M_is_ready = true;
-#endif
+ _GLIBCXX_DEBUG_ONLY(_M_is_ready = true);
}
private:
bool _M_is_non_matching;
_CacheT _M_cache;
#ifdef _GLIBCXX_DEBUG
- bool _M_is_ready;
+ bool _M_is_ready = false;
#endif
};