An abstract class that provides operations on a sequence of bytes. More...
#include <tiostream.h>
Public Types | |
enum | Position { Beginning , Current , End } |
Public Member Functions | |
IOStream () | |
virtual | ~IOStream () |
IOStream (const IOStream &)=delete | |
IOStream & | operator= (const IOStream &)=delete |
virtual FileName | name () const =0 |
virtual ByteVector | readBlock (size_t length)=0 |
virtual void | writeBlock (const ByteVector &data)=0 |
virtual void | insert (const ByteVector &data, offset_t start=0, size_t replace=0)=0 |
virtual void | removeBlock (offset_t start=0, size_t length=0)=0 |
virtual bool | readOnly () const =0 |
virtual bool | isOpen () const =0 |
virtual void | seek (offset_t offset, Position p=Beginning)=0 |
virtual void | clear () |
virtual offset_t | tell () const =0 |
virtual offset_t | length ()=0 |
virtual void | truncate (offset_t length)=0 |
An abstract class that provides operations on a sequence of bytes.
TagLib::IOStream::IOStream | ( | ) |
|
virtual |
Destroys this IOStream instance.
|
delete |
|
virtual |
Reset the end-of-stream and error flags on the stream.
Reimplemented in TagLib::ByteVectorStream, and TagLib::FileStream.
|
pure virtual |
Insert data at position start in the file overwriting replace bytes of the original content.
Implemented in TagLib::ByteVectorStream, and TagLib::FileStream.
|
pure virtual |
Since the file can currently only be opened as an argument to the constructor (sort-of by design), this returns if that open succeeded.
Implemented in TagLib::ByteVectorStream, and TagLib::FileStream.
|
pure virtual |
Returns the length of the stream.
Implemented in TagLib::ByteVectorStream, and TagLib::FileStream.
|
pure virtual |
Returns the stream name in the local file system encoding.
Implemented in TagLib::ByteVectorStream, and TagLib::FileStream.
|
pure virtual |
Reads a block of size length at the current get pointer.
Implemented in TagLib::ByteVectorStream, and TagLib::FileStream.
|
pure virtual |
Returns true
if the file is read only (or if the file can not be opened).
Implemented in TagLib::ByteVectorStream, and TagLib::FileStream.
|
pure virtual |
Removes a block of the file starting a start and continuing for length bytes.
Implemented in TagLib::ByteVectorStream, and TagLib::FileStream.
Move the I/O pointer to offset in the stream from position p. This defaults to seeking from the beginning of the stream.
Implemented in TagLib::ByteVectorStream, and TagLib::FileStream.
|
pure virtual |
Returns the current offset within the stream.
Implemented in TagLib::ByteVectorStream, and TagLib::FileStream.
|
pure virtual |
Truncates the stream to a length.
Implemented in TagLib::ByteVectorStream, and TagLib::FileStream.
|
pure virtual |
Attempts to write the block data at the current get pointer. If the file is currently only opened read only – i.e. readOnly() returns true
– this attempts to reopen the file in read/write mode.
Implemented in TagLib::ByteVectorStream, and TagLib::FileStream.