www.digitalmars.com         C & C++   DMDScript  

c++.announce - recls 1.7.1 released

While officially a beta (because a couple of recls/D changes may be made
shortly) this is effectively the 1.7 release of recls, including a number of
additional new elements to the core API, and reflected in the various
language mappings. Additions / changes are as follows:

~ the core library header files now have a new structure, as follows (where
$RECLS_ROOT is the directory in which recls is installed), e.g.
    $RECLS_ROOT/include/recls_ftp.h => $RECLS_ROOT/include/recls/ftp.h

+ both recls/STL and recls/C++ mappings now support C++ Properties (as
described in chapter 35 of Imperfect C++, http://imperfectcplusplus.com),
which means that the following syntax is available for those compilers that
support it:
    FileEntry fe = . . .
    std::cout << "path=" << fe.Path << endl; // Previously had to explicitly
call fe.GetPath()
    std::cout << "size=" << fe.Size << endl; // Previously had to explicitly
call fe.GetSize()

+ new search flag RECLS_F_MARK_DIRS, which appends a trailing slash to the
paths of any entries returned that are directories

+ new search flag RECLS_F_ALLOW_REPARSE_DIRS, which follows reparse
directories on Win2K/XP. This is off by default, to avoid infinite search
loops on pathologically configured systems.

+ new search flag RECLS_F_CALLBACKS_STDCALL_ON_WIN32, which invokes
callbacks using the StdCall calling convention. (This was needed to
interface with C# delegates.)

~ All search flags are now declared without the RECLS_F_ prefix, e.g.

+ new core API function Recls_GetSelectedRoots(), which only returns roots
of selected disk types according to its flags (a combination of the new
RECLS_ROOTS_FLAG enumeration).

+ new core API function Recls_SearchFeedback(), which calls back to a
caller-supplied function as the search enters each directory searched.

+ new core API function Recls_GetSearchRelativePathProperty(), which gives
the path of each entry relative to the search directory. (In other words, it
removes the search path from the full path.)

+ new core API function Recls_GetSearchDirectoryProperty(), which gives the
full path of the search directory.

+ All the following mappings have corresponding changes to their
    ~ recls/C++
    ~ recls/COM
    ~ recls/Python
    ~ recls/Ruby
    ~ recls/STL

Download from http://recls.org/downloads.html#recls_1_7_1. It requires
STLSoft 1.9.1 beta 2 (or later) from
Dec 26 2005