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
http://www.devel.lyx.org/~leeming/globbing/index.html

The library can be found at
http://www.devel.lyx.org/~leeming/globbing.zip

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

The code has been tested on Linux (g++ 3.3.2) and on Windows using
MinGW/MinSys.

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

DOCS
====
* 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.

BUILD
=====
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?

REGEX
=====
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?

Regards,
Angus


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk