ACE_Dirent Class Reference

Define a portable C++ directory-entry iterator based on the POSIX API. More...

#include <Dirent.h>

List of all members.

Public Member Functions

 ACE_Dirent (void)
 Default constructor.
 ACE_Dirent (const ACE_TCHAR *dirname)
 Constructor calls <opendir>.
int open (const ACE_TCHAR *filename)
 ~ACE_Dirent (void)
 Destructor calls <closedir>.
void close (void)
 Closes the directory stream and frees the <ACE_DIR> structure.
ACE_DIRENT * read (void)
int read (struct ACE_DIRENT *entry, struct ACE_DIRENT **result)
long tell (void)
void seek (long loc)
void rewind (void)

Private Attributes

 Pointer to the directory stream.

Detailed Description

Define a portable C++ directory-entry iterator based on the POSIX API.

Constructor & Destructor Documentation

ACE_INLINE ACE_Dirent::ACE_Dirent ( void   ) 

Default constructor.

ACE_INLINE ACE_Dirent::ACE_Dirent ( const ACE_TCHAR dirname  )  [explicit]

Constructor calls <opendir>.

ACE_INLINE ACE_Dirent::~ACE_Dirent ( void   ) 

Destructor calls <closedir>.

Member Function Documentation

ACE_INLINE void ACE_Dirent::close ( void   ) 

Closes the directory stream and frees the <ACE_DIR> structure.


Opens the directory named by filename and associates a directory stream with it.

ACE_INLINE int ACE_Dirent::read ( struct ACE_DIRENT *  entry,
struct ACE_DIRENT **  result 

Has the equivalent functionality as <readdir> except that an <entry> and <result> buffer must be supplied by the caller to store the result.

ACE_INLINE ACE_DIRENT * ACE_Dirent::read ( void   ) 

Returns a pointer to a structure representing the directory entry at the current position in the directory stream to which dirp refers, and positions the directory stream at the next entry, except on read-only filesystems. It returns a NULL pointer upon reaching the end of the directory stream, or upon detecting an invalid location in the directory. <readdir> shall not return directory entries containing empty names. It is unspecified whether entries are returned for dot or dot-dot. The pointer returned by <readdir> points to data that may be overwritten by another call to <readdir> on the same directory stream. This data shall not be overwritten by another call to <readdir> on a different directory stream. <readdir> may buffer several directory entries per actual read operation; <readdir> marks for update the st_atime field of the directory each time the directory is actually read.

ACE_INLINE void ACE_Dirent::rewind ( void   ) 

Resets the position of the directory stream to the beginning of the directory. It also causes the directory stream to refer to the current state of the corresponding directory, as a call to <opendir> would.

ACE_INLINE void ACE_Dirent::seek ( long  loc  ) 

Sets the position of the next <readdir> operation on the directory stream. The new position reverts to the position associated with the directory stream at the time the <telldir> operation that provides loc was performed. Values returned by <telldir> are good only for the lifetime of the <ACE_DIR> pointer from which they are derived. If the directory is closed and then reopened, the <telldir> value may be invalidated due to undetected directory compaction. It is safe to use a previous <telldir> value immediately after a call to <opendir> and before any calls to readdir.

ACE_INLINE long ACE_Dirent::tell ( void   ) 

Returns the current location associated with the directory stream.

Member Data Documentation

ACE_DIR* ACE_Dirent::dirp_ [private]

Pointer to the directory stream.

The documentation for this class was generated from the following files:
Generated on Fri Oct 6 15:21:48 2006 for ACE by  doxygen 1.4.7-1