Boost logo

Boost :

From: Angus Leeming (angus.leeming_at_[hidden])
Date: 2004-09-27 09:16:17

Dear all,

I've taken Richard Johnson's glob_iterator that he posted to the list
back in January and re-written it completely, using Boost.Spirit to
transform the input 'glob' into an equivalent regex. The result is a
'boost::glob' function that I believe is fully POSIX-conformant.

Example usage:

    fs::path const starting_directory(".");
    std::list<fs::path> const matches =
        boost::glob("../te?t/foo*bar", starting_directory);

The docs can be browsed online at

The library can be found at

It should unzip to give:
        libs/glob + ensuing sub directories and files.

The code has been tested on Linux (g++ 3.3.2) and on Windows using

There are still some "issues" that I don't know how to resolve. Any
pointers would be most welcome:

A single test "foo[[:alpha:]]bar" is failing under Windows. It succeeds
under Linux. Is there anything about Boost.Regex with MinGW/MinSys that I
should be aware of?

* It would be nice to insert a table inside an itemized list item, but
quickbook doesn't like doing that. Instead I must add the table in a
separate paragraph which messes up the look a little.

* boostbook/doxygen fails to document the glob_flags enum.

* I generate a BOOST_LIB_NAME.html page and would like to supress it.

* The bottom of the first page has this
  "Last revised: September 13, 2004 at 04:56:20 GMT"
  I don't know where it comes from, but it's just not true ;-)

I have a couple of targets, lib/glob/example/real_glob.cpp and
lib/glob/test/test_real_glob.cpp that I'd like to build only on POSIX
machines. (They're wrappers for the system glob function.) Any pointers on
how to instruct bjam to do that?


Boost list run by bdawes at, gregod at, cpdaniel at, john at