Rogue Wave banner
Previous fileTop of DocumentContentsIndex pageNext file
Essential Tools Module Reference Guide
Rogue Wave web site:  Home Page  |  Main Documentation Page

RWFile

Module:  Essential Tools Module   Group:  File System Classes


Does not inherit

Local Index

Members

Non-Members

Synopsis

#include <rw/rwfile.h>
RWFile f("filename");

Description

Class RWFile represents an abstraction of a filesystem regular file. The file is manipulated in binary mode by default. This class' interface is based on class PFile of the Interviews Class Library (1987, Stanford University). The member function names begin with upper case letters in order to maintain compatibility with class PFile.

If a function expects an RWFile to exist, your code should always check isValid() prior to calling that function. Failure to do so may cause a runtime error. For example:

Note that RWFile cannot anticipate or define the behavior of a program that calls any member function other than isValid() on an invalid RWFile object.

Persistence

None

Public Constructors

RWFile(const char* filename, const char* mode = 0, bool large_file = false);

NOTE -- Because this class is intended to encapsulate binary operations, it is important that it open or create files in binary mode. If a file mode is not specified, or is a NULL pointer, the file will be opened in binary mode. Using binary mode is particularly important on systems where text mode file streams and binary streams are different.

Public Destructor

~RWFile();

Public Member Functions

const char*
Access() const;
void
ClearErr();
RWoffset
CurOffset() const;
RWoffset64
CurOffset64() const;
bool
eof() const;
bool
Eof() const;
bool
Erase();
bool
Error() const;
bool
Exists() const;
bool
Flush();
const char*
GetName() const;
FILE*
GetStream() const;
bool
good() const;
bool
IsEmpty() const;
bool
isValid() const;
bool
Read(char& c);
bool
Read(wchar_t& wc);
bool
Read(short& i);
bool
Read(int& i);
bool
Read(long& i);
bool
Read(long long& i);
bool
Read(unsigned char& c);
bool
Read(unsigned short& i);
bool
Read(unsigned int& i);
bool
Read(unsigned long& i);
bool
Read(unsigned long long& i);
bool
Read(float& f);
bool
Read(double& d);
bool
Read(long double& d);
bool
Read(char* i, size_t count);

bool
Read(char* i, size_t count, int delim);
bool
Read(wchar_t* i, size_t count);
bool
Read(short* i, size_t count);
bool
Read(int* i, size_t count);
bool
Read(long* i, size_t count);
bool
Read(long long* i, size_t count);
bool
Read(unsigned char* i, size_t count);
bool
Read(unsigned short* i,size_t count);
bool
Read(unsigned int* i, size_t count);
bool
Read(unsigned long* i, size_t count);
bool
Read(unsigned long long* i, size_t count);
bool
Read(float* i, size_t count);
bool
Read(double* i, size_t count);
Read(long double* i, size_t count);
bool
Read(char* string);
bool
SeekTo(RWoffset offset);
bool
SeekTo64(RWoffset64 offset);
bool
SeekToBegin();
bool
SeekToEnd();
bool
Write(char i);
bool
Write(wchar_t i);
bool
Write(short i);
bool
Write(int i);
bool
Write(long i);
bool
Write(long long i);
bool
Write(unsigned char i);
bool
Write(unsigned short i);
bool
Write(unsigned int i);
bool
Write(unsigned long i);
bool
Write(unsigned long long i);
bool
Write(float f);
bool
Write(double d);
bool
Write(long double d);
bool
Write(const char* i, size_t count);
bool
Write(const wchar_t* i, size_t count);
bool
Write(const short* i, size_t count);
bool
Write(const int* i, size_t count);
bool
Write(const long* i, size_t count);
bool
Write(const long long* i, size_t count);
bool
Write(const unsigned char* i, size_t count);
bool
Write(const unsigned short* i,size_t count);
bool
Write(const unsigned int* i, size_t count);
bool
Write(const unsigned long* i, size_t count);
bool
Write(const unsigned long long* i, size_t count);
bool
Write(const float* i, size_t count);
bool
Write(const double* i, size_t count);
Write(const long double* i, size_t count);
bool
Write(const char* string);

Static Public Member Functions

static bool
Exists(const char* filename, int mode = F_OK);

Related Global Operators

