Kühl, Dietmar | 11 Nov 1998 15:03
Picon

Submission to C++ Boost: Iterator for Directory Access

Hi,

it took [much] longer than I planned but finally I was able to bundle
a first version of my 'dir_it' class for access to directories. Although
it is not yet completely implemented (support for some file attributes
on WinNT is missing and some attributes are read-only in POSIX
which should actually be modifiable), I think it is still useful. In
particular, the main idea how things are supposed to work should be
obvious from what is there (well, it is somewhat obfuscated in the
M$VC++ implementation to workaround missing features). I have
tested the code on Linux using egcs-1.1 and on WinNT using
M$VC++6.0.

Currently, I have only installation support for POSIX systems using
GNU make; for WinNT it is necessary to insert the stuff into some
project. However, things are set up to form a bigger library or DLL
and I would be happy to integrate small contributions from other
authors into my installation process: I would prefer to have only one
library to be installed for a lot of small items like this directory
iterator, the reference counted stuff of Beman/Greg, etc.

My concrete plans for future contributions to are mainly a bunch of
generally useful 'streambuf's (eg. 'nullbuf', 'teebuf', 'gzipbuf',
'formatbuf',
'printbuf', etc.). I have some implementation ready which only need
to be cleaned up. So if you have urgent interest in any of them just
mail me.

For problem reports, suggestions, add-ons, etc. to the ZIP file
attached to this mail, just mail me.
(Continue reading)

Beman Dawes | 11 Nov 1998 17:52

Re: Submission to C++ Boost: Iterator for Directory Access

Dietmar,

Got it!  Looks like you have been doing a lot of work!

Boost also has a random number generator class about ready to go, so
looks like  we are starting to make some progress.

--Beman

At 03:03 PM 11/11/98 +0100, Kühl, Dietmar wrote:

>it took [much] longer than I planned but finally I was able to
bundle
>a first version of my 'dir_it' class for access to directories.
Although
>it is not yet completely implemented (support for some file
attributes
>on WinNT is missing and some attributes are read-only in POSIX
>which should actually be modifiable), I think it is still useful. In
>particular, the main idea how things are supposed to work should be
>obvious from what is there (well, it is somewhat obfuscated in the
>M$VC++ implementation to workaround missing features). I have
>tested the code on Linux using egcs-1.1 and on WinNT using
>M$VC++6.0.
>
>Currently, I have only installation support for POSIX systems using
>GNU make; for WinNT it is necessary to insert the stuff into some
>project. However, things are set up to form a bigger library or DLL
>and I would be happy to integrate small contributions from other
>authors into my installation process: I would prefer to have only
(Continue reading)

Sean A Corfield | 12 Nov 1998 10:58

Web site updates

Dietmar's dir_it contributions are on the web site. In future, contributions 
directly to me please at contrib <at> boost.ocsltd.com!

I'm in the process of building some navigation buttons and putting the site 
structure in place. Beman has sent me a bunch of files to incorporate which 
I'll get around to in the next few days.

For your info, the web site is:
	http://www.boost.org
It's password-protected:
	Booster
	indeed
As it says on the site, please do not publicise this beyond this list until we 
are ready to do so!

Any comments, suggestions to me.
--
Sean A Corfield
Boost Webmaster

------------------------------------------------------------------------
Free Web-based e-mail groups -- http://www.eGroups.com

Sean Corfield | 1 Dec 1998 12:45
Picon

Progress

Well, not much. This is more to let you know the list is still alive and,
er, kicking...

