Jump to page: 1 2
Thread overview
STLSoft 1.8.1 released with Digital Mars C++ 8.41
Sep 12, 2004
Matthew Wilson
Sep 20, 2004
Pablo Aguilar
Sep 20, 2004
Pablo Aguilar
Sep 20, 2004
Pablo Aguilar
Sep 21, 2004
Matthew
Sep 21, 2004
Matthew
Sep 21, 2004
Matthew
Sep 21, 2004
Pablo Aguilar
Sep 22, 2004
Matthew
Sep 29, 2004
Pablo Aguilar
Feb 04, 2005
Matthew
Sep 21, 2004
Pablo Aguilar
Sep 26, 2004
Matthew
September 12, 2004
I'm happy to announce the release of v1.8.1 of STLSoft.

The two important changes are:
 - all components (of STLSoft main project, and *all* sub-projects) are now
licensed using the BSD License, as ratified by the Open Source Initiative
 - the release of the STLSoft implementation of RangeLib
(http://www.rangelib.org/), the implementation of the Range concept, just in
time for the publication of the (hopefully) seminal article on the subject,
in October's C/C++ Users Journal, written by yours truly and fellow
contributing editor John Torjo. Ranges are a complimentary concept to
Iterators, aimed at manipulation of collections as a whole, and are both
easier to use and provide a more comprehensive abstraction of collections.

Of course, there are also a lot of minor additions, and several bug fixes, as follows at the end of this post.

As usual, please feel free to send in comments, suggestions and bug reports, either direct to me in email or, preferably, on the STLSoft newsgroup. Oh, and if any of you fancy a riveting good read, you can buy my new book - Imperfect C++ (http://www.imperfectcplusplus.com/) - which will be published on the 9th October, by Addison-Wesley. :-)

Cheers, and good coding!!

Matthew Wilson

Author: "Imperfect C++", Addison-Wesley, 2004
    (http://imperfectcplusplus.com)
Contributing editor, C/C++ Users Journal
    (http://synesis.com.au/articles.html#columns)
Director, Synesis Software
    (http://synesis.com.au)
STLSoft moderator
    (http://stlsoft.org)

mailto:admin@stlsoft.org
mailto:stlsoft@hotmail.com
http://www.stlsoft.org
news://news.digitalmars.com/c++.stlsoft

"So far, C++ is the best language I've discovered to say what I want to say" -- Alex Stepanov

----------------------------------------------------------------------------

============================================================================
====
11th September 2004 : STLSoft 1.7.1 => 1.8.1
----------------------------------------------------------------------------
----

Sub-project versions

  ATLSTL  1.3.1 -  no changes
  COMSTL  1.4.1 -  no changes
  .netSTL 1.1.1 -  no changes
  InetSTL 1.0.1 => 1.0.2
  MFCSTL  1.3.5 -  no changes
  UNIXSTL 1.1.1 => 1.2.1
  WinSTL  1.4.1 => 1.5.1

Changes:

 The most obvious change is that the licensing for all STLSoft libraries has
 changed to use the BSD license
 (see http://www.opensource.org/licenses/bsd-license.html).

 The other significant change is the addition of the STLSoft RangeLib
 implementation (see http://www.rangelib.org/)

 There are other, minor changes and bug fixes, as follows:

 STLSoft:
  - addition of value_proxy proxy template class to
stlsoft_argument_proxies.h
  - minor adjustments to auto_buffer
  - addition of stlsoft_environment_block.h, defining environment_block
    class
  - addition of os_exception class to stlsoft_exceptions.h file
  - fix to fast_string_concatenator to remove assumption of contiguous
storage
    (thanks to Sean Kelly for spotting this)
  - addition of is_char_type<> discriminator to stlsoft_meta.h
  - addition of stlsoft_proxy_iterator.h file, defining proxy_iterator class
  - fix to stlsoft_string_access.h, for GCC 3.3.x (thanks to Peter Kreger
for
    this)
  - addition of difference_type and const_reference to string_tokeniser

 InetSTL:
  - addition of difference_type to basic_findfile_sequence

 UNIXSTL:
  - addition of unixstl_exceptions.h file, defining unix_exception class
  - addition of swap() method to file_path_buffer class
  - addition of is_file() and is_directory() methods to filesystem_traits
  - minor bug fix to unixstl_functionals.h
  - significant reworking of glob_sequence class, including throwing of
    glob_sequence_exception on (non-GLOB_NOMATCH) glob() failure, and
correct
 (maintenance of) sorting of filtered results sets.
  - addition of unixstl_module.h file, defining module class for loading
    shared objects (dynamic libraries)
  - addition of unixstl_path.h file, defining path class

 WinSTL:
  - fix to winstl_absolute_path.h
  - addition of winstl_console_ctrl_handler_scope.h file, defining
    console_ctrl_handler_scope class
  - fix to winstl_drophandle_sequence.h
  - addition of winstl_environment_block.h, defining environment_block
    class
  - addition of set() and reset() methods to event class
  - addition of winstl_exceptions.h file, defining windows_exception class
  - addition of swap() method to file_path_buffer class
  - addition of winstl_winstl_filesystem_functions.h file
  - addition of is_file(), is_directory(), create_directory(),
remove_directory().
    delete_file() and rename_file() methods to filesystem_traits
  - addition of difference_type to basic_findfile_sequence
  - minor bug fix to winstl_functionals.h
  - addition of IsWaitObjectSignalled() and HasOverlappedIoCompleted()
functions to
    winstl_functions.h
  - addition of winstl_module.h file, defining module class for loading
    shared objects (dynamic libraries)
  - minor bug fix to winstl_module_filename.h
  - addition of winstl_path.h file, defining path class
  - addition of handle() accessor method to process_mutex
  - addition of StringFileInfo handling to version_info
  - addition of winstl_window_icon_scope.h file, defining window_icon_scope
    class


September 20, 2004
Great to hear it's out...
I hadn't had a chance to play with the new features up 'till now...

And now that I have, I've one question, why's copy_if missing from the rangelib algorithms?...

No, wait...
First off, I'm wondering why it's missing, since I started reading the docs
for rangelib
Then I thought I'd look in the files themselves to see if it was only
missing in the docs, but couldn't find them!
I went to the rangelib homepage, but the downloads point back to stlsoft,
where I got the original file for stlsoft 1.8.1. Then I thought the
distribution from the digital mars website did include it, but that wasn't
true either...

So now the question is, where can rangelib be downloaded from?
Is it in the download package and I'm just not seeing it? or is it really
missing?

Also, while reading the docs for the range adapters, the docs say the include file is adaptors.hpp, which, doesn't quite follow your conventions for header files (or are you changing them?)

Anyway, more comments to come later
Great job finally releasing this version, thanks for the good work...


September 20, 2004
The digital marks package that's linked to in the main stlsoft downloads page is also broken, it's 1.5 mb and can't be opened, I'm trying now the one that's on the digital mars ftp server


September 20, 2004
Got it

The one from digital mars does contain range lib and is the full download
(4+ mb), while both downloads from stlsoft are either missing stuff or
broken
Can anyone else confirm this?


> The digital marks package that's linked to in the main stlsoft downloads page is also broken, it's 1.5 mb and can't be opened, I'm trying now the one that's on the digital mars ftp server


September 21, 2004
"Pablo Aguilar" <paguilarg@hotmail.com> wrote in message news:cinnip$829$1@digitaldaemon.com...
> Great to hear it's out...
> I hadn't had a chance to play with the new features up 'till now...
>
> And now that I have, I've one question, why's copy_if missing from the rangelib algorithms?...

Do you mean copy_if(), not copy_n()?

The algorithms there so far are largely influenced from the STL. I'm not aware of an implementation of STL that has a copy_if, hence it's not (yet) been included.

If you want to suggest some workable semantics for a r_copy_if(), I'd be happy to add it. :-)

> No, wait...
> First off, I'm wondering why it's missing, since I started reading the docs for rangelib
> Then I thought I'd look in the files themselves to see if it was only missing in the docs, but couldn't find them!

Gah! I'm a fool. I'd ensured they were in the stlsoft_1_8_1-libs.zip, but not in the "full" zip.

Now fixed.

> I went to the rangelib homepage, but the downloads point back to stlsoft, where I got the original file for stlsoft 1.8.1. Then I thought the distribution from the digital mars website did include it, but that wasn't true either...

I'm pretty sure that does. The zip, which I've verified to contain the /rangelib files, is 4261519 bytes. That's the size of the stlsoft-1.8.1.zip file on the DMC server. Are you remembering to look in the /rangelib subdirectory?

> So now the question is, where can rangelib be downloaded from?

stlsoft.org/downloads.html

:-)

> Is it in the download package and I'm just not seeing it? or is it really missing?

Missing from "full", but it is in "libs"

> Also, while reading the docs for the range adapters, the docs say the include file is adaptors.hpp, which, doesn't quite follow your conventions for header files (or are you changing them?)

The .hpp is used for RangeLib. I'm evolving. :-)

> Anyway, more comments to come later

Good stuff.

> Great job finally releasing this version, thanks for the good work...

Thanks for the help, and the +ve feedback. :)

Please continue to feel free to post questions, etc, on STLSoft / RangeLib, but note that RangeLib now has its own newsgroup: news://news.digitalmars.com/rangelib.

Cheers

Matthew



September 21, 2004
"Pablo Aguilar" <paguilarg@hotmail.com> wrote in message news:cinocs$8g9$1@digitaldaemon.com...
> The digital marks package that's linked to in the main stlsoft downloads page is also broken, it's 1.5 mb and can't be opened, I'm trying now the one that's on the digital mars ftp server

Have uploaded that now. Sorry for the multiple stupidities. ;)



September 21, 2004
> Got it
>
> The one from digital mars does contain range lib and is the full download (4+ mb), while both downloads from stlsoft
> are either missing stuff or broken
> Can anyone else confirm this?

Confirmed.

Fixed

Again, many thanks for catching this.



September 21, 2004
>> Great to hear it's out...
>> I hadn't had a chance to play with the new features up 'till now...
>>
>> And now that I have, I've one question, why's copy_if missing from the rangelib algorithms?...
>
> Do you mean copy_if(), not copy_n()?
>
> The algorithms there so far are largely influenced from the STL. I'm not aware of an implementation of STL that has a copy_if, hence it's not (yet) been included.
>
> If you want to suggest some workable semantics for a r_copy_if(), I'd be happy to add it. :-)

Now, I actually meant copy_if... I know it's not part of the STL, but if you google around for planned additions for C++0x I'm pretty sure you'll find it. I found several quotes stating that the fact that it's missing is just "because of an oversight"

And, being that it's pretty straight forward to implement, I found no compelling reason NOT to include it, even if it's not yet part of the standard, it is useful and often implemented (according to another quote, sorry, I forgot the links!)

>> No, wait...
>> First off, I'm wondering why it's missing, since I started reading the
>> docs for rangelib
>> Then I thought I'd look in the files themselves to see if it was only
>> missing in the docs, but couldn't find them!
>
> Gah! I'm a fool. I'd ensured they were in the stlsoft_1_8_1-libs.zip, but not in the "full" zip.
>
> Now fixed.

Great, got it now...

>> I went to the rangelib homepage, but the downloads point back to stlsoft, where I got the original file for stlsoft 1.8.1. Then I thought the distribution from the digital mars website did include it, but that wasn't true either...
>
> I'm pretty sure that does. The zip, which I've verified to contain the /rangelib files, is 4261519 bytes. That's the size of the stlsoft-1.8.1.zip file on the DMC server. Are you remembering to look in the /rangelib subdirectory?

You're right, the thing is, when I looked at the DMC page, it sent me back to stlsoft to download, and I somehow missed the DMC download of 4 mb, which I later found (hence my later posts)... you're right that does have it

BTW, is there any significant difference between the DMC distribution from the other one? (as in, why would I want to download the 1_8_1_full.zip + the docs zip, if I could just get the full package with the DMC file and I'd be getting DMC support?!)

>> So now the question is, where can rangelib be downloaded from?
>
> stlsoft.org/downloads.html
>
> :-)

Thanks!

>> Also, while reading the docs for the range adapters, the docs say the include file is adaptors.hpp, which, doesn't quite follow your conventions for header files (or are you changing them?)
>
> The .hpp is used for RangeLib. I'm evolving. :-)

Boost's influence finally got to you? ;-)

>> Anyway, more comments to come later
>
> Good stuff.

Got one more!... minor doc bug:
The docs for ansi2unicode (or something like that) say ANST instead of ANSI

>> Great job finally releasing this version, thanks for the good work...
>
> Thanks for the help, and the +ve feedback. :)
>
> Please continue to feel free to post questions, etc, on STLSoft / RangeLib, but note that RangeLib now has its own newsgroup: news://news.digitalmars.com/rangelib.
>
> Cheers
>
> Matthew

Yeah, I found that out yesterday, and saw your post today... will check it
out later...
Oh, and thanks for the acknowledgement on the help file!


September 21, 2004
Found a couple of doc errors:
- window_icon_scope, seems to've been born out of copy-pasting window_enable
scope, and so, I think you forgot to update it's purpose
- setcursor_scope has the same problem as above
- unicode2ansi says ANST instead of ANSI (I also posted ansi2unicode had the
same problem)
- I think the docs for winstl and unixstl's pipe class are wrong, they state
the pipe handles a Win32 Event synch object

That's all for now...
I'll keep looking later...


September 22, 2004
"Pablo Aguilar" <paguilarg@hotmail.com> wrote in message news:ciq986$2ops$1@digitaldaemon.com...
> >> Great to hear it's out...
> >> I hadn't had a chance to play with the new features up 'till now...
> >>
> >> And now that I have, I've one question, why's copy_if missing from
the
> >> rangelib algorithms?...
> >
> > Do you mean copy_if(), not copy_n()?
> >
> > The algorithms there so far are largely influenced from the STL. I'm
not
> > aware of an implementation of STL that has a copy_if, hence it's not
(yet)
> > been included.
> >
> > If you want to suggest some workable semantics for a r_copy_if(),
I'd be
> > happy to add it. :-)
>
> Now, I actually meant copy_if... I know it's not part of the STL, but
if you
> google around for planned additions for C++0x I'm pretty sure you'll
find
> it. I found several quotes stating that the fact that it's missing is
just
> "because of an oversight"
>
> And, being that it's pretty straight forward to implement, I found no compelling reason NOT to include it, even if it's not yet part of the standard, it is useful and often implemented (according to another
quote,
> sorry, I forgot the links!)

It's in now. Will be available in the next update.

Thanks to the magic of the indirect_range_adaptor<>, it took 10 minutes coding + testing. :-)

> >> No, wait...
> >> First off, I'm wondering why it's missing, since I started reading
the
> >> docs for rangelib
> >> Then I thought I'd look in the files themselves to see if it was
only
> >> missing in the docs, but couldn't find them!
> >
> > Gah! I'm a fool. I'd ensured they were in the
stlsoft_1_8_1-libs.zip, but
> > not in the "full" zip.
> >
> > Now fixed.
>
> Great, got it now...

Good

> >> I went to the rangelib homepage, but the downloads point back to
stlsoft,
> >> where I got the original file for stlsoft 1.8.1. Then I thought the distribution from the digital mars website did include it, but that wasn't true either...
> >
> > I'm pretty sure that does. The zip, which I've verified to contain
the
> > /rangelib files, is 4261519 bytes. That's the size of the stlsoft-1.8.1.zip file on the DMC server. Are you remembering to
look in
> > the /rangelib subdirectory?
>
> You're right, the thing is, when I looked at the DMC page, it sent me
back
> to stlsoft to download, and I somehow missed the DMC download of 4 mb,
which
> I later found (hence my later posts)... you're right that does have it
>
> BTW, is there any significant difference between the DMC distribution
from
> the other one? (as in, why would I want to download the 1_8_1_full.zip
+ the
> docs zip, if I could just get the full package with the DMC file and
I'd be
> getting DMC support?!)

Only that the DMC version has Digital Mars specific instructions that the other does not.

> >> So now the question is, where can rangelib be downloaded from?
> >
> > stlsoft.org/downloads.html
> >
> > :-)
>
> Thanks!
>
> >> Also, while reading the docs for the range adapters, the docs say
the
> >> include file is adaptors.hpp, which, doesn't quite follow your conventions for header files (or are you changing them?)
> >
> > The .hpp is used for RangeLib. I'm evolving. :-)
>
> Boost's influence finally got to you? ;-)

Hah! :-)

I'm a pragmatist, and always learning, so if something seems better, I'm going to adopt it.

> >> Anyway, more comments to come later
> >
> > Good stuff.
>
> Got one more!... minor doc bug:
> The docs for ansi2unicode (or something like that) say ANST instead of
ANSI

Thanks. That's in your other post, I think, which I'm leaving marked unread for when I've time to address those points.

> >> Great job finally releasing this version, thanks for the good
work...
> >
> > Thanks for the help, and the +ve feedback. :)
> >
> > Please continue to feel free to post questions, etc, on STLSoft / RangeLib, but note that RangeLib now has its own newsgroup: news://news.digitalmars.com/rangelib.
> >
> > Cheers
> >
> > Matthew
>
> Yeah, I found that out yesterday, and saw your post today... will
check it
> out later...
> Oh, and thanks for the acknowledgement on the help file!

You're most welcome.

Cheers

Matthew


« First   ‹ Prev
1 2