• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

C++ setp函数代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了C++中setp函数的典型用法代码示例。如果您正苦于以下问题:C++ setp函数的具体用法?C++ setp怎么用?C++ setp使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。



在下文中一共展示了setp函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: setb

filebuf::filebuf(int f)
{
    xfd = f;        // assumed to be valid
    opened = 1;     // unless we can find out otherwise
    mode = 0;       // unless we can find out otherwise
    last_seek = 0;
    char* p = new char[B_size];
    if( p )
        {
        setb(p, p+B_size, 1);   // ~streambuf() will delete buffer
        setp(p+4, p+4);
        setg(p, p+4, p+4);
        }
}
开发者ID:LucasvBerkel,项目名称:TweedejaarsProject,代码行数:14,代码来源:FSBCTR2.CPP


示例2: setb

filebuf::filebuf()
{
    xfd = EOF;
    mode = 0;
    opened = 0;
    last_seek = 0;
    char* p = new char[B_size];
    if( p )
    {
        setb(p, p+B_size, 1);   // ~streambuf() will delete buffer
        setp(p+4, p+4);
        setg(p, p+4, p+4);
    }
}
开发者ID:WiLLStenico,项目名称:TestesEOutrasBrincadeiras,代码行数:14,代码来源:fsbctr1.cpp


示例3: setg

void IOBuffer::init(std::size_t bufferSize, bool extend)
{
    _ibufferSize = bufferSize + 4;
    _ibuffer = 0;
    _obufferSize = bufferSize;
    _obuffer = 0;
    _oextend = extend;

    if( gptr() )
        setg(_ibuffer, _ibuffer + _ibufferSize, _ibuffer + _ibufferSize);

    if( pptr() )
        setp(_obuffer, _obuffer + _obufferSize);
}
开发者ID:3Nigma,项目名称:frayon,代码行数:14,代码来源:IOBuffer.cpp


示例4: log_debug

int Md5streambuf::sync()
{
  if (pptr() != pbase())
  {
    // konsumiere Zeichen aus dem Puffer
    log_debug("process " << (pptr() - pbase()) << " bytes of data");
    cxxtools_MD5Update(context, (const unsigned char*)pbase(), pptr() - pbase());

    // leere Ausgabepuffer
    setp(buffer, buffer + bufsize);
  }

  return 0;
}
开发者ID:913862627,项目名称:cxxtools,代码行数:14,代码来源:md5stream.cpp


示例5: main

int
main (void)
{
  int (*p) (void);
  int  i;

  for (i = 0; i < 10; i ++)
    {
	setp (&p, i);
	p ();
    }
  
  return 0;
}
开发者ID:ds2dev,项目名称:gcc,代码行数:14,代码来源:indir-call-prof_0.c


示例6: pptr

	int lowpanstream::overflow(int c)
	{
		char *ibegin = out_buf_;
		char *iend = pptr();

		IBRCOMMON_LOGGER_DEBUG(10) << "lowpanstream::overflow"<< IBRCOMMON_LOGGER_ENDL;

		// mark the buffer as free
		setp(out_buf_ + 1, out_buf_ + BUFF_SIZE - 1);

		if (!std::char_traits<char>::eq_int_type(c, std::char_traits<char>::eof()))
		{
			*iend++ = std::char_traits<char>::to_char_type(c);
		}

		// bytes to send
		size_t bytes = (iend - ibegin);

		// if there is nothing to send, just return
		if (bytes == 0)
		{
			IBRCOMMON_LOGGER_DEBUG(10) << "lowpanstream::overflow() nothing to sent" << IBRCOMMON_LOGGER_ENDL;
			return std::char_traits<char>::not_eof(c);
		}

		//FIXME: Should we write in the segment position here?
		out_buf_[0] = 0x07 & out_seq_num_;
		out_buf_[0] |= _out_stat;

		out_seq_num_global++;
		out_seq_num_ = (out_seq_num_ + 1) % 8;

		IBRCOMMON_LOGGER_DEBUG(10) << "lowpanstream send segment " << (int)out_seq_num_ << " / " << out_seq_num_global << IBRCOMMON_LOGGER_ENDL;

		// Send segment to CL, use callback interface
		callback.send_cb(out_buf_, bytes, _address);

		if (_out_stat & SEGMENT_LAST)
		{
			// reset outgoing status byte and sequence number
			_out_stat = SEGMENT_FIRST;
			out_seq_num_ = 0;
		}
		else
		{
			_out_stat = SEGMENT_MIDDLE;
		}

		return std::char_traits<char>::not_eof(c);
}
开发者ID:Stefan-Schmidt,项目名称:ibrcommon,代码行数:50,代码来源:lowpanstream.cpp


