Elaboradar
0.1
|
Common operations on file descriptors. Continua...
#include <sys.h>
Membri pubblici | |
virtual void | throw_error (const char *desc) |
Throw an exception based on errno and the given message. Continua... | |
virtual void | throw_runtime_error (const char *desc) |
Throw a runtime_error unrelated from errno. Continua... | |
bool | is_open () const |
Check if the file descriptor is open (that is, if it is not -1) Continua... | |
void | close () |
Close the file descriptor, setting its value to -1. Continua... | |
bool | read_all_or_retry (void *buf, size_t count) |
Read count bytes into bufr, retrying partial reads, stopping at EOF. Continua... | |
void | read_all_or_throw (void *buf, size_t count) |
Read all the data into buf, throwing runtime_error in case of a partial read. Continua... | |
void | write_all_or_retry (const void *buf, size_t count) |
Write all the data in buf, retrying partial writes. Continua... | |
void | write_all_or_throw (const void *buf, size_t count) |
Write all the data in buf, throwing runtime_error in case of a partial write. Continua... | |
bool | ofd_setlk (struct ::flock &) |
Open file description locks F_OFD_SETLK operation. Continua... | |
bool | ofd_setlkw (struct ::flock &, bool retry_on_signal=true) |
Open file description locks F_OFD_SETLKW operation. Continua... | |
bool | ofd_getlk (struct ::flock &) |
Open file description locks F_OFD_GETLK operation. Continua... | |
int | getfl () |
Get open flags for the file. Continua... | |
void | setfl (int flags) |
Set open flags for the file. Continua... | |
Common operations on file descriptors.
Except when documented otherwise, methods of this class are just thin wrappers around the libc functions with the same name, that check error results and throw exceptions if the functions failed.
Implementing what to do on construction and destruction is left to the subclassers: at the FileDescriptor level, the destructor does nothing and leaves the file descriptor open.