Boost logo

Boost :

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

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 a few "issues" that I don't know how to resolve. Any
pointers would be most welcome.

* It would be nice to insert a table inside an itemized list item, but
quickbook doesn't like doing that. I need to add a separate paragraph.

* boostbook/doxygen fails to document the glob_flags enum.

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

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?

One test is failing on Windows "foo[[:alpha:]]bar". It works when compiled
under Linux. Is there anything I should be aware of about Boost.Regex
under MinGW/MinSYS?


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