c++.announce - STLSoft 1.8.1 released with Digital Mars C++ 8.41
- Matthew Wilson (112/112) Sep 11 2004 I'm happy to announce the release of v1.8.1 of STLSoft.
- Pablo Aguilar (21/21) Sep 20 2004 Great to hear it's out...
- Pablo Aguilar (3/3) Sep 20 2004 The digital marks package that's linked to in the main stlsoft downloads...
- Pablo Aguilar (5/8) Sep 20 2004 Got it
- Matthew (3/7) Sep 20 2004 Confirmed.
- Matthew (2/4) Sep 20 2004 Have uploaded that now. Sorry for the multiple stupidities. ;)
- Matthew (19/33) Sep 20 2004 Do you mean copy_if(), not copy_n()?
- Pablo Aguilar (23/66) Sep 21 2004 Now, I actually meant copy_if... I know it's not part of the STL, but if...
- Matthew (39/119) Sep 21 2004 the
- Pablo Aguilar (3/3) Sep 29 2004 I know copy_if is done already, but take a look anyway:
- Matthew (4/8) Feb 03 2005 copy_if's now in STLSoft, in the up and coming 1.8.3, along with a few
- Pablo Aguilar (10/10) Sep 21 2004 Found a couple of doc errors:
- Matthew (3/10) Sep 25 2004 All modified.
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
Sep 11 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...
Sep 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
Sep 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
Sep 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?Confirmed. Fixed Again, many thanks for catching this.
Sep 20 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 serverHave uploaded that now. Sorry for the multiple stupidities. ;)
Sep 20 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 laterGood 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
Sep 20 2004
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!)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. :-)Great, got it now...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.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?!)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?Thanks!So now the question is, where can rangelib be downloaded from?stlsoft.org/downloads.html :-)Boost's influence finally got to you? ;-)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. :-)Got one more!... minor doc bug: The docs for ansi2unicode (or something like that) say ANST instead of ANSIAnyway, more comments to come laterGood stuff.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!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
Sep 21 2004
"Pablo Aguilar" <paguilarg hotmail.com> wrote in message news:ciq986$2ops$1 digitaldaemon.com...theGreat 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 fromnotrangelib algorithms?...Do you mean copy_if(), not copy_n()? The algorithms there so far are largely influenced from the STL. I'm(yet)aware of an implementation of STL that has a copy_if, hence it's notI'd bebeen included. If you want to suggest some workable semantics for a r_copy_if(),if youhappy to add it. :-)Now, I actually meant copy_if... I know it's not part of the STL, butgoogle around for planned additions for C++0x I'm pretty sure you'llfindit. I found several quotes stating that the fact that it's missing isjust"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 anotherquote,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. :-)theNo, wait... First off, I'm wondering why it's missing, since I started readingonlydocs for rangelib Then I thought I'd look in the files themselves to see if it wasstlsoft_1_8_1-libs.zip, butmissing in the docs, but couldn't find them!Gah! I'm a fool. I'd ensured they were in theGoodnot in the "full" zip. Now fixed.Great, got it now...stlsoft,I went to the rangelib homepage, but the downloads point back tothewhere 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 containlook in/rangelib files, is 4261519 bytes. That's the size of the stlsoft-1.8.1.zip file on the DMC server. Are you remembering tobackthe /rangelib subdirectory?You're right, the thing is, when I looked at the DMC page, it sent meto stlsoft to download, and I somehow missed the DMC download of 4 mb,whichI later found (hence my later posts)... you're right that does have it BTW, is there any significant difference between the DMC distributionfromthe other one? (as in, why would I want to download the 1_8_1_full.zip+ thedocs zip, if I could just get the full package with the DMC file andI'd begetting DMC support?!)Only that the DMC version has Digital Mars specific instructions that the other does not.theThanks!So now the question is, where can rangelib be downloaded from?stlsoft.org/downloads.html :-)Also, while reading the docs for the range adapters, the docs sayHah! :-) I'm a pragmatist, and always learning, so if something seems better, I'm going to adopt it.Boost's influence finally got to you? ;-)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. :-)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.Got one more!... minor doc bug: The docs for ansi2unicode (or something like that) say ANST instead ofAnyway, more comments to come laterGood stuff.work...Great job finally releasing this version, thanks for the goodcheck itThanks 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 MatthewYeah, I found that out yesterday, and saw your post today... willout later... Oh, and thanks for the acknowledgement on the help file!You're most welcome. Cheers Matthew
Sep 21 2004
I know copy_if is done already, but take a look anyway: http://www.artima.com/cppsource/wishlist.html Item 23 of the Standard Library group's wishlist for C++0x
Sep 29 2004
copy_if's now in STLSoft, in the up and coming 1.8.3, along with a few other new algorithms "Pablo Aguilar" <paguilarg hotmail.com> wrote in message news:cjeten$1ar2$1 digitaldaemon.com...I know copy_if is done already, but take a look anyway: http://www.artima.com/cppsource/wishlist.html Item 23 of the Standard Library group's wishlist for C++0x
Feb 03 2005
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...
Sep 21 2004
"Pablo Aguilar" <paguilarg hotmail.com> wrote in message news:ciqbh8$2t4e$1 digitaldaemon.com...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 objectAll modified. Thanks
Sep 25 2004