|
ucommon
|
A generic file streaming class built from the buffer protocol. More...
#include <buffer.h>


Public Member Functions | |
| void | close (void) |
| Close the file, flush buffers. | |
| void | create (char *path, fsys::access_t access=fsys::ACCESS_APPEND, unsigned permissions=0640, size_t size=512) |
| Create and open the specified file. | |
| fbuf () | |
| Construct an unopened file buffer. | |
| fbuf (char *path, fsys::access_t access, unsigned permissions, size_t size) | |
| Construct a file buffer that creates and opens a specific file. | |
| fbuf (char *path, fsys::access_t access, size_t size) | |
| Construct a file buffer that opens an existing file. | |
| void | open (char *path, fsys::access_t access=fsys::ACCESS_RDWR, size_t size=512) |
| Construct a file buffer that opens an existing file. | |
| bool | seek (offset_t offset) |
| Seek specific offset in open file and reset I/O buffers. | |
| offset_t | tell (void) |
| Give the current position in the currently open file. | |
| bool | trunc (offset_t offset) |
| Truncate the currently open file to a specific position. | |
| ~fbuf () | |
| Destroy object and release all resources. | |
Protected Member Functions | |
| void | _clear (void) |
| Method to clear low level i/o error. | |
| int | _err (void) |
| size_t | _pull (char *address, size_t size) |
| Method to pull buffer from physical i/o (read). | |
| size_t | _push (char *address, size_t size) |
| fd_t | getfile (void) |
A generic file streaming class built from the buffer protocol.
This can be used in place of fopen based file operations and does not require libstdc++.
| ucommon::fbuf::fbuf | ( | char * | path, |
| fsys::access_t | access, | ||
| unsigned | permissions, | ||
| size_t | size | ||
| ) |
Construct a file buffer that creates and opens a specific file.
| path | of file to create. |
| access | mode of file (rw, rdonly, etc). |
| permissions | of the newly created file. |
| size | of the stream buffer. |
| ucommon::fbuf::fbuf | ( | char * | path, |
| fsys::access_t | access, | ||
| size_t | size | ||
| ) |
Construct a file buffer that opens an existing file.
| path | of existing file to open. |
| access | mode of file (rw, rdonly, etc). |
| size | of the stream buffer. |
| size_t ucommon::fbuf::_pull | ( | char * | address, |
| size_t | size | ||
| ) | [protected, virtual] |
Method to pull buffer from physical i/o (read).
The address is passed to this virtual since it is hidden as private.
| address | of buffer to pull data into. |
| size | of buffer area being pulled.. |
Implements ucommon::BufferProtocol.
| void ucommon::fbuf::create | ( | char * | path, |
| fsys::access_t | access = fsys::ACCESS_APPEND, |
||
| unsigned | permissions = 0640, |
||
| size_t | size = 512 |
||
| ) |
Create and open the specified file.
If a file is currently open, it is closed first.
| path | of file to create. |
| access | mode of file (rw, rdonly, etc). |
| permissions | of the newly created file. |
| size | of the stream buffer. |
| void ucommon::fbuf::open | ( | char * | path, |
| fsys::access_t | access = fsys::ACCESS_RDWR, |
||
| size_t | size = 512 |
||
| ) |
Construct a file buffer that opens an existing file.
| path | of existing file to open. |
| access | mode of file (rw, rdonly, etc). |
| size | of the stream buffer. |
| bool ucommon::fbuf::seek | ( | offset_t | offset | ) |
Seek specific offset in open file and reset I/O buffers.
If the file is opened for both read and write, both the read and write position will be reset.
| offset | to seek. |
Reimplemented from ucommon::fsys.
| offset_t ucommon::fbuf::tell | ( | void | ) |
Give the current position in the currently open file.
If we are appending, this is always seek::end. If we have a file opened for both read and write, this gives the read offset.
| bool ucommon::fbuf::trunc | ( | offset_t | offset | ) |
Truncate the currently open file to a specific position.
All I/O buffers are reset and the file pointer is set to the end.
| offset | to truncate. |
Reimplemented from ucommon::fsys.
1.7.6.1