ReactOS Fundraising Campaign 2012
 
€ 11,198 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

template<class _CharT , class _Alloc >
_CharT * rope< _CharT, _Alloc >::_S_fetch_ptr ( _RopeRep __r,
size_type  __pos 
) [static]

Definition at line 1170 of file _rope.c.

{
    _RopeRep* __clrstack[_RopeRep::_S_max_rope_depth];
    size_t __csptr = 0;

    for(;;) {
      // if (__r->_M_ref_count > 1) return 0;
      if ( __r->_M_incr() > 2 ) {
        __r->_M_decr();
        return 0;
      }
      switch(__r->_M_tag) {
  case _RopeRep::_S_concat:
      {
    _RopeConcatenation* __c = (_RopeConcatenation*)__r;
    _RopeRep* __left = __c->_M_left;
    size_t __left_len = __left->_M_size._M_data;

    if (__c->_M_c_string != 0) __clrstack[__csptr++] = __c;
    if (__i >= __left_len) {
        __i -= __left_len;
        __r = __c->_M_right;
    } else {
        __r = __left;
    }
      }
      break;
  case _RopeRep::_S_leaf:
      {
    _RopeLeaf* __l = (_RopeLeaf*)__r;
    if (__l->_M_c_string != __l->_M_data && __l->_M_c_string != 0)
        __clrstack[__csptr++] = __l;
    while (__csptr > 0) {
        -- __csptr;
        _RopeRep* __d = __clrstack[__csptr];
        __d->_M_free_c_string();
        __d->_M_c_string = 0;
    }
    return __l->_M_data + __i;
      }
  case _RopeRep::_S_function:
  case _RopeRep::_S_substringfn:
      return 0;
      }
    }
#if defined(_STLP_NEED_UNREACHABLE_RETURN)
    return 0;
#endif

}

Generated on Thu Oct 25 2012 07:05:15 for ReactOS by doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.