[ Avaa Bypassed ]




Upload:

Command:

hmhc3928@3.145.60.114: ~ $
// class template regex -*- C++ -*-

// Copyright (C) 2010-2013 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library.  This library is free
// software; you can redistribute it and/or modify it under the
// terms of the GNU General Public License as published by the
// Free Software Foundation; either version 3, or (at your option)
// any later version.

// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
// GNU General Public License for more details.

// Under Section 7 of GPL version 3, you are granted additional
// permissions described in the GCC Runtime Library Exception, version
// 3.1, as published by the Free Software Foundation.

// You should have received a copy of the GNU General Public License and
// a copy of the GCC Runtime Library Exception along with this program;
// see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
// <http://www.gnu.org/licenses/>.

/**
 * @file bits/regex_nfa.tcc
 *  This is an internal header file, included by other library headers.
 *  Do not attempt to use it directly. @headername{regex}
 */
#include <regex>

namespace std _GLIBCXX_VISIBILITY(default)
{
namespace __detail
{
_GLIBCXX_BEGIN_NAMESPACE_VERSION

#ifdef _GLIBCXX_DEBUG
inline std::ostream& _State::
_M_print(std::ostream& ostr) const
{
  switch (_M_opcode)
  {
    case _S_opcode_alternative:
      ostr << "alt next=" << _M_next << " alt=" << _M_alt;
      break;
    case _S_opcode_subexpr_begin:
      ostr << "subexpr begin next=" << _M_next << " index=" << _M_subexpr;
      break;
    case _S_opcode_subexpr_end:
      ostr << "subexpr end next=" << _M_next << " index=" << _M_subexpr;
      break;
    case _S_opcode_match:
      ostr << "match next=" << _M_next;
      break;
    case _S_opcode_accept:
      ostr << "accept next=" << _M_next;
      break;
    default:
      ostr << "unknown next=" << _M_next;
      break;
  }
  return ostr;
}

// Prints graphviz dot commands for state.
inline std::ostream& _State::
_M_dot(std::ostream& __ostr, _StateIdT __id) const
{
  switch (_M_opcode)
  {
    case _S_opcode_alternative:
      __ostr << __id << " [label=\"" << __id << "\\nALT\"];\n" 
             << __id << " -> " << _M_next
             << " [label=\"epsilon\", tailport=\"s\"];\n"
             << __id << " -> " << _M_alt 
             << " [label=\"epsilon\", tailport=\"n\"];\n";
      break;
    case _S_opcode_subexpr_begin:
      __ostr << __id << " [label=\"" << __id << "\\nSBEGIN "
             << _M_subexpr << "\"];\n" 
             << __id << " -> " << _M_next << " [label=\"epsilon\"];\n";
      break;
    case _S_opcode_subexpr_end:
      __ostr << __id << " [label=\"" << __id << "\\nSEND "
             << _M_subexpr << "\"];\n" 
             << __id << " -> " << _M_next << " [label=\"epsilon\"];\n";
      break;
    case _S_opcode_match:
      __ostr << __id << " [label=\"" << __id << "\\nMATCH\"];\n" 
             << __id << " -> " << _M_next << " [label=\"<match>\"];\n";
      break;
    case _S_opcode_accept:
      __ostr << __id << " [label=\"" << __id << "\\nACC\"];\n" ;
      break;
    default:
      __ostr << __id << " [label=\"" << __id << "\\nUNK\"];\n" 
             << __id << " -> " << _M_next << " [label=\"?\"];\n";
      break;
  }
  return __ostr;
}

inline std::ostream& _Nfa::
_M_dot(std::ostream& __ostr) const
{
  __ostr << "digraph _Nfa {\n"
   << "  rankdir=LR;\n";
  for (unsigned int __i = 0; __i < this->size(); ++__i)
  { this->at(__i)._M_dot(__ostr, __i); }
  __ostr << "}\n";
  return __ostr;
}
#endif

inline _StateSeq& _StateSeq::
operator=(const _StateSeq& __rhs)
{
  _M_start = __rhs._M_start;
  _M_end1  = __rhs._M_end1;
  _M_end2  = __rhs._M_end2;
  return *this;
}

inline void _StateSeq::
_M_push_back(_StateIdT __id)
{
  if (_M_end1 != _S_invalid_state_id)
    _M_nfa[_M_end1]._M_next = __id;
  _M_end1 = __id;
}

inline void _StateSeq::
_M_append(_StateIdT __id)
{
  if (_M_end2 != _S_invalid_state_id)
  {
    if (_M_end2 == _M_end1)
      _M_nfa[_M_end2]._M_alt = __id;
    else
      _M_nfa[_M_end2]._M_next = __id;
    _M_end2 = _S_invalid_state_id;
  }
  if (_M_end1 != _S_invalid_state_id)
    _M_nfa[_M_end1]._M_next = __id;
  _M_end1 = __id;
}

inline void _StateSeq::
_M_append(_StateSeq& __rhs)
{
  if (_M_end2 != _S_invalid_state_id)
  {
    if (_M_end2 == _M_end1)
      _M_nfa[_M_end2]._M_alt = __rhs._M_start;
    else
      _M_nfa[_M_end2]._M_next = __rhs._M_start;
    _M_end2 = _S_invalid_state_id;
  }
  if (__rhs._M_end2 != _S_invalid_state_id)
    _M_end2 = __rhs._M_end2;
  if (_M_end1 != _S_invalid_state_id)
    _M_nfa[_M_end1]._M_next = __rhs._M_start;
  _M_end1 = __rhs._M_end1;
}

// @todo implement this function.
inline _StateIdT _StateSeq::
_M_clone()
{ return 0; }

_GLIBCXX_END_NAMESPACE_VERSION
} // namespace __detail
} // namespace