示例7: switch

std::ios::pos_type
Charbuf::seekoff(std::ios::off_type off, std::ios_base::seekdir dir,
    std::ios_base::openmode which)
{
    std::ios::pos_type pos;
    char *cpos = nullptr;
    if (which & std::ios_base::in)
    {
        switch (dir)
        {
        case std::ios::beg:
            cpos = eback() + off - m_bufOffset;
            break;
        case std::ios::cur:
            cpos = gptr() + off;
            break;
        case std::ios::end:
            cpos = egptr() - off;
            break;
        default:
            break;  // Should never happen.
        }
        if (cpos < eback() || cpos > egptr())
            return -1;
        setg(eback(), cpos, egptr());
        pos = cpos - eback();
    }
    if (which & std::ios_base::out)
    {
        switch (dir)
        {
        case std::ios::beg:
            cpos = m_buf + off - m_bufOffset;
            break;
        case std::ios::cur:
            cpos = pptr() + off;
            break;
        case std::ios::end:
            cpos = egptr() - off;
            break;
        default:
            break;  // Should never happen.
        }
        if (cpos < m_buf || cpos > epptr())
            return -1;
        setp(cpos, epptr());
        pos = cpos - m_buf;
    }
    return pos;
}
开发者ID:rskelly,项目名称:PDAL,代码行数:50,代码来源:Charbuf.cpp


示例8: setp

int Socket::sync() {
    if(getOutputBufferSize() <= 0) //No output buffer
        return EOF;

    if(pptr() == pbase()) //Allready in sync
        return 0;

    try {
        setp(pbase(), pptr()+send(pbase(), pptr()-pbase()));
        return 0;
    } catch(Exception err) {
        return EOF;
    }
}
开发者ID:darcyg,项目名称:netLink,代码行数:14,代码来源:Socket.cpp


示例9: basic_socket_streambuf

 /// Move-construct a basic_socket_streambuf from another.
 basic_socket_streambuf(basic_socket_streambuf&& other)
   : detail::socket_streambuf_io_context(other),
     basic_socket<Protocol ASIO_SVC_TARG>(std::move(other.socket())),
     ec_(other.ec_),
     expiry_time_(other.expiry_time_)
 {
   get_buffer_.swap(other.get_buffer_);
   put_buffer_.swap(other.put_buffer_);
   setg(other.eback(), other.gptr(), other.egptr());
   setp(other.pptr(), other.epptr());
   other.ec_ = asio::error_code();
   other.expiry_time_ = max_expiry_time();
   other.init_buffers();
 }
开发者ID:Dagarman,项目名称:mame,代码行数:15,代码来源:basic_socket_streambuf.hpp


示例10: pptr

int PAsteriskLog::Buffer::overflow(int c)
{
	if (pptr() >= epptr()) {
		int ppos = pptr() - pbase();
		char *newptr = string.GetPointer(string.GetSize() + 2000);
		setp(newptr, newptr + string.GetSize() - 1);
		pbump(ppos);
	}
	if (c != EOF) {
		*pptr() = (char)c;
		pbump(1);
	}
	return 0;
}
开发者ID:jameshilliard,项目名称:actiontec_opensrc_mi424wr-rev-e-f_fw-20-10-7-5,代码行数:14,代码来源:ast_h323.cpp


