Beispiel #1
0
    ByteStream::ByteStream(const ByteStream & source):
    allocatedSize(source.getSize()),	// only allocate what is really there, be opportinistic when grow()'ing
    data(source.data),
    size(source.getSize())
    {
	    source.data->ref();
	    beginReadIterator = ReadIterator(*this);
    }
Beispiel #2
0
    ByteStream::ByteStream() :
    allocatedSize(0),
    beginReadIterator(),
    data(NULL),
    size(0)
    {
	    data = Data::getNewData();
	    beginReadIterator = ReadIterator(*this);
    }
Beispiel #3
0
    ByteStream::ByteStream(ReadIterator & source) :
    allocatedSize(0),
    size(0)
    {
	    data = Data::getNewData();
	    put(source.getBuffer(), source.getSize());
	    source.advance(source.getSize());
	    beginReadIterator = ReadIterator(*this);
    }
Beispiel #4
0
    ByteStream::ByteStream(const unsigned char * const newBuffer, const unsigned int bufferSize) :
    allocatedSize(bufferSize),
    data(0),
    size(bufferSize)
    {
	    data = Data::getNewData();
	    if(data->size < size)
	    {
		    delete[] data->buffer;
		    data->buffer = new unsigned char[size];
		    data->size = size;
	    }
	    memcpy(data->buffer, newBuffer, size);
	    beginReadIterator = ReadIterator(*this);
    }
Beispiel #5
0
	inline
    ReadIterator ReadCollection :: getReadRange ( uint64_t first, uint64_t count, Read :: ReadCategory categories ) const
        throw ( ErrorMsg )
    { return ReadIterator ( ( ReadRef ) self -> getReadRange ( first, count, ( uint32_t ) categories ) ); }
Beispiel #6
0
	inline
    ReadIterator ReadCollection :: getReadRange ( uint64_t first, uint64_t count ) const
        throw ( ErrorMsg )
    { return ReadIterator ( ( ReadRef ) self -> getReadRange ( first, count ) ); }
Beispiel #7
0
	inline
    ReadIterator ReadCollection :: getReads ( Read :: ReadCategory categories ) const
        throw ( ErrorMsg )
    { return ReadIterator ( ( ReadRef ) self -> getReads ( ( uint32_t ) categories ) ); }