|
libebml_ng
|
Base class for file-like IO operations. More...
#include <io.h>
Public Member Functions | |
| ioBase () | |
| virtual | ~ioBase () |
| size_t | read (char *, size_t) |
| size_t | write (const char *, size_t) |
| off_t | seek (off_t, int whence=SEEK_SET) |
| virtual bool | seekable ()=0 |
| off_t | tell () |
| virtual size_t | read (char *, off_t, size_t)=0 |
| virtual size_t | write (const char *, off_t, size_t)=0 |
| void | close () |
| bool | closed () const |
| virtual void | truncate ()=0 |
| virtual void | truncate (off_t)=0 |
| virtual struct stat | stat ()=0 |
| std::unique_lock< std::recursive_mutex > | acquireLock () |
Protected Member Functions | |
| virtual size_t | _read (char *, size_t)=0 |
| virtual size_t | _write (const char *, size_t)=0 |
| virtual off_t | _seek (off_t, int)=0 |
| virtual off_t | _tell ()=0 |
| virtual void | _close ()=0 |
| ioBase (const ioBase &) | |
| ioBase & | operator= (const ioBase &) |
Protected Attributes | |
| off_t | _pos |
| bool | _closed = 0 |
| bool | _close_on_dealloc = 0 |
Base class for file-like IO operations.
Provides a common interface for reading, writing, seeking, and other file operations. Derived classes must implement the low-level functions.
ebml::io<T>
|
inline |
|
virtual |
|
protected |
|
protectedpure virtual |
|
protectedpure virtual |
|
protectedpure virtual |
|
protectedpure virtual |
|
protectedpure virtual |
|
inline |
| void ebml::ioBase::close | ( | ) |
| bool ebml::ioBase::closed | ( | ) | const |
| size_t ebml::ioBase::read | ( | char * | dest, |
| size_t | size | ||
| ) |
|
pure virtual |
Implemented in ebml::io< T >, ebml::io< T >, ebml::io< T >, ebml::io< T >, and ebml::io< T >.
| off_t ebml::ioBase::seek | ( | off_t | pos, |
| int | whence = SEEK_SET |
||
| ) |
|
pure virtual |
Implemented in ebml::io< T >, ebml::io< T >, ebml::io< T >, ebml::io< T >, ebml::io< T >, ebml::io< T >, ebml::io< T >, ebml::io< T >, ebml::io< T >, and ebml::io< T >.
|
pure virtual |
Implemented in ebml::io< T >, ebml::io< T >, ebml::io< T >, ebml::io< T >, ebml::io< T >, ebml::io< T >, ebml::io< T >, ebml::io< T >, ebml::io< T >, and ebml::io< T >.
| off_t ebml::ioBase::tell | ( | ) |
|
pure virtual |
Implemented in ebml::io< T >, ebml::io< T >, ebml::io< T >, ebml::io< T >, ebml::io< T >, ebml::io< T >, and ebml::io< T >.
|
pure virtual |
Implemented in ebml::io< T >, ebml::io< T >, ebml::io< T >, ebml::io< T >, ebml::io< T >, ebml::io< T >, and ebml::io< T >.
| size_t ebml::ioBase::write | ( | const char * | src, |
| size_t | size | ||
| ) |
|
pure virtual |
Implemented in ebml::io< T >, ebml::io< T >, ebml::io< T >, ebml::io< T >, and ebml::io< T >.
|
protected |
|
protected |
|
protected |
1.8.14