RWFile&
operator<<(RWFile&, const RWCString& str);
RWFile&
operator<<(RWFile&, const RWDate& date);
RWFile&
operator<<(RWFile&, const RWInteger& x);
RWFile&
operator<<(RWFile&, const RWTime& t);
RWFile&
operator>>(RWFile&, RWTime& t);
RWFile&
operator>>(RWFile&, RWCString& str);
RWFile&
operator>>(RWFile&, RWDate& date);
RWFile&
operator>>(RWFile&, RWInteger& x);
RWFile&
operator<<(RWFile& strm, const RWTPtrDeque<T,A>& coll);
RWFile&
operator<<(RWFile& strm, const RWTPtrDlist<T,A>& coll);
RWFile&
operator<<(RWFile& strm, const RWTPtrHashMap<K,T,H,EQ,A>&
           coll);
RWFile&
operator<<(RWFile& strm, 
           const RWTPtrHashMultiMap<K,T,H,EQ,A>& coll);
operator<<(RWFile& strm, 
           const RWTPtrHashMultiSet<T,H,EQ,A>& coll); 
RWFile&
operator<<(RWFile& strm, 
           const RWTPtrHashSet<T,H,EQ,A>  & coll);
RWFile&
operator<<(RWFile& strm, const RWTPtrMap<K,T,C,A>& coll);
RWFile&
operator<<(RWFile& strm, 
           const RWTPtrMultiMap<K,T,C,A>& coll);
RWFile&
operator<<(RWFile& strm, const RWTPtrMultiSet<T,C,A>& coll);
RWFile&
operator<<(RWFile& strm, const RWTPtrOrderedVector<T,A> &
           coll);
RWFile&
operator<<(RWFile& strm, const RWTPtrSet<T,C,A>& coll);
RWFile&
operator<<(RWFile& strm, const RWTPtrSlist<T,A>& coll);
RWFile&
operator<<(RWFile& strm, const RWTPtrSortedDlist<T,C,A>&
           coll);
RWFile&
operator<<(RWFile& strm, const RWTPtrSortedVector<T,C,A> &
           coll);
RWFile&
operator<<(RWFile& strm, const RWTValDeque<T,A>& coll);
RWFile&
operator<<(RWFile& strm, const RWTValDlist<T,A>& coll);
RWFile&
operator<<(RWFile& strm, const RWTValHashMap<K,T,H,EQ,A>&
           coll);
RWFile&
operator<<(RWFile& strm, 
           const RWTValHashMultiMap<K,T,H,EQ,A>& coll);
RWFile&
operator<<(RWFile& strm, const RWTValHashSet<T,H,EQ,A>&
           coll);
RWFile&
operator<<(RWFile& strm, const RWTValMap<K,T,C,A>& coll);
RWFile&
operator<<(RWFile& strm, const RWTValMultiMap<K,T,C,A>&
           coll);
RWFile&
operator<<(RWFile& strm, const RWTValMultiSet<T,C,A>& coll);
RWFile&
operator<<(RWFile& strm, const RWTValOrderedVector<T,A>&
           coll);
RWFile&
operator<<(RWFile& strm, const RWTValSet<T,C,A>& coll);
RWFile&
operator<<(RWFile& strm, const RWTValSlist<T,A>& coll);
RWFile&
operator<<(RWFile& strm, const RWTValSortedDlist<T,C,A>&
           coll);
RWFile&
operator<<(RWFile& strm, const RWTValSortedVector& coll);
RWFile&
operator>>(RWFile& strm, RWTPtrDeque<T,A>& coll);
RWFile&
operator>>(RWFile& strm, RWTPtrDlist<T,A>& coll); 
RWFile&
operator>>(RWFile& strm, RWTPtrHashMap<K,T,H,EQ,A>& coll);
RWFile&
operator>>(RWFile& strm, 
           RWTPtrHashMultiMap<K,T,H,EQ,A>& coll);
RWFile&
operator>>(RWFile& strm, 
           RWTPtrHashMultiSet<T,H,EQ,A>& coll);
RWFile&
operator>>(RWFile& strm, RWTPtrHashSet<T,H,EQ,A>  & coll);
RWFile&
operator>>(RWFile& strm, RWTPtrMap<K,T,C,A>& coll);
RWFile&
operator>>(RWFile& strm, RWTPtrMultiMap<K,T,C,A>& coll);
RWFile&
operator>>(RWFile& strm, RWTPtrMultiSet<T,C,A>& coll);
RWFile&
operator>>(RWFile& strm, RWTPtrOrderedVector<T,A> & coll);
RWFile&
operator>>(RWFile& strm, RWTPtrSet<T,C,A>& coll);
RWFile&
operator>>(RWFile& strm, RWTPtrSlist<T,A>& coll);
RWFile&
operator>>(RWFile& strm, RWTPtrSortedDlist<T,C,A>& coll); 
RWFile&
operator>>(RWFile& strm, RWTPtrSortedVector<T,C,A> & coll);
RWFile&
operator>>(RWFile& strm, RWTValDeque<T,A>& coll);
RWFile&
operator>>(RWFile& strm, RWTValDlist<T,A>& coll);
RWFile&
operator>>(RWFile& strm, RWTValHashMap<K,T,H,EQ,A>& coll);
RWFile&
operator>>(RWFile& strm, RWTValHashMultiMap<K,T,H,EQ,A>&
           coll);
