38#include "blocxx/BLOCXX_config.h"
42#ifdef BLOCXX_HAVE_UNISTD_H
96#pragma message(Reminder "TODO: implement it for Win!")
195 if (
written ==
static_cast<size_t>(
n))
213 if (
numRead !=
static_cast<size_t>(
n))
234std::ios_base::openmode
244 case O_RDONLY:
mode |= (std::ios::in | std::ios::binary);
break;
245 case O_WRONLY:
mode |= (std::ios::out | std::ios::binary);
break;
246 case O_RDWR:
mode |= (std::ios::in | std::ios::out | std::ios::binary);
break;
265 if (
cppMode & (std::ios::in | std::ios::out))
269 else if (
cppMode & std::ios::in)
273 else if (
cppMode & std::ios::out)
288 cppMode == (ios::in|ios::app) ||
289 cppMode == (ios::out|ios::app) )
294 else if(
cppMode == (ios::binary|ios::app) ||
295 cppMode == (ios::in|ios::binary|ios::app) ||
296 cppMode == (ios::out|ios::binary|ios::app) )
306 else if (
cppMode == (ios::in|ios::binary))
311 else if (
cppMode == (ios::out|ios::in))
316 else if (
cppMode == (ios::out|ios::in|ios::app))
321 else if (
cppMode == (ios::out|ios::in|ios::binary))
326 else if (
cppMode == (ios::out|ios::in|ios::binary|ios::app))
331 else if( (
cppMode == ios::out) ||
333 cppMode == (ios::trunc|ios::app) ||
334 cppMode == (ios::trunc|ios::out) ||
335 cppMode == (ios::trunc|ios::out|ios::app) )
340 else if( (
cppMode == (ios::trunc|ios::binary)) ||
341 (
cppMode == (ios::trunc|ios::binary|ios::app)) ||
342 (
cppMode == (ios::out|ios::binary)) ||
343 (
cppMode == (ios::trunc|ios::out|ios::binary)) ||
344 (
cppMode == (ios::trunc|ios::out|ios::binary|ios::app) ))
349 else if( (
cppMode == (ios::trunc|ios::out|ios::in)) ||
350 (
cppMode == (ios::trunc|ios::out|ios::in|ios::app)) )
355 else if( (
cppMode == (ios::trunc|ios::out|ios::in|ios::binary)) ||
356 (
cppMode == (ios::trunc|ios::out|ios::in|ios::binary|ios::app)) )
#define BLOCXX_THROW_ERRNO_MSG(exType, msg)
Throw an exception using FILE, LINE, errno and strerror(errno)
#define BLOCXX_INVALID_HANDLE
PURPOSE: The AutoResource class template is an analog of std::auto_ptr for managing arbitrary resourc...
The purpose of this class is to provide an alternative implementation of std::filebuf that is based o...
const char * cppModeToCMode(std::ios_base::openmode cppMode)
Converts C++ iostream open mode to C stdio file open mode or the empty string on error (never returns...
std::ios_base::openmode posixModeToCppMode(int posixMode)
Converts POSIX io open mode flags to C++ iostream open mode.
int cppModeToPOSIXMode(std::ios_base::openmode cppMode)
Converts C++ iostream open mode to POSIX io open mode.
virtual int buffer_from_device(char *c, int n)
Fill the buffer from the "device".
virtual int buffer_to_device(const char *c, int n)
Writes the buffer to the "device".
FileBuf * close()
If isOpen() == false, returns a null pointer.
FileBuf * open(FILE *fp)
If isOpen() == true, returns 0, otherwise initializes the FileBuf to use fp.
The purpose of the File class is to provide an abstraction layer over the platform dependant function...
bool operator==(const Array< T > &x, const Array< T > &y)