当前位置: 首页>>代码示例>>C++>>正文


C++ refill函数代码示例

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


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

示例1: memcpy

// ******************************************************
uint32_t         dmx_demuxerMSDVR::read(uint8_t *w,uint32_t len)
{
  uint32_t mx;
                // enough in buffer ?
  if(_pesBufferIndex+len<=_pesBufferLen)
  {
    memcpy(w,_pesBuffer+_pesBufferIndex,len);
    _pesBufferIndex+=len;
    consumed+=len;
    return len;
  }
                // flush
  mx=_pesBufferLen-_pesBufferIndex;
  if(mx)
  {
    memcpy(w,_pesBuffer+_pesBufferIndex,mx);
    _pesBufferIndex+=mx;
    consumed+=mx;
    w+=mx;
    len-=mx;
  }
  if(!refill())
  {
    printf("Refill failed at %d  \n",_pesBufferStart);
    _lastErr=1;
    return 0;
  }
  return mx+read(w,len);
}
开发者ID:BackupTheBerlios,项目名称:avidemux-svn,代码行数:30,代码来源:dmx_demuxerMSDVR.cpp

示例2: refill

// -------------------------------------------------------
// next level
// -------------------------------------------------------
void Board::nextLevel(int level) {
	_hover = -1;
	_killed = 0;
	_maxBombs = level * 2;
	refill();	
	_grid.decrementBombs();
}
开发者ID:amecky,项目名称:energy_rush,代码行数:10,代码来源:Board.cpp

示例3: REQUIRE

int ScanStreamBase::get( void )
//-----------------------------
{
    REQUIRE( !_error, "ScanStreamBase::get with _error ! " );
    if( _eof ) {
        return EOF;
    }
    if( _usePrev ) {
        _usePrev = false;
        _eof = _prevEOF;
        return _prevChar;
    }

    int ret = _buffer[ _currPos ];

    _currPos += 1;
    if( _currPos > _endPos ) {
        refill();
    }

    if( ret == '\n' ) {
        _line += 1;
    }

    return ret;
}
开发者ID:ArmstrongJ,项目名称:open-watcom-v2,代码行数:26,代码来源:opstream.cpp

示例4: _inStream

VorbisStream::VorbisStream(Common::SeekableReadStream *inStream, DisposeAfterUse::Flag dispose) :
	_inStream(inStream),
	_disposeAfterUse(dispose),
	_length(0, 1000),
	_bufferEnd(_buffer + ARRAYSIZE(_buffer)) {

	int res = ov_open_callbacks(inStream, &_ovFile, NULL, 0, g_stream_wrap);
	if (res < 0) {
		warning("Could not create Vorbis stream (%d)", res);
		_pos = _bufferEnd;
		return;
	}

	// Read in initial data
	if (!refill())
		return;

	// Setup some header information
	_isStereo = ov_info(&_ovFile, -1)->channels >= 2;
	_rate = ov_info(&_ovFile, -1)->rate;

#ifdef USE_TREMOR
	_length = Timestamp(ov_time_total(&_ovFile, -1), getRate());
#else
	_length = Timestamp(uint32(ov_time_total(&_ovFile, -1) * 1000.0), getRate());
#endif
}
开发者ID:St0rmcrow,项目名称:scummvm,代码行数:27,代码来源:vorbis.cpp

示例5: memcpy

/**
        \fn peek

*/
bool      ADM_audioStreamBuffered::peek(uint32_t n,uint8_t *d)
{
        if(start+n>=limit) refill();
        if(start+n>=limit) return false;
        memcpy(d,buffer.at(start),n);
        return true;
}
开发者ID:BackupTheBerlios,项目名称:avidemux-svn,代码行数:11,代码来源:ADM_audioStreamBuffered.cpp

示例6: ScanStreamBase

ScanStreamFile::ScanStreamFile( const char * fname )
                : ScanStreamBase()
                , _fileName( fname )
//--------------------------------------------------
{
    char buffer[ _MAX_PATH ];

    _handle = open( fname, O_TEXT | O_RDONLY );
    for( int i = 0; i < _searchPaths.count() &&
                    _handle < 0 && errno == ENOENT; i += 1 ) {

        strcpy( buffer, _searchPaths[ i ] );

        char c = buffer[ strlen( buffer ) - 1 ];
        if( !strchr( PathDelim, c ) ) {
            strcat( buffer, "/" );
        }

        strcat( buffer, fname );
        _handle = open( buffer, O_TEXT | O_RDONLY );
    }

    if( _handle < 0 ) {
        if( errno != ENOENT ) {
            errMessage( "ScanStream::Streamfile - [%s]: %s", fname, strerror( errno ) );
        } else {
            _error = true;
        }
    } else {
        _endPos = SECTOR_SIZE;      // so refill won't think eof.
        refill();
    }
}
开发者ID:ArmstrongJ,项目名称:open-watcom-v2,代码行数:33,代码来源:opstream.cpp

示例7: FS_getChar