Filemanager

Name Type Size Permission Actions
algorithmfwd.h File 20.66 KB 0644
alloc_traits.h File 17.66 KB 0644
allocator.h File 6.1 KB 0644
atomic_base.h File 24.99 KB 0644
atomic_lockfree_defines.h File 2.2 KB 0644
basic_ios.h File 14.76 KB 0644
basic_ios.tcc File 5.89 KB 0644
basic_string.h File 109.49 KB 0644
basic_string.tcc File 38.43 KB 0644
boost_concept_check.h File 26.41 KB 0644
c++0x_warning.h File 1.47 KB 0644
char_traits.h File 16.95 KB 0644
codecvt.h File 16.23 KB 0644
concept_check.h File 3.26 KB 0644
cpp_type_traits.h File 9.56 KB 0644
cxxabi_forced.h File 1.77 KB 0644
deque.tcc File 31.91 KB 0644
exception_defines.h File 1.6 KB 0644
exception_ptr.h File 5.29 KB 0644
forward_list.h File 46.72 KB 0644
forward_list.tcc File 15.17 KB 0644
fstream.tcc File 28.3 KB 0644
functexcept.h File 3.04 KB 0644
functional_hash.h File 6.05 KB 0644
gslice.h File 5.39 KB 0644
gslice_array.h File 7.59 KB 0644
hash_bytes.h File 2.1 KB 0644
hashtable.h File 61.05 KB 0644
hashtable_policy.h File 52.72 KB 0644
indirect_array.h File 7.68 KB 0644
ios_base.h File 27.85 KB 0644
istream.tcc File 30.36 KB 0644
list.tcc File 12.2 KB 0644
locale_classes.h File 22.45 KB 0644
locale_classes.tcc File 8.18 KB 0644
locale_facets.h File 88.84 KB 0644
locale_facets.tcc File 38.02 KB 0644
locale_facets_nonio.h File 63.51 KB 0644
locale_facets_nonio.tcc File 40.85 KB 0644
localefwd.h File 5.1 KB 0644
mask_array.h File 7.41 KB 0644
memoryfwd.h File 2.36 KB 0644
move.h File 5.67 KB 0644
nested_exception.h File 4.58 KB 0644
ostream.tcc File 12.03 KB 0644
ostream_insert.h File 3.91 KB 0644
postypes.h File 8.02 KB 0644
ptr_traits.h File 5.17 KB 0644
random.h File 173.19 KB 0644
random.tcc File 106.59 KB 0644
range_access.h File 3.06 KB 0644
regex.h File 83.49 KB 0644
regex_compiler.h File 27.68 KB 0644
regex_constants.h File 10.81 KB 0644
regex_cursor.h File 2.7 KB 0644
regex_error.h File 4.5 KB 0644
regex_grep_matcher.h File 4.23 KB 0644
regex_grep_matcher.tcc File 5.41 KB 0644
regex_nfa.h File 10.65 KB 0644
regex_nfa.tcc File 4.85 KB 0644
shared_ptr.h File 18.97 KB 0644
shared_ptr_base.h File 40.65 KB 0644
slice_array.h File 9.12 KB 0644
sstream.tcc File 9.27 KB 0644
stl_algo.h File 212.55 KB 0644
stl_algobase.h File 41.41 KB 0644
stl_bvector.h File 28.98 KB 0644
stl_construct.h File 5.05 KB 0644
stl_deque.h File 66.41 KB 0644
stl_function.h File 22.06 KB 0644
stl_heap.h File 19.99 KB 0644
stl_iterator.h File 35.77 KB 0644
stl_iterator_base_funcs.h File 6.8 KB 0644
stl_iterator_base_types.h File 8.19 KB 0644
stl_list.h File 52.83 KB 0644
stl_map.h File 36.78 KB 0644
stl_multimap.h File 33.94 KB 0644
stl_multiset.h File 28.37 KB 0644
stl_numeric.h File 13.5 KB 0644
stl_pair.h File 9.63 KB 0644
stl_queue.h File 18.21 KB 0644
stl_raw_storage_iter.h File 3.37 KB 0644
stl_relops.h File 4.49 KB 0644
stl_set.h File 28.61 KB 0644
stl_stack.h File 9.65 KB 0644
stl_tempbuf.h File 8.15 KB 0644
stl_tree.h File 53.56 KB 0644
stl_uninitialized.h File 19.95 KB 0644
stl_vector.h File 48.64 KB 0644
stream_iterator.h File 6.44 KB 0644
streambuf.tcc File 4.81 KB 0644
streambuf_iterator.h File 12.33 KB 0644
stringfwd.h File 2.37 KB 0644
unique_ptr.h File 17.19 KB 0644
unordered_map.h File 47.76 KB 0644
unordered_set.h File 43.25 KB 0644
uses_allocator.h File 3.49 KB 0644
valarray_after.h File 22.12 KB 0644
valarray_array.h File 21.23 KB 0644
valarray_array.tcc File 7.08 KB 0644
valarray_before.h File 18.08 KB 0644
vector.tcc File 25.55 KB 0644