示例11: setp

 int streambuf::sync ()
 {
         // Ouput all contents of put buffer.
     const std::streamsize count = myChannel.put(
         reinterpret_cast<const uint8*>(pbase()),
         std::streamsize(pptr()-pbase())
         );
     
         // Adjust put buffer pointers.
     setp(pptr(),epptr());
     
         // Indicate status (failure/success).
     return ((count == 0)? 0 : 1);
 }
开发者ID:AndreLouisCaron,项目名称:w32,代码行数:14,代码来源:streambuf.cpp


示例12: return

  streampos strstreambuf::seekoff( streamoff offset,
                                   ios::seekdir direction,
                                   int mode ) {

    streampos  newpos;
    char      *endget;
    char      *pos;

    mode &= (ios::in | ios::out);
    if( (mode == 0) ||
      ( (direction==ios::cur) && (mode == (ios::in | ios::out)) ) ) {
        return( EOF );
    }

    __lock_it( __b_lock );

    // Move the get pointer:
    if( mode & ios::in ) {
        endget = pptr();
        if( endget == NULL || endget < egptr() ) {
            endget = egptr();
        }
        newpos = __get_position( offset, direction, eback(), gptr(), egptr(), endget );
        if( newpos != EOF ) {

            // If the seek went beyond the end of the get area, extend the
            // get area to include the characters in the put area.
            pos = eback() + newpos;
            if( pos > egptr() ) {
                setg( eback(), pos, epptr() );
            } else {
                setg( eback(), pos, egptr() );
            }
        }
    }

    if( mode & ios::out ) {
        // Move the put pointer:
        newpos = __get_position( offset, direction, pbase(), pptr(), epptr(), epptr() );
        if( newpos != EOF ) {
            setp( pbase(), epptr() );
            pbump( newpos );
            if( newpos > __minbuf_size ) {
                __minbuf_size = (int)newpos;
            }
        }
    }
    return( newpos );
  }
开发者ID:ABratovic,项目名称:open-watcom-v2,代码行数:49,代码来源:ssfseeko.cpp


示例13: sync

    virtual int sync()
    {
        if (pbase() != pptr())
        {
            // Replace '\n' at the end of the message with '\0'
            *(pptr() - 1) = '\0';

            // Call the function in sf.pyx that handles new messages
            set_error_message(pbase());

            setp(pbase(), epptr());
        }

        return 0;
    }
开发者ID:acgessler,项目名称:pysfml2-cython,代码行数:15,代码来源:hacks.cpp


示例14: output

ocryptostreambuf::ocryptostreambuf(std::streambuf* out, const crypto_key& key, const crypto_iv& iv, int enc)
  :ctx(EVP_CIPHER_CTX_new()),
   output(*out)
{
  if (!ctx)
    return;

  if (1 != EVP_CipherInit_ex(ctx, EVP_aes_256_cbc(), NULL, key.data(), iv.data(), enc))
    {
      EVP_CIPHER_CTX_free(ctx);
      ctx = NULL;
    }

  setp(in.data(),in.data()+in.size());
}
开发者ID:jklof,项目名称:cryptostreambuf,代码行数:15,代码来源:cryptostreambuf.cpp


示例15: systembuf

    /**
     * Constructs a new systembuf for the given file handle.
     *
     * This constructor creates a new systembuf object that reads or
     * writes data from/to the \a h native file handle. This handle
     * is \b not owned by the created systembuf object; the code
     * should take care of it externally.
     *
     * This class buffers input and output; the buffer size may be
     * tuned through the \a bufsize parameter, which defaults to 8192
     * bytes.
     *
     * \see pistream and postream
     */
    explicit systembuf(handle_type h, std::size_t bufsize = 8192)
        : handle_(h),
          bufsize_(bufsize),
          read_buf_(new char[bufsize]),
          write_buf_(new char[bufsize])
    {
#if defined(BOOST_POSIX_API)
        BOOST_ASSERT(handle_ >= 0);
#elif defined(BOOST_WINDOWS_API)
        BOOST_ASSERT(handle_ != INVALID_HANDLE_VALUE);
#endif
        BOOST_ASSERT(bufsize_ > 0);

        setp(write_buf_.get(), write_buf_.get() + bufsize_);
    }