int FS_getChar(int dev)
{
    struct FileStream *f;

    if (opened(dev, 1) == -1)
    {
        return -1;
    }

    f = g_file[dev];
    if (f->inSize == f->inCapacity && refill(dev) == -1)
    {
        return -1;
    }

    FS_errmsg = (const char *)0;
    if (f->inSize + 1 == f->inCapacity)
    {
        char ch = f->inBuf[f->inSize];

        f->inSize = f->inCapacity = 0;
        return ch;
    }
    else
    {
        return f->inBuf[f->inSize++];
    }
}
开发者ID:hmchen1,项目名称:ros2_embedded_nuttx,代码行数:28,代码来源:fs.c

示例8: aprintf

/**
    \fn getNextFrame
*/
 bool         resampleFps::getNextFrame(uint32_t *fn,ADMImage *image)
{

    if(!prefillDone) // Empty, need 1/ to refill, 2/ to rebase
    {
          if(false==refill()) return false;
          baseTime=frames[1]->Pts;  // We start at the first frame
          if(false==refill()) return false;
          prefillDone=true;
    }
    float offset=configuration.newFpsDen;
    offset*=1000000LL;
    offset*=nextFrame;
    offset=(offset+(configuration.newFpsNum/2-1))/configuration.newFpsNum;
    uint64_t thisTime=baseTime+(uint64_t)offset;

again:
    
    uint64_t frame1Dts=frames[0]->Pts;
    uint64_t frame2Dts=frames[1]->Pts;
    aprintf("Frame : %d, timeIncrement %d ms, Wanted : %" PRIu64", available %" PRIu64" and %" PRIu64"\n",
                    nextFrame,info.frameIncrement/1000,thisTime,frame1Dts,frame2Dts);
    if(thisTime>frame1Dts && thisTime>frame2Dts)
    {
        if(false==refill()) return false;
        goto again;
    }
    if(thisTime<frame1Dts && thisTime<frame2Dts)
    {
        image->duplicate(frames[0]);
        image->Pts=thisTime;
        *fn=nextFrame++;
        return true;
    }
    // In between, take closer
    double diff1=(double)thisTime-double(frame1Dts);
    double diff2=(double)thisTime-double(frame2Dts);
    if(diff1<0) diff1=-diff1;
    if(diff2<0) diff2=-diff2;
    int index=1;
    if(diff1<diff2) index=0;

    image->duplicate(frames[index]);
    image->Pts=thisTime;
    *fn=nextFrame++;
    return true;
}
开发者ID:mean00,项目名称:avidemux2,代码行数:50,代码来源:ADM_vidResampleFPS.cpp

示例9: while

/**
    \fn needBytes
*/
bool      ADM_audioStreamBuffered::needBytes(uint32_t nbBytes)
{
    while(1)
    {
        if((limit-start)>=nbBytes) return true;
        if(false==refill()) return false;
    }
}
开发者ID:BackupTheBerlios,项目名称:avidemux-svn,代码行数:11,代码来源:ADM_audioStreamBuffered.cpp

示例10: refill

int DialogSocket::peek()
{
	refill();
	if (_pNext != _pEnd)
		return std::char_traits<char>::to_int_type(*_pNext);
	else
		return EOF_CHAR;
}
开发者ID:macchina-io,项目名称:macchina.io,代码行数:8,代码来源:DialogSocket.cpp

示例11: peek

int32_t BufferedReader::peek() {
    if (bufferPosition >= bufferLength) {
        if (refill() == READER_EOF) {
            return READER_EOF;
        }
    }
    return buffer[bufferPosition];
}
开发者ID:304471720,项目名称:LucenePlusPlus,代码行数:8,代码来源:BufferedReader.cpp

示例12: refill

int StompSocket::get()
{
	refill();
    //std::cout << "get()==" << *_pNext  << "(" << ((int) *_pNext) << ")" << std::endl;
	if (_pNext != _pEnd)
		return std::char_traits<char>::to_int_type(*_pNext++);
	else
		return EOF_CHAR;
}
开发者ID:ekarak,项目名称:PocoStomp,代码行数:9,代码来源:StompSocket.cpp

示例13: refill

/// Return the next element in the chunk.
inline std::vector<flexible_type>&& sframe_reader_buffer::next() {
  if (m_buffer_pos == m_buffer.size()) {
    refill();
    m_buffer_pos = 0;
  }
  DASSERT_LT(m_buffer_pos, m_buffer.size());
  ++m_iter;
  return std::move(m_buffer[m_buffer_pos++]);
}
开发者ID:Hannah1999,项目名称:Dato-Core,代码行数:10,代码来源:sframe_reader_buffer.hpp

示例14: refill

T&& sarray_reader_buffer<T>::next() {
  if (m_buffer_pos == m_buffer.size()) {
    refill();
    m_buffer_pos = 0;
  }
  DASSERT_LT(m_buffer_pos, m_buffer.size());
  ++m_iter;
  return std::move(m_buffer[m_buffer_pos++]);
}
开发者ID:Hannah1999,项目名称:Dato-Core,代码行数:9,代码来源:sarray_reader_buffer.hpp

示例15: QWidget

ThumbWidget::ThumbWidget(const SVGInfo &info, bool compare, QWidget *parent) :
    QWidget(parent)
{
    setupUi(this);
#ifdef Q_OS_WIN
    frame->setFrameShadow(QFrame::Plain);
#endif
    refill(info, compare);
}
开发者ID:arikon,项目名称:SVGCleaner,代码行数:9,代码来源:thumbwidget.cpp


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