# 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

ACE_DIR * | dirp_
| 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.

ACE_BEGIN_VERSIONED_NAMESPACE_DECL ACE_INLINE int ACE_Dirent::open | ( | const ACE_TCHAR * | filename | ) |

| 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:

- Dirent.h
- Dirent.inl