开发者ID:daniperez,项目名称:magrit,代码行数:29,代码来源:systembuf.hpp


示例16: Assert

  int gzstreambuf::overflow(int c)
  {
    Assert(write);

    int w = pptr() - pbase();
    if (c != EOF)
    {
      *pptr() = c;
      ++w;
    }

    int byteswritten = gzwrite(gz, (void *)pbase(), w * sizeof(char));
    if (byteswritten == (w * sizeof(char)))
    {
      setp(buf, buf + bufsize - 1);
      return 0;
    }
    else
    {
      error = true;
      setp(0, 0);
      return EOF;
    }
  }
开发者ID:CanoeFZH,项目名称:dx-toolkit,代码行数:24,代码来源:Compress.cpp


示例17: pbase

bool exec_stream_buffer_t::send_buffer()
{
    if( pbase()!=pptr() ) {
        std::size_t write_size=pptr()-pbase();
        std::size_t n=write_size;
        bool no_more;
        m_thread_buffer.put( pbase(), n, no_more );
        if( no_more || n!=write_size ) {
            return false;
        }else {
            setp( m_stream_buffer, m_stream_buffer+STREAM_BUFFER_SIZE );
        }
    }
    return true;
}
开发者ID:EarthDollar,项目名称:farmer,代码行数:15,代码来源:exec-stream.cpp


示例18: _buf_size

DatagramConnection::Stream::Stream(DatagramConnection &conn, const dtn::data::Length &maxmsglen)
    : std::iostream(this), _buf_size(maxmsglen), _first_segment(true), _last_segment(false),
      _queue_buf(_buf_size), _queue_buf_len(0), _queue_buf_head(false),
      _out_buf(_buf_size), _in_buf(_buf_size),
      _abort(false), _skip(false), _reject(false), _callback(conn)
{
    // Initialize get pointer. This should be zero so that underflow
    // is called upon first read.
    setg(0, 0, 0);

    // mark the buffer for outgoing data as free
    // the +1 sparse the first byte in the buffer and leave room
    // for the processing flags of the segment
    setp(&_out_buf[0], &_out_buf[0] + _buf_size - 1);
}
开发者ID:pipboy20k,项目名称:ibrdtn,代码行数:15,代码来源:DatagramConnection.cpp


示例19: if

void
strstreambuf::__init(char* __gnext, streamsize __n, char* __pbeg)
{
    if (__n == 0)
        __n = static_cast<streamsize>(strlen(__gnext));
    else if (__n < 0)
        __n = INT_MAX;
    if (__pbeg == nullptr)
        setg(__gnext, __gnext, __gnext + __n);
    else
    {
        setg(__gnext, __gnext, __pbeg);
        setp(__pbeg, __pbeg + __n);
    }
}
开发者ID:crystax,项目名称:android-toolchain-libcxx-3-6,代码行数:15,代码来源:strstream.cpp


示例20: wide_size_

unicode_streambuf::unicode_streambuf(std::wstreambuf* wide_buffer, size_t size)
    : wide_size_(size), narrow_size_(wide_size_ * utf8_max_character_size),
    narrow_(new char[narrow_size_]), wide_(new wchar_t[narrow_size_]),
    wide_buffer_(wide_buffer)
{
    if (wide_size_ > (bc::max_uint64 / utf8_max_character_size))
        throw std::ios_base::failure(
            "Wide buffer must be no more than one fourth of max uint64.");

    // Input buffer is not yet populated, reflect zero length buffer here.
    setg(narrow_, narrow_, narrow_);

    // Output buffer is underexposed by 1 byte to accomodate the overflow byte.
    setp(narrow_, &narrow_[narrow_size_ - 1]);
}
开发者ID:Saad94,项目名称:libbitcoin,代码行数:15,代码来源:unicode_streambuf.cpp



注:本文中的setp函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C++ setpath函数代码示例发布时间:2022-05-30
下一篇:
C++ setopt函数代码示例发布时间:2022-05-30
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap