: _M_visited_states(new bool[__n]()), _M_start(__start)
{ }
+ ~_State_info() { delete[] _M_visited_states; }
+
+ _State_info(const _State_info&) = delete;
+ _State_info& operator=(const _State_info&) = delete;
+
bool _M_visited(_StateIdT __i)
{
if (_M_visited_states[__i])
// Saves states that need to be considered for the next character.
vector<pair<_StateIdT, _ResultsVec>> _M_match_queue;
// Indicates which states are already visited.
- unique_ptr<bool[]> _M_visited_states;
+ bool* _M_visited_states;
// To record current solution.
_StateIdT _M_start;
};
_M_has_sol = false;
if (_M_states._M_match_queue.empty())
break;
- std::fill_n(_M_states._M_visited_states.get(), _M_nfa.size(), false);
+ std::fill_n(_M_states._M_visited_states, _M_nfa.size(), false);
auto __old_queue = std::move(_M_states._M_match_queue);
for (auto& __task : __old_queue)
{
{
auto __c = *_M_current++;
- if (std::strchr(_M_spec_char, _M_ctype.narrow(__c, ' ')) == nullptr)
+ if (__builtin_strchr(_M_spec_char, _M_ctype.narrow(__c, ' ')) == nullptr)
{
_M_token = _S_token_ord_char;
_M_value.assign(1, __c);
"Unexpected end of regex when escaping.");
auto __c = *_M_current;
- auto __pos = std::strchr(_M_spec_char, _M_ctype.narrow(__c, '\0'));
+ auto __pos = __builtin_strchr(_M_spec_char, _M_ctype.narrow(__c, '\0'));
if (__pos != nullptr && *__pos != '\0')
{
# include <bits/c++0x_warning.h>
#else
-#include <algorithm>
#include <bitset>
-#ifdef _GLIBCXX_DEBUG
-# include <iosfwd>
-#endif
-#include <iterator>
#include <locale>
-#include <memory>
#include <sstream>
#include <stack>
#include <stdexcept>
#include <string>
-#include <vector>
-#include <map>
-#include <cstring>
#include <ext/aligned_buffer.h>
#include <ext/numeric_traits.h>
+#include <bits/shared_ptr.h>
#include <bits/std_function.h>
+#include <bits/stl_algobase.h> // std::copy, std::fill_n
+#include <bits/stl_algo.h> // std::sort, std::unique
+#include <bits/stl_iterator_base_types.h> // std::iterator_traits
#include <bits/stl_pair.h>
+#include <bits/stl_tree.h>
+#include <bits/stl_map.h>
+#include <bits/stl_vector.h>
+#include <bits/stl_bvector.h>
+#include <bits/vector.tcc>
#include <bits/regex_constants.h>
#include <bits/regex_error.h>
#include <bits/regex_automaton.h>
#include <regex>
#include <forward_list>
+#include <string.h>
#include <testsuite_hooks.h>
void
#include <regex>
#include <forward_list>
+#include <string.h>
#include <testsuite_hooks.h>
void