$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
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
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 some "issues" that I don't know how to resolve. Any
pointers would be most welcome:
REGEX
=====
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?
DOCS
====
* 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 ;-)
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?
Regards,
Angus