RWFile&
operator>>(RWFile& strm, RWTValHashMultiSet<T,H,EQ,A>& coll);
RWFile&
operator>>(RWFile& strm, RWTValHashSet<T,H,EQ,A>& coll);
RWFile&
operator>>(RWFile& strm, RWTValMap<K,T,C,A>& coll);
RWFile&
operator>>(RWFile& strm, RWTValMultiMap<K,T,C,A>& coll);
RWFile&
operator>>(RWFile& strm, RWTValMultiSet<T,C,A>& coll);
RWFile&
operator>>(RWFile& strm, RWTValOrderedVector<T,A>& coll);
RWFile&
operator>>(RWFile& strm, RWTValSet<T,C,A>& coll);
RWFile&
operator>>(RWFile& strm, RWTValSlist<T,A>& coll);
RWFile&
operator>>(RWFile& strm, RWTValSortedDlist<T,C,A>& coll);
RWFile&
operator>>(RWFile& strm, RWTValSortedVector<T,C,A>& coll);
RWFile&
operator>>(RWFile& strm, RWTPtrDeque<T,A>*& p); 
RWFile&
operator>>(RWFile& strm, RWTPtrDlist<T,A>*& p);
RWFile&
operator>>(RWFile& strm, RWTPtrHashMap<K,T,H,EQ,A>*& p);
RWFile&
operator>>(RWFile& strm, 
           RWTPtrHashMultiMap<K,T,H,EQ,A>*& p);
RWFile&
operator>>(RWFile& strm, 
           RWTPtrHashMultiSet<T,H,EQ,A>*& p);
RWFile&
operator>>(RWFile& strm, RWTPtrHashSet<T,H,EQ,A>  *& p);
RWFile&
operator>>(RWFile& strm, RWTPtrMap<K,T,C,A>*& p);
RWFile&
operator>>(RWFile& strm, RWTPtrMultiMap<K,T,C,A>*& p);
RWFile&
operator>>(RWFile& strm, RWTPtrMultiSet<T,C,A>*& p);
RWFile&
operator>>(RWFile& strm, RWTPtrOrderedVector<T,A> *& p);
RWFile&
operator>>(RWFile& strm, RWTPtrSet<T,C,A>*& p);
RWFile&
operator>>(RWFile& strm, RWTPtrSlist<T,A>*& p);
RWFile&
operator>>(RWFile& strm, RWTPtrSortedDlist<T,C,A>*& p);
RWFile&
operator>>(RWFile& strm, RWTPtrSortedVector<T,C,A> *& p);
RWFile&
operator>>(RWFile& strm, RWTValDeque<T,A>*& p);
RWFile&
operator>>(RWFile& strm, RWTValDlist<T,A>*& p);
RWFile&
operator>>(RWFile& strm, RWTValHashMap<K,T,H,EQ,A>*& p);
RWFile&
operator>>(RWFile& strm, RWTValHashMultiMap<K,T,H,EQ,A>*& p);
RWFile&
operator>>(RWFile& strm, RWTValHashMultiSet<T,H,EQ,A>*& p);
RWFile&
operator>>(RWFile& strm, RWTValHashSet<T,H,EQ,A>*& p);
RWFile&
operator>>(RWFile& strm, RWTValMap<K,T,C,A>*& p);
RWFile&
operator>>(RWFile& strm, RWTValMultiMap<K,T,C,A>*& p);
RWFile&
operator>>(RWFile& strm, RWTValMultiSet<T,C,A>*& p);
RWFile&
operator>>(RWFile& strm, RWTValOrderedVector<T,A>*& p);
RWFile&
operator>>(RWFile& strm, RWTValSet<T,C,A>*& p);
RWFile&
operator>>(RWFile& strm, RWTValSlist<T,A>*& p);
RWFile&
operator>>(RWFile& strm, RWTValSortedDlist<T,C,A>*& p);
RWFile&
operator>>(RWFile& strm, RWTValSortedVector<T,C,A>*& p);


Previous fileTop of DocumentContentsIndex pageNext file

© Copyright Rogue Wave Software, Inc. All Rights Reserved.
Rogue Wave and SourcePro are registered trademarks of Rogue Wave Software, Inc. in the United States and other countries. All other trademarks are the property of their respective owners.
Contact Rogue Wave about documentation or support issues.