Beman's been busy working on updates to the web site - more news from him in
due course I expect. I've been real busy so I haven't had a chance to upload
the last lot of stuff he sent me (but I think he's incorporating that in
what he's been doing this week).

Some folks are working on a set of composition function objects (remind me
who please!).

Some folks are working on a set of smart pointers (again, remind me who
please!).

Anyone taking up the challenge of a set of pattern matching classes to sit
on top of basic_string<> (as we once discussed when we were contemplating a
text<> class)?

Are we planning to hammer out any hash-based container classes?

Here at IS Solutions, we've been putting together some file system classes
(in Java, admittedly) that might fit in well with Dietmar's directory
iterators... any interest in that?

Any other classes that might be worth exploring? Anything within the
standard library that we think might usefully be 'adapted' in a
future-standard way?
--
Sean A Corfield
Senior Designer
(Continue reading)

Kühl, Dietmar | 1 Dec 1998 14:33
Picon

AW: Progress

Hi,

> Some folks are working on a set of composition function objects (remind me
> who please!).
> 
I think that Nico wanted to work on this. I asked him recently but I said
that I had not come around to do anything for this yet.

> Some folks are working on a set of smart pointers (again, remind me who
> please!).
> 
As far as I remember, Beman and Greg wanted to work on this. At least,
they proposed something which seemed to be relatively worked out.

> Anyone taking up the challenge of a set of pattern matching classes to sit
> on top of basic_string<> (as we once discussed when we were contemplating
> a
> text<> class)?
> 
I know that Nathan is interested in this one. I have some ideas for this,
too,
but currently I don't have the time to work it out. If there is no pattern
matching class available until end of this year, I will give it a try.

> Are we planning to hammer out any hash-based container classes?
> 
There are hash-based containers free available as part of SGI STL. I don't
think that we should produce a competing version unless we are
uncomfortable with the SGI STL ones or if we have much better ideas.

(Continue reading)

David Abrahams | 1 Dec 1998 20:34

Re: Progress

Sean Corfield (sean.corfield <at> issolutions.co.uk) wrote:

>Any other classes that might be worth exploring? Anything within the
>standard library that we think might usefully be 'adapted' in a
>future-standard way?

Here are a few simple but extremely useful things I've already 
implemented, but which my employer holds a copyright on. If someone else 
wanted to make a public implementation I'd be happy to review it and 
provide help.

NonCopyable -
  A simple class which, when derived from, prevents copy construction and 
assignment

EqualityComparable<>, LessThanComparable<>
  Implements the standard meanings for operator!=, or >, >=, and <= 
respectively based on operator== and operator< member functions, 
respectively. std::relops is useless for this purpose now. Derive T from 
LessThanComparable<T> for example. Uses the "Barton and Nackman trick".

numeric_traits<>
  Here's the interface I've implemented. An important extension to this 
would use a uniform interface to return the minimum representable value 
of T. Note that numeric_limits fails to do what you might expect for 
floating point numbers.

template <class T>
class numeric_traits
{
(Continue reading)

Greg Colvin | 1 Dec 1998 19:34
Picon
Favicon

Re: Progress

> Some folks are working on a set of smart pointers (again, remind me who
> please!).

Beman and me.

> Any other classes that might be worth exploring? Anything within the
> standard library that we think might usefully be 'adapted' in a
> future-standard way?

This one went by on comp.std.c++ as a way to get an integral
constant for an array size as sizeof(size(a)):

   template<typename T,const size_t N>
   char const (&sizer(T (&)[N]))[N] {}

Which inspired:

   template<typename T,const size_t N>
   T* begin(T(&a)[N]) { return a; }

   template<typename T,const size_t N>
   T* end(T(&a)[N]) { return a+N; }

   template<typename T,const size_t N>
   size_t size(T(&)[N]) { return N; }

And you'd want free forms of these for STL containers as well.

------------------------------------------------------------------
Greg Colvin         colving <at> acm.org          gcolvin <at> us.oracle.com
(Continue reading)

Sean A Corfield | 12 Nov 1998 10:58

Web site updates

Dietmar's dir_it contributions are on the web site. In future, contributions 
directly to me please at contrib <at> boost.ocsltd.com!

I'm in the process of building some navigation buttons and putting the site 
structure in place. Beman has sent me a bunch of files to incorporate which 
I'll get around to in the next few days.

For your info, the web site is:
	http://www.boost.org
It's password-protected:
	Booster
	indeed
As it says on the site, please do not publicise this beyond this list until we 
are ready to do so!

Any comments, suggestions to me.
--
Sean A Corfield
Boost Webmaster

------------------------------------------------------------------------
Free Web-based e-mail groups -- http://www.eGroups.com

Greg Colvin | 1 Dec 1998 19:34
Picon
Favicon

Re: Progress

> Some folks are working on a set of smart pointers (again, remind me who
> please!).

Beman and me.

> Any other classes that might be worth exploring? Anything within the
> standard library that we think might usefully be 'adapted' in a
> future-standard way?

This one went by on comp.std.c++ as a way to get an integral
constant for an array size as sizeof(size(a)):

   template<typename T,const size_t N>
   char const (&sizer(T (&)[N]))[N] {}

Which inspired:

   template<typename T,const size_t N>
   T* begin(T(&a)[N]) { return a; }

   template<typename T,const size_t N>
   T* end(T(&a)[N]) { return a+N; }

   template<typename T,const size_t N>
   size_t size(T(&)[N]) { return N; }

And you'd want free forms of these for STL containers as well.

------------------------------------------------------------------
Greg Colvin         colving <at> acm.org          gcolvin <at> us.oracle.com
(Continue reading)


Gmane