Lines Matching refs:__this
37 _Underflow< char, char_traits<char> >::_M_doit(basic_filebuf<char, char_traits<char> >* __this) in _M_doit() argument
42 if (!__this->_M_in_input_mode) { in _M_doit()
43 if (!__this->_M_switch_to_input_mode()) in _M_doit()
46 else if (__this->_M_in_putback_mode) { in _M_doit()
47 __this->_M_exit_putback_mode(); in _M_doit()
48 if (__this->gptr() != __this->egptr()) { in _M_doit()
49 int_type __c = traits_type::to_int_type(*__this->gptr()); in _M_doit()
57 if (__this->_M_base.__regular_file() in _M_doit()
58 && __this->_M_always_noconv in _M_doit()
59 && __this->_M_base._M_in_binary_mode()) { in _M_doit()
61 if (__this->_M_mmap_base) in _M_doit()
62 __this->_M_base._M_unmap(__this->_M_mmap_base, __this->_M_mmap_len); in _M_doit()
66 streamoff __cur = __this->_M_base._M_seek(0, ios_base::cur); in _M_doit()
67 streamoff __size = __this->_M_base._M_file_size(); in _M_doit()
69 streamoff __offset = (__cur / __this->_M_base.__page_size()) * __this->_M_base.__page_size(); in _M_doit()
72 __this->_M_mmap_len = __size - __offset; in _M_doit()
74 if (__this->_M_mmap_len > MMAP_CHUNK) in _M_doit()
75 __this->_M_mmap_len = MMAP_CHUNK; in _M_doit()
77 if ((__this->_M_mmap_base = __this->_M_base._M_mmap(__offset, __this->_M_mmap_len)) != 0) { in _M_doit()
78 __this->setg(__STATIC_CAST(char*, __this->_M_mmap_base), in _M_doit()
79 … __STATIC_CAST(char*, __this->_M_mmap_base) + __STATIC_CAST(ptrdiff_t, __remainder), in _M_doit()
80 … __STATIC_CAST(char*, __this->_M_mmap_base) + __STATIC_CAST(ptrdiff_t, __this->_M_mmap_len)); in _M_doit()
81 return traits_type::to_int_type(*__this->gptr()); in _M_doit()
84 __this->_M_mmap_len = 0; in _M_doit()
87 __this->_M_mmap_base = 0; in _M_doit()
88 __this->_M_mmap_len = 0; in _M_doit()
92 return __this->_M_underflow_aux(); in _M_doit()