Listing 1: FileSearch public interface.

/// This class provides . . .
/// \ingroup group_recls_cppclass FileSearch
{
/// \name Construction
/// @{
public:
  /// Creates a search for . . .
  /// \param rootDir The starting directory for the search. If NULL . . .
  /// \param pattern The search pattern, e.g. "*.h". If NULL . . .
  /// \param flags Combination of enumerants from \c RECLS_FLAG enumeration
  FileSearch(char const *rootDir, char const *pattern, recls_uint32_t flags);
  ~FileSearch();
/// @}
/// \name Operations
/// @{
public:
  /// Advances the search to the next position
  recls_rc_t      GetNext();
/// @}
/// \name Attributes
/// @{
public:
  /// Returns non-zero if there is more data available
  recls_bool_t    HasMoreElements() const;
  /// Returns the current entry
  /// \note The behavior is undefined when \c HasMoreElements() returns zero
  FileEntry       GetCurrentEntry() const;
/// @}
// Members
private:
  hrecls_t  m_hSrch;
};