TagLib
2.1
|
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.
Position in the file used for seeking.
Enumerator | |
---|---|
Beginning | Seek from the beginning of the file. |
Current | Seek from the current position in the file. |
End | Seek from the end of the file. |
TagLib::IOStream::IOStream | ( | ) |
Referenced by IOStream(), and operator=().
|
virtual |
Destroys this IOStream instance.
|
delete |
References IOStream().
|
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.
Referenced by readBlock(), removeBlock(), and truncate().
|
pure virtual |
Returns the stream name in the local file system encoding.
Implemented in TagLib::ByteVectorStream, and TagLib::FileStream.
References IOStream().
|
pure virtual |
Reads a block of size length at the current get pointer.
Implemented in TagLib::ByteVectorStream, and TagLib::FileStream.
References length().
|
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.
References length().
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.
References Beginning.
|
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.
References length(), and TAGLIB_MSVC_SUPPRESS_WARNING_NEEDS_TO_HAVE_DLL_INTERFACE.
|
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.