コード例 #1
0
ファイル: streambuf.cpp プロジェクト: Goalsum/POD_STL
streambuf::int_type streambuf::_M_snextc_underflow()
{
    if (__M_gnext == __M_gend)
    {
        return (uflow() == EOF) ? EOF : sgetc();
    }
    else 
    {
        __M_gnext = __M_gend;
        return underflow();
    }
}
コード例 #2
0
ファイル: StreamBuf.hpp プロジェクト: PPNav/GPSTk
 virtual std::streamsize xsgetn(char_type* p, std::streamsize count)
 {
    std::streamsize copied = 0;
    while (count > 0)
    {
       int_type c = uflow();
       if (c == char_traits::eof()) break;
       *p++ = char_traits::to_char_type(c);
       ++copied;
       --count;
    }
    return copied;
 }
コード例 #3
0
  int
  streambuf::sbumpc()
  {
#if defined(OS_INCLUDE_STREAMBUF_BUFFERS)
    if (mgbeg == 0)
    return traits::eof();

    if (mgnext == mgend)
      {
        return uflow();
      }
    int retval = traits::to_int(*gptr());
    gbump(1);
    return retval;
#else

    return traits::eof();
#endif
  }