www.digitalmars.com         C & C++   DMDScript  

c++ - STLSoft 1.7.1 released

reply "Matthew" <matthew.hat stlsoft.dot.org> writes:
I'm pleased (and very relieved) to announce that STLSoft version 1.7.1 is
released.

There are several major new features:
 - the .netSTL project, providing C++.NET / STL crossover
 - the InetSTL project, providing STL techniques for Internet programming
 - unit-testing incorporated into the libraries; this has caught an embarassing
number of issues; You'll find a unittest.cpp in the test directory for each
sub-project, which links to code in the ./unittest directory.
 - a whole swathe of new components in the STLSoft main project, and the UNIXSTL
and WinSTL sub-projects

There are some minor improvements:
 - the documentation has been tidied up to the degree that all classes,
functions, methods, etc. are indicated in the correct namespaces, etc.
 - removal of many non-standard macros and symbol names; there're more to come,
however

The things that have been postponed to the next release:
 - a really good overhaul of the introductory / expository documentation. Any
feedback on this from users would be most useful
 - provision of any more samples
 - provision of scripts to generate makefiles for the tests and sample programs

Now that this very major hurdle is behind us, I'm in the market for new feature
requests and submissions, so please don't hold back. I hope to release 1.7.2 in
a
few weeks, and intend to do another big step with 1.8.1 before the end of the
year - there are a lot of new features planned for that. :-)

Good coding


-- 
Matthew Wilson

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

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

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

-------------------------------------------------------------------------------
Jun 10 2004
next sibling parent reply "Pablo Aguilar" <paguilarg hotmail.com> writes:
 I'm pleased (and very relieved) to announce that STLSoft version 1.7.1 is
 released.

 Now that this very major hurdle is behind us, I'm in the market for new
feature
 requests and submissions, so please don't hold back. I hope to release
1.7.2 in a
 few weeks, and intend to do another big step with 1.8.1 before the end of
the
 year - there are a lot of new features planned for that. :-)
module_directory, great clipboard stuff starting to appear window_visible_scope, great still missing insert/SetItemData for list/combo boxes you asked me to remind you about process_sequence auto_buffer's code states the default size at 256 while the textual description states it at 512 you think auto_destructor could be policied with the destruction function (I asked about this before but talking about smart pointers) ? winstl::resource_string isn't documented comstl::safe_array_sequence also not documented that's all for now... great work...
Jun 10 2004
next sibling parent reply "Matthew" <matthew.hat stlsoft.dot.org> writes:
 module_directory, great
Actually, I found a bug in it yesterday, after I'd done the release. Fixed for 1.7.2. As well as that, I've just been plugging in unittesting and proper documentation for it. That's going to be my strategy for getting this big bad baby properly documented: each time I edit a file I'll fix its doc + ensure the unittest is comprehensive.
 clipboard stuff starting to appear
Keep making those requests.
 window_visible_scope, great
Pleasure. :-)
 still missing insert/SetItemData for list/combo boxes
 you asked me to remind you about process_sequence
Remind me again in a while
 auto_buffer's code states the default size at 256 while the textual
 description states it at 512
Thanks. Now fixed (with 1.7.2)
 you think auto_destructor could be policied with the destruction function (I
 asked about this before but talking about smart pointers) ?
I don't remember. Can you explain what you mean?
 winstl::resource_string isn't documented
 comstl::safe_array_sequence also not documented
They are in the code. Is it not showing in the Docs?
 that's all for now...
Keep 'em coming
 great work...
Nice to be appreciated. ;)
Jun 10 2004
parent reply "Pablo Aguilar" <paguilarg hotmail.com> writes:
 clipboard stuff starting to appear
Keep making those requests.
clipboard_lock and read/writing are missing still... all I saw for now was clipboard_format_sequence
 still missing insert/SetItemData for list/combo boxes
 you asked me to remind you about process_sequence
Remind me again in a while
Sure...
 you think auto_destructor could be policied with the destruction
function (I
 asked about this before but talking about smart pointers) ?
I don't remember. Can you explain what you mean?
That 'delete' could be made into a policy... so instead of deleting you could have, for example, ->Release, or something alike... I know there's a special ptr for COM, but that's not the point... say you're dealing with objects created by factories, and destruction isn't a plain delete but some special function... that's where the policy class would kick in...
 winstl::resource_string isn't documented
 comstl::safe_array_sequence also not documented
They are in the code. Is it not showing in the Docs?
No. Actually my original post was to say they weren't in, but I decided to check the code first, and there they were, so they're just missing in the docs
 that's all for now...
Keep 'em coming
I will...
Jun 11 2004
next sibling parent "Matthew" <admin stlsoft.dot.dot.dot.dot.org> writes:
This is now pretty much handled with scoped_handle.


"Pablo Aguilar" <paguilarg hotmail.com> wrote in message 
news:cad1n1$2b8a$1 digitaldaemon.com...
 clipboard stuff starting to appear
Keep making those requests.
clipboard_lock and read/writing are missing still... all I saw for now was clipboard_format_sequence
 still missing insert/SetItemData for list/combo boxes
 you asked me to remind you about process_sequence
Remind me again in a while
Sure...
 you think auto_destructor could be policied with the destruction
function (I
 asked about this before but talking about smart pointers) ?
I don't remember. Can you explain what you mean?
That 'delete' could be made into a policy... so instead of deleting you could have, for example, ->Release, or something alike... I know there's a special ptr for COM, but that's not the point... say you're dealing with objects created by factories, and destruction isn't a plain delete but some special function... that's where the policy class would kick in...
 winstl::resource_string isn't documented
 comstl::safe_array_sequence also not documented
They are in the code. Is it not showing in the Docs?
No. Actually my original post was to say they weren't in, but I decided to check the code first, and there they were, so they're just missing in the docs
 that's all for now...
Keep 'em coming
I will...
Mar 01 2005
prev sibling parent "Matthew" <admin.hat stlsoft.dot.org> writes:
"Pablo Aguilar" <paguilarg hotmail.com> wrote in message
news:cad1n1$2b8a$1 digitaldaemon.com...
 clipboard stuff starting to appear
Keep making those requests.
clipboard_lock and read/writing are missing still... all I saw for now was clipboard_format_sequence
I've just written clipboard_scope, which has does scoping and has various methods for getting and setting data in different formats.
 still missing insert/SetItemData for list/combo boxes
 you asked me to remind you about process_sequence
Remind me again in a while
Sure...
We'll need to kick start this debate, as I've forgotten all about it.
 you think auto_destructor could be policied with the destruction
function (I
 asked about this before but talking about smart pointers) ?
I don't remember. Can you explain what you mean?
That 'delete' could be made into a policy... so instead of deleting you could have, for example, ->Release, or something alike... I know there's a special ptr for COM, but that's not the point... say you're dealing with objects created by factories, and destruction isn't a plain delete but some special function... that's where the policy class would kick in...
Maybe. Let's see how the smart-pointers article series takes off. For my part, I tend to steer clear of policy based classes wherever possible, as they're plain harder to use without having to consult documenation every time. (And they're less efficient, portable, etc.)
May 26 2005
prev sibling parent reply "Matthew" <admin.hat stlsoft.dot.org> writes:
"Pablo Aguilar" <paguilarg hotmail.com> wrote in message
news:caatjt$2blm$1 digitaldaemon.com...
 I'm pleased (and very relieved) to announce that STLSoft version 1.7.1 is
 released.

 Now that this very major hurdle is behind us, I'm in the market for new
feature
 requests and submissions, so please don't hold back. I hope to release
1.7.2 in a
 few weeks, and intend to do another big step with 1.8.1 before the end of
the
 year - there are a lot of new features planned for that. :-)
module_directory, great clipboard stuff starting to appear window_visible_scope, great still missing insert/SetItemData for list/combo boxes
I'm willing to have a play with this (as mentioned in other post) if you can remind me what you wanted. (Alternatively, you could contribute a version, and leave me the lazy task of criticising it and putting into the library! <g>)
 you asked me to remind you about process_sequence
Ah, yes. That'd be nice. I will put a skeleton into the inprogress/winstl dir right now, which'll remind me
 you think auto_destructor could be policied with the destruction function (I
 asked about this before but talking about smart pointers) ?
That's something that might fall out of the smart pointers discussions going on elsewhere. I'll add you to that list now.
 winstl::resource_string isn't documented
And it still isn't! I'm going to have a go at this right now.
 comstl::safe_array_sequence also not documented
This one'll have to wait. ;)
May 26 2005
next sibling parent "Pablo Aguilar" <paguilarg hotmail.com> writes:
 still missing insert/SetItemData for list/combo boxes
I'm willing to have a play with this (as mentioned in other post) if you can remind me what you wanted. (Alternatively, you could contribute a version, and leave me the lazy task of criticising it and putting into the library! <g>)
Already answered...
 you asked me to remind you about process_sequence
Ah, yes. That'd be nice. I will put a skeleton into the inprogress/winstl dir right now, which'll remind me
I'd been wondering why so silent as of lately! You've been REALLY busy... Ok, before you spend more time on this, give me today to post (when I get home) my version of this. I hadn't done so, 'cuz I thought I'd take a shot at doxygen before posting it, but, now that you seem to be in a programming rush, I guess I'll have to speed this up.. ;-) I did it based not on the EnumProcesses API, but rather the ToolHelp32 API, which allows for easier enumeration, IMO. And, since the ToolHelp32 API also enumerates modules, threads and heaps, all of those are done as well...
 you think auto_destructor could be policied with the destruction function 
 (I
 asked about this before but talking about smart pointers) ?
That's something that might fall out of the smart pointers discussions going on elsewhere. I'll add you to that list now.
Thanks!
 winstl::resource_string isn't documented
And it still isn't! I'm going to have a go at this right now.
Cool...
 comstl::safe_array_sequence also not documented
This one'll have to wait. ;)
No hurry, it's been long since I used it (code I used it with is working, so there's no need to touch it right now..) Pablo
May 26 2005
prev sibling parent reply "Pablo Aguilar" <paguilarg hotmail.com> writes:
[snip]
 still missing insert/SetItemData for list/combo boxes
I'm willing to have a play with this (as mentioned in other post) if you
can remind me what you wanted. (Alternatively,
 you could contribute a version, and leave me the lazy task of criticising
it and putting into the library! <g>) That's an interesting twist... do work, rather than ask for it... ;-) I'll have to consider it... Seriously though, I might take a shot at it, but not at the moment. Here's my current list of pending projects: 1) Process/Thread/Module/Heap sequences, which I'll e-mail in a while 2) Check and suggest improvements for the docs as you requested on the other thread 3) The ruby (or python) script to invert the current header/forwarder status of most of the libraries 4) A tool to help set up fresh installs of boost & stlsoft for work with popular (read "the ones I use, VC & BCB") IDEs on Windows. It's feature set would be: - Registering include/library paths - Registering tools for direct access to each libraries help - Building libraries when required (in boost's case of course) allowing the selection of compiler and target configurations (threading/linking/debug) Then I might have a go at this... Pablo
May 26 2005
parent reply "Matthew" <admin stlsoft.dot.dot.dot.dot.org> writes:
 Seriously though, I might take a shot at it, but not at the 
 moment. Here's
 my current list of pending projects:
 1) Process/Thread/Module/Heap sequences, which I'll e-mail in a 
 while
Got it. Will digest in a few days, but looks good at first blush. (Be surprised if it doesn't get into 1.8.4)
 2) Check and suggest improvements for the docs as you requested on 
 the other
 thread
 3) The ruby (or python) script to invert the current 
 header/forwarder status
 of most of the libraries
You might want to hang fire on this awhile, or at least email me before you go ahead. I also need to write one that will move all the unit-testing code out of the main file and into the xyz_unittest_.h file (a la ACESTL as from 1.8.3). These can probably be done independently, but the desire to do the second might mean I'll need to do the first, and don't want you to waste your time on it in that case.
 4) A tool to help set up fresh installs of boost & stlsoft for 
 work with
 popular (read "the ones I use, VC & BCB") IDEs on Windows. It's 
 feature set
 would be:
    - Registering include/library paths
    - Registering tools for direct access to each libraries help
    - Building libraries when required (in boost's case of course) 
 allowing
 the selection of compiler and target configurations
 (threading/linking/debug)
Now _this_ sounds like a wonderful tool. Will this be an SF.NET tool? If so, sign me up!!
 Then I might have a go at this...
He he. No pressure
May 28 2005
parent "Pablo Aguilar" <paguilarg hotmail.com> writes:
"Matthew" <admin stlsoft.dot.dot.dot.dot.org> wrote in message
news:d7bf2o$1rts$1 digitaldaemon.com...
 Seriously though, I might take a shot at it, but not at the
 moment. Here's
 my current list of pending projects:
 1) Process/Thread/Module/Heap sequences, which I'll e-mail in a
 while
Got it. Will digest in a few days, but looks good at first blush. (Be surprised if it doesn't get into 1.8.4)
Cool!
 2) Check and suggest improvements for the docs as you requested on
 the other
 thread
Haven't made any suggestions yet... I've made it as far as downloading all the latest versions of ORJ, recls & SS, and gone through the docs you mentioned. But haven't actually come up with suggestions.
 3) The ruby (or python) script to invert the current
 header/forwarder status
 of most of the libraries
You might want to hang fire on this awhile, or at least email me before you go ahead.
Ok
 I also need to write one that will move all the unit-testing code
 out of the main file and into the xyz_unittest_.h file (a la ACESTL
 as from 1.8.3).

 These can probably be done independently, but the desire to do the
 second might mean I'll need to do the first, and don't want you to
 waste your time on it in that case.

 4) A tool to help set up fresh installs of boost & stlsoft for
 work with
 popular (read "the ones I use, VC & BCB") IDEs on Windows. It's
 feature set
 would be:
    - Registering include/library paths
    - Registering tools for direct access to each libraries help
    - Building libraries when required (in boost's case of course)
 allowing
 the selection of compiler and target configurations
 (threading/linking/debug)
Now _this_ sounds like a wonderful tool. Will this be an SF.NET tool? If so, sign me up!!
I *hope* it will. I submitted it, but got rejected, as apparently I didn't give an accurate enough description of the project. I'll let you know when/if it gets accepted. Also, the guys at boost didn't seem particularly thrilled about it, maybe I am really not giving a good enough description... I'll set up the UI and see if that helps communicate the idea better...
 Then I might have a go at this...
He he. No pressure
None taken. Pablo
May 29 2005
prev sibling next sibling parent reply "Pablo Aguilar" <paguilarg hotmail.com> writes:
Did basic_file_path_buffer loose it's automatic conversion to a mutable
pointer?

If so, module_directory doesn't work (it requires a small, very small tweak)
is this the error you talked about in the other post?
Jun 11 2004
parent reply "Matthew" <matthew.hat stlsoft.dot.org> writes:
Yep. Here it is

"Pablo Aguilar" <paguilarg hotmail.com> wrote in message
news:cada25$2n5o$1 digitaldaemon.com...
 Did basic_file_path_buffer loose it's automatic conversion to a mutable
 pointer?

 If so, module_directory doesn't work (it requires a small, very small tweak)
 is this the error you talked about in the other post?
begin 666 winstl_module_directory.h M+RH +R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O M+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\-"B J($9I;&4Z M<&]S93H (" (%-I;7!L92!C;&%S<R!T:&%T(&=E=',L(&%N9"!M86ME<R!A M8V-E<W-I8FQE+"!T:&4 ;6]D=6QE)W,-"B J(" (" (" (" ("!D:7)E M(%5P9&%T960Z(" (" Q,71H($IU;F4 ,C P- T*("H-"B J($%U=&AO<CH M(" ("!-871T:&5W(%=I;'-O;BP 4WEN97-I<R!3;V9T=V%R92!0='D 3'1D M+ T*("H-"B J($QI8V5N<V4Z(" (" H3&EC96YS960 =6YD97( =&AE(%-Y M(" (" (" (" (" (" (" (" :'1T<#HO+W=W=RYW:6YS=&PN;W)G M+PT*("H-"B J(" (" (" (" ("!E;6%I;#H (" ("!S=6)M:7-S:6]N M<T!W:6YS=&PN;W)G("!F;W( <W5B;6ES<VEO;G,-"B J(" (" (" (" M(" (" (" (" ("!A9&UI;D!W:6YS=&PN;W)G(" (" ("!F;W( ;W1H M:6]N(&%N9"!U<V4 :6X <V]U<F-E(&%N9"!B:6YA<GD 9F]R;7,L('=I=& M;W(-"B J(" (" (" (" ("!W:71H;W5T(&UO9&EF:6-A=&EO;BP 87)E M('!E<FUI='1E9"!P<F]V:61E9"!T:&%T('1H92!F;VQL;W=I;F<-"B J(" M(" (" ("AI*2!2961I<W1R:6)U=&EO;G, ;V8 <V]U<F-E(&-O9&4 ;75S M(&YO=&EC92!A;F0 8V]N=&%C="!I;F9O<FUA=&EO;BP =&AI<R!L:7-T(&]F M9R!D:7-C;&%I;65R+ T*("H-"B J(" (" (" (" (" H:6DI($%N>2!D M97)I=F5D('9E<G-I;VYS(&]F('1H:7, <V]F='=A<F4 *&AO=W-O979E<B!M M;V1I9FEE9"D-"B J(" (" (" (" ("!R96UA:6X =&AE('-O;&4 <')O M(" *&EI:2D 06YY(&1E<FEV960 =F5R<VEO;G, ;V8 =&AI<R!S;V9T=V%R M92 H:&]W<V]E=F5R(&UO9&EF:65D*0T*("H (" (" (" (" (')E;6%I M;B!S=6)J96-T('1O(&%L;"!T:&5S92!C;VYD:71I;VYS+ T*("H-"B J(" M(" (" (" (" H:78I($YE:71H97( =&AE(&YA;64 ;V8 4WEN97-I<R!3 M;V9T=V%R92!N;W( =&AE(&YA;65S(&]F(&%N>0T*("H (" (" (" (" M('-U8F1I=FES:6]N<RP 96UP;&]Y965S(&]R(&%G96YT<R!O9B!3>6YE<VES M86YY(&]T:&5R(&-O;G1R:6)U=&]R<R!T;R!T:&ES('-O9G1W87)E(&UA>2!B M('!R;V1U8W1S(&1E<FEV960 9G)O;2!T:&ES('-O9G1W87)E('=I=&AO=70- M"B J(" (" (" (" ("!S<&5C:69I8R!P<FEO<B!W<FET=&5N('!E<FUI M:7, <')O=FED960 8GD 4WEN97-I<R!3;V9T=V%R92 B87, :7,B(&%N9"!A M;GD-"B J(" (" (" (" ("!W87)R86YT:65S+"!W:&5T:&5R(&5X<')E M<W-E9"!O<B!I;7!L:65D+"!I;F-L=61I;F<L(&)U="!N;W0-"B J(" (" M(" (" ("!L:6UI=&5D('1O+"!T:&4 :6UP;&EE9"!W87)R86YT:65S(&]F M(&UE<F-H86YT86)I;&ET>2!A;F0-"B J(" (" (" (" ("!F:71N97-S M(&9O<B!A('!A<G1I8W5L87( <'5R<&]S92!A<F4 9&ES8VQA:6UE9"X 26X M;F\ 979E;G0-"B J(" (" (" (" ("!S:&%L;"!T:&4 4WEN97-I<R!3 M;V9T=V%R92!B92!L:6%B;&4 9F]R(&%N>2!D:7)E8W0L(&EN9&ER96-T+ T* M("H (" (" (" (" (&EN8VED96YT86PL('-P96-I86PL(&5X96UP;&%R M*&EN8VQU9&EN9RP 8G5T(&YO="!L:6UI=&5D('1O+"!P<F]C=7)E;65N="!O M97,[(&QO<W, ;V8 =7-E+"!D871A+"!O<B!P<F]F:71S.R!O<B!B=7-I;F5S M<PT*("H (" (" (" (" (&EN=&5R<G5P=&EO;BD :&]W979E<B!C875S M960 86YD(&]N(&%N>2!T:&5O<GD ;V8 ;&EA8FEL:71Y+ T*("H (" (" M(" (" ('=H971H97( :6X 8V]N=')A8W0L('-T<FEC="!L:6%B:6QI='DL M(&]R('1O<G0 *&EN8VQU9&EN9PT*("H (" (" (" (" (&YE9VQI9V5N M8V4 ;W( ;W1H97)W:7-E*2!A<FES:6YG(&EN(&%N>2!W87D ;W5T(&]F('1H M92!U<V4 ;V8-"B J(" (" (" (" ("!T:&ES('-O9G1W87)E+"!E=F5N M(&EF(&%D=FES960 ;V8 =&AE('!O<W-I8FEL:71Y(&]F('-U8V -"B J(" M+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O M86YD(&UA:V5S(&%C8V5S<VEB;&4L('1H92!M;V1U;&4G<R!D:7)E8W1O<GDN M;F4 5TE.4U1,7U9%4E](7U=)3E-43%]-3T153$5?1$E214-43U)97U)%5DE3 M+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O M+R\O+R\O+R\O+R\O+R\O+R\O+R\O+PT*("H 0V]M<&%T:6)I;&ET>0T*("HO M+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O M0TQ?2%]724Y35$P-"B, :6YC;'5D92 B=VEN<W1L+F B(" (" (" (" M(" (" (" O+R!);F-L=61E('1H92!7:6Y35$P <F]O="!H96%D97(-"B-E M;F1I9B O*B A5TE.4U1,7TE.0TQ?2%]724Y35$P *B\-" T*(VEF(&1E9FEN M;F-L=61E(")W:6YS=&Q?9FEL97-Y<W1E;5]T<F%I=',N:"( ("\O(&9I;&5S M5TE.4U1,7U-44DE.1U]!0T-%4U,-"B, :6YC;'5D92 B=VEN<W1L7W-T<FEN M9U]A8V-E<W,N:"( (" (" (" (" (" (" O+R!W:6YS=&PZ.G-T<FEN M3$5?4$%42%]"549&15(-"B, :6YC;'5D92 B=VEN<W1L7V9I;&5?<&%T:%]B M+RH (5=)3E-43%])3D-,7TA?5TE.4U1,7T9)3$5?4$%42%]"549&15( *B\- M/ D)"0D)+R\ 86QL;V-A*"D-"B-E;F1I9B O*B!35$Q33T947U5.251415-4 M14-424].*0T*+RH 5&AE<F4 :7, ;F\ <W1L<V]F="!N86UE<W!A8V4L('-O M(&UU<W0 9&5F:6YE(#HZ M7W!R;VIE8W0-"GL-" T*(R!E;F1I9B O*B!?4U1,4T]&5%].3U].04U%4U!! M0T4 *B\-"B-E;F1I9B O*B A7U=)3E-43%].3U].04U%4U!!0T4 *B\-" T* M+RH +R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O M+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\ *B\-" T*+R\O(%QW M>2!P<F]V:61E<R!F86-I;&ET:65S(&9O<B!D969I;FEN9R!A;F0 ;6%N:7!U M;&%T:6YG(&9I;&4M<WES=&5M(&]B:F5C=',-" T*+R\O(%QW96%K9W)O=7 M=VEN<W1L7V9I;&5S>7-T96U?;&EB<F%R>2!&:6QE+5-Y<W1E;2!,:6)R87)Y M;&ET:65S(&9O<B!D969I;FEN9R!A;F0 ;6%N:7!U;&%T:6YG(&9I;&4M<WES M+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O M+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+PT*("H 8F%S:6-?;6]D M=6QE7V1I<F5C=&]R>0T*("H-"B J(%1H:7, 8VQA<W, 9&5T97)M:6YE<R!T M:&4 9&ER96-T;W)Y(&]F(&$ ;6]D=6QE+"!A;F0 969F96-T:79E;'D 86-T M(%QB<FEE9B!297!R97-E;G1S('1H92!D:7)E8W1O<GD ;V8 82!M;V1U;&4- M"B\O+PT*+R\O(#QH M;V8 8F%S:6-?;6]D=6QE7V1I<F5C=&]R>2!E;F-A<'-U;&%T97, =&AE(&1I M<F5C=&]R>2!O9B!A(&=I=F5N(&UO9'5L92X 66]U(&EN<W1A;G1I871E(&ET M=#HO+R\ .UT-"B\O+R!(24Y35$%.0T4 (" (" (" (" (" (" (" M(" ("!H:6YS=" ]("X +B N.PT*+R\O(&)A<VEC7VUO9'5L95]D:7)E8W1O M<GD\8VAA<CXH:&EN<W0I(&UD:7(H:&EN<W0I.PT*+R\O('!U=',H;61I<BD[ M=2!C86X 86QS;R!U<V4 ;VYE(&]F('1H92!T:')E92!G:79E;B!T>7!E9&5F M<SH-"B\O+R!<8R!M;V1U;&5?9&ER96-T;W)Y("AP87)A;65T97)I<V5D(&]N M97)I<V5D(&]N($-(05(I+" -"B\O+R!<8R!M;V1U;&5?9&ER96-T;W)Y7W< M(%EO=2!C86X =7-E('1E;7!O<F%R>2!I;G-T86YC97, ;V8 =&AE(&-L87-S M+"!A;F0 =7-E('1H92 \8V]D93YC:&%R7W1Y<&4 8V]N<W0 *CPO8V]D93X- M"B\O+R!I;7!L:6-I="!C;VYV97)S:6]N+"!O<B!T:&4 7&, 8U]S='(H*2!M M<W1A<G0[8V]M;65N=#HO+R\ .UT-"B\O+R!P=71S*&UO9'5L95]D:7)E8W1O M<GE?82AH:6YS="DI.PT*+R\O(%M35$Q33T94+41/0SI615)"051)33IE;F1= M96%M<SH-"B\O+PT*+R\O(%M35$Q33T94+41/0SI615)"051)33IS=&%R=#MC M;VUM96YT.B\O+R [70T*+R\O(&-O=70 /#P 3")4:&4 ;6]D=6QE('=A<R!L M;V%D960 9G)O;2!T:&4 (B \/"!M;V1U;&5?9&ER96-T;W)Y7W<H:&EN<W0I M(#P\($PB(&1I<F5C=&]R>2( /#P 96YD;#L-"B\O+R!;4U1,4T]&5"U$3T,Z M;VT =&AE(&)O:6QE<G!L871E(&-O9&EN9R!O9B!C86QL:6YG(%QC($=E=$UO M9'5L949I;&5.86UE*"D 86YD('1H96X <&%R<VEN9R!T:&4-"B\O+R!R971U M<FYE9"!P871H('1O('1R:6T ;V9F('1H92!D:7)E8W1O<GDN($%L;"!T:&%T M86ET<R!T>7!E+B!/;B!T<F%N<VQA=&]R<R!T:&%T('-U<'!O<G0 9&5F875L M="!T96UP;&%T92!A<F=U;65N=',L('1H:7, 9&5F875L=', =&\ 9FEL97-Y M<W1E;5]T<F%I=',\0SX-"G1E;7!L871E/" ('-S7W1Y<&5N86UE7W!A<F%M M54Q47T-,05-37T%21U5-14Y47U-54%!/4E0-"B (" (" +" ('-S7W1Y M90T*(" (" (" L(" <W-?='EP96YA;65?<&%R86U?:R!4("\J(#T 9FEL M97-Y<W1E;5]T<F%I=',\0SX *B\-"B-E;F1I9B O*B!?7U-43%-/1E1?0T9? M"GL-"G!U8FQI8SH-"B (" O+R\ 5&AE(&-H87( ='EP90T*(" ('1Y<&5D M968 0R (" (" (" (" (" (" (" (" (" ("!C:&%R7W1Y<&4[ M(" (" (" (" (" (" (" (" ("!T<F%I='-?='EP93L-"B (" O M+R\ 5&AE(&-U<G)E;G0 <&%R86UE=&5R:7-A=&EO;B!O9B!T:&4 ='EP90T* M('=S7W-I>F5?=" (" (" (" (" (" (" (" <VEZ95]T>7!E.PT* M;VYS=')U8W1O< T*(" ('-S7V5X<&QI8VET7VL 8F%S:6-?;6]D=6QE7V1I M<F5C=&]R>2A(24Y35$%.0T4 :&EN<W0 /2!.54Q,*3L-" T*+R\ 3W!E<F%T M:6]N<PT*<'5B;&EC. T*(" ("\O+R!'971S('1H92!M;V1U;&4 9&ER96-T M;W)Y(&EN=&\ =&AE(&=I=F5N(&)U9F9E< T*(" ('-T871I8R!S:7IE7W1Y M<&4 ("!G971?<&%T:"A(24Y35$%.0T4 :&EN<W0L('=S7V-H87)?85]T("IB M=69F97(L('-I>F5?='EP92!C8VA"=69F97(I.PT*(" ("\O+R!'971S('1H M92!M;V1U;&4 9&ER96-T;W)Y(&EN=&\ =&AE(&=I=F5N(&)U9F9E< T*(" M('-T871I8R!S:7IE7W1Y<&4 ("!G971?<&%T:"A(24Y35$%.0T4 :&EN<W0L M('=S7V-H87)?=U]T("IB=69F97(L('-I>F5?='EP92!C8VA"=69F97(I.PT* M;VXM;75T86)L92 H8V]N<W0I('!O:6YT97( =&\ =&AE('!A=& -"B ("!C M(" 8VAA<E]T>7!E(&-O;G-T("IC7W-T<B I(&-O;G-T.PT*(" ("\O+R!2 M:6]N<PT*<'5B;&EC. T*(" ("\O+R!);7!L:6-I="!C;VYV97)S:6]N('1O M(" ;W!E<F%T;W( 8VAA<E]T>7!E(&-O;G-T("HH*2!C;VYS= T*(" ('L- M<E]T>7!E/B (&U?9&ER.PT*(" ('-I>F5?='EP92!C;VYS=" (" (" M="!C;&%S<U]T>7!E("8I.PT*(" (&)A<VEC7VUO9'5L95]D:7)E8W1O<GD M)F]P97)A=&]R(#TH8V M+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O M=&%N=&EA=&EO;B!O9B!T:&4 8F%S:6-?;6]D=6QE7V1I<F5C=&]R>2!T96UP M;&%T92!F;W( =&AE($%.4TD 8VAA<F%C=&5R('1Y<&4 7&, 8VAA< T*='EP M961E9B!B87-I8U]M;V1U;&5?9&ER96-T;W)Y/'=S7V-H87)?85]T+"!F:6QE M<WES=&5M7W1R86ET<SQW<U]C:&%R7V%?=#X /B (" ;6]D=6QE7V1I<F5C M=&]R>5]A.PT*+R\O($EN<W1A;G1I871I;VX ;V8 =&AE(&)A<VEC7VUO9'5L M95]D:7)E8W1O<GD =&5M<&QA=&4 9F]R('1H92!5;FEC;V1E(&-H87)A8W1E M<B!T>7!E(%QC('=C:&%R7W0-"G1Y<&5D968 8F%S:6-?;6]D=6QE7V1I<F5C M=&]R>3QW<U]C:&%R7W=?="P 9FEL97-Y<W1E;5]T<F%I=',\=W-?8VAA<E]W M7W0^(#X (" (&UO9'5L95]D:7)E8W1O<GE?=SL-"B\O+R!);G-T86YT:6%T M:6]N(&]F('1H92!B87-I8U]M;V1U;&5?9&ER96-T;W)Y('1E;7!L871E(&9O M<B!T:&4 5VEN,S( 8VAA<F%C=&5R('1Y<&4 7&, 5$-(05(-"G1Y<&5D968 M8F%S:6-?;6]D=6QE7V1I<F5C=&]R>3Q40TA!4BP 9FEL97-Y<W1E;5]T<F%I M=',\5$-(05(^(#X (" (" (" (" (" (&UO9'5L95]D:7)E8W1O<GD[ M(#X- M;&5?9&ER96-T;W)Y/$,L(%0^(&-O;G-T("9B*0T*>PT*(" (')E='5R;B!S M+"!4/B!C;VYS=" F8BD-"GL-"B ("!R971U<FX <W1L<V]F=%]N<U]Q=6%L M*&-?<W1R7W!T<BDH8BYC7W-T<B I*3L-"GT-" T*=&5M<&QA=&4\(" <W-? M87)A;5]K(%0-"B (" (" / T*:6YL:6YE('=S7W-I>F5?="!C7W-T<E]L M"B ("!R971U<FX <W1L<V]F=%]N<U]Q=6%L*&-?<W1R7VQE;BDH8BYC7W-T M/ T*:6YL:6YE('=S7W-I>F5?="!C7W-T<E]S:7IE*&)A<VEC7VUO9'5L95]D M:7)E8W1O<GD\0RP 5#X M;&%T93P ("!S<U]T>7!E;F%M95]P87)A;5]K(%,-"B (" (" +" ('-S M7W1Y<&5N86UE7W!A<F%M7VL 0PT*(" (" (" L(" <W-?='EP96YA;65? M"GL-"B ("!S(#P\(&(N8U]S='(H*3L-" T*(" (')E='5R;B!S.PT*?0T* M+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+PT*("H 56YI M(" >PT*(" (" ("!U<VEN9R!S=&QS;V9T.CIU;FET=&5S=#HZ=6YI='1E M<W1?:6YI=&EA;&ES97( (" :6YI="AR+" B5VEN4U1,(BP (FUO9'5L95]D M9'5L95]D:7)E8W1O<GE?82AH:6YS="DN;&5N9W1H*"D (3T ;6]D=6QE7V1I M<F5C=&]R>5]W*&AI;G-T*2YL96YG=& H*2D-" D)>PT*(" (" (" (" M<BT^<F5P;W)T*")$:7-A9W)E96UE;G0 ;VX ;&5N9W1H*"D 8F5T=V5E;B!! M3E-)(&%N9"!5;FEC;V1E(&EN<W1A;G1I871I;VYS(BP 7U],24Y%7U\I.PT* M95]D:7)E8W1O<GD)"6UW*&AI;G-T*3L-" T*"0DO+R -" D):68H;6]D=6QE M7V1I<F5C=&]R>5]A*&AI;G-T*2YL96YG=& H*2 A/2!M;V1U;&5?9&ER96-T M97!O<G0H(D1I<V%G<F5E;65N="!O;B!L96YG=& H*2!B971W965N($%.4TD M<F5C=&]R>3HZ<VEZ95]T>7!E"6-C: D)/0EM;V1U;&5?9&ER96-T;W)Y.CIG M971?<&%T:"AH:6YS="P <W1A=&EC7V-A<W0\=W-?8VAA<E]A7W0J/BA.54Q, M+"!B=69F+" Q("L 8V-H*3L-" T*"0EI9B P("$]('-T<F-M<"AB=69F+"!M M=RYG971?<&%T:" I*2D-" D)>PT*(" (" (" (" <BT^<F5P;W)T*")$ M:7-A9W)E96UE;G0 ;VX 8V]N=&5N=', 8F5T=V5E;B!G971?<&%T:" H<W1A M=&EC*2!A;F0 9V5T7W!A=& H*2(L(%]?3$E.15]?*3L-"B (" (" (" M(&)3=6-C97-S(#T M=69F+"!M=RYC7W-T<B I*2D-" D)>PT*(" (" (" (" <BT^<F5P;W)T M*")$:7-A9W)E96UE;G0 ;VX 8V]N=&5N=', 8F5T=V5E;B!G971?<&%T:" H M<W1A=&EC*2!A;F0 8U]S='(H*2(L(%]?3$E.15]?*3L-"B (" (" (" M(&)3=6-C97-S(#T M965M96YT(&]N(&-O;G1E;G1S(&)E='=E96X 9V5T7W!A=& *'-T871I8RD M86YD(&EM<&QI8VET(&-O;G9E<G-I;VX ;W!E<F%T;W(B+"!?7TQ)3D5?7RD[ M(" <F5T=7)N(&)3=6-C97-S.PT*(" ('T-" T*(" ('5N:71T97-T7W)E M9VES=')A<B ("!U;FET=&5S=%]W:6YS=&Q?;6]D=6QE7V1I<F5C=&]R>2AT M97-T7W=I;G-T;%]M;V1U;&5?9&ER96-T;W)Y*3L-" T*?2 O+R!N86UE<W!A M8V4 =6YI='1E<W0-" T*(V5N9&EF("\J(%-43%-/1E1?54Y)5%1%4U0 *B\- M" T*+RH +R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O M+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\-"B J($EM M3E1!5$E/3E]32TE07U-%0U1)3TX-" T*=&5M<&QA=&4\(" <W-?='EP96YA M(%0-"B (" (" / T*:6YL:6YE(&)A<VEC7VUO9'5L95]D:7)E8W1O<GD\ M0RP 5#XZ.F)A<VEC7VUO9'5L95]D:7)E8W1O<GDH2$E.4U1!3D-%(&AI;G-T M("\J(#T 3E5,3" J+RD-"B (" Z(&U?;&5N*&=E=%]P871H*&AI;G-T+" F M<U]T>7!E;F%M95]P87)A;5]K($,-"B (" (" +" ('-S7W1Y<&5N86UE M7W1Y<&5N86UE7W1Y<&5?:R!B87-I8U]M;V1U;&5?9&ER96-T;W)Y/$,L(%0^ M7W!A=& H2$E.4U1!3D-%(&AI;G-T+"!W<U]C:&%R7V%?=" J8G5F9F5R+"!S M/CHZ<VEZ95]T>7!E(&-C:$)U9F9E<BD-"GL-"B ("!B87-I8U]F:6QE7W!A M=&A?8G5F9F5R/'=S7V-H87)?85]T/B!P871H.PT*(" ('=S7V1W;W)D7W0 M(" (" (" (" (" (" (" (" (&1W(" ](" .CI'971-;V1U;&5& M("!I9B P(#T](&1W*0T*(" ('L-"B (" (" <&%T:%LP72 ]("=<,"<[ M<&%T:%]B=69F97(\=W-?8VAA<E]A7W0^(&1I<F5C=&]R>3L-"B (" (" M=W-?8VAA<E]A7W0 (" (" (" (" (" (" (" (" *F9I;&5087)T M;G-?<75A;"AC7W-T<E]P='(I*'!A=& I+"!D:7)E8W1O<GDN<VEZ92 I+" F M(" *F9I;&5087)T(#T )UPP)SL-" T*(" (" (" (" ;'-T<F-P>6Y! M*&)U9F9E<BP <W1L<V]F=%]N<U]Q=6%L*&-?<W1R7W!T<BDH9&ER96-T;W)Y M*2P 8V-H0G5F9F5R*3L-"B (" (" ?0T*(" ('T-" T*(" (')E='5R M/ T*:6YL:6YE("\J('-T871I8R J+R!S<U]T>7!E;F%M95]T>7!E7VL 8F%S M9'5L95]D:7)E8W1O<GD\0RP 5#XZ.F M="P =W-?8VAA<E]W7W0 *F)U9F9E<BP <W-?='EP96YA;65?='EP95]K(&)A M<VEC7VUO9'5L95]D:7)E8W1O<GD\0RP 5#XZ.G-I>F5?='EP92!C8VA"=69F M=#X <&%T:#L-"B ("!W<U]D=V]R9%]T(" (" (" (" (" (" (" M(" ("!D=R /2 (#HZ1V5T36]D=6QE1FEL94YA;657*&AI;G-T+" F<&%T M(" >PT*(" (" ("!B87-I8U]F:6QE7W!A=&A?8G5F9F5R/'=S7V-H87)? M(" (" (" (" (" ("IF:6QE4&%R=#L-" T*(" (" ("!D=R ](#HZ M1V5T1G5L;%!A=&A.86UE5RAS=&QS;V9T7VYS7W%U86PH8U]S=')?<'1R*2AP M871H*2P 9&ER96-T;W)Y+G-I>F4H*2P )F1I<F5C=&]R>5LP72P )F9I;&50 M87)T*3L-" T*(" (" ("!I9B P(#T M(" (" ("!P871H6S!=(#T )UPP)SL-"B (" (" ?0T*(" (" ("!E M/" ('-S7W1Y<&5N86UE7W!A<F%M7VL 0PT*(" (" (" L(" <W-?='EP M>7!E(&-O;G-T("IB87-I8U]M;V1U;&5?9&ER96-T;W)Y/$,L(%0^.CIG971? M7W-T<E]P='(I*&U?9&ER*3L-"GT-" T*=&5M<&QA=&4\(" <W-?='EP96YA M(%0-"B (" (" / T*:6YL:6YE('-S7W1Y<&5N86UE7W1Y<&5?:R!B87-I M8U]M;V1U;&5?9&ER96-T;W)Y/$,L(%0^.CIC:&%R7W1Y<&4 8V]N<W0 *F)A M<VEC7VUO9'5L95]D:7)E8W1O<GD\0RP 5#XZ.F-?<W1R*"D 8V]N<W0-"GL- M"B ("!R971U<FX 9V5T7W!A=& H*3L-"GT-" T*=&5M<&QA=&4\(" <W-? M87)A;5]K(%0-"B (" (" / T*:6YL:6YE('-S7W1Y<&5N86UE7W1Y<&5? M:R!B87-I8U]M;V1U;&5?9&ER96-T;W)Y/$,L(%0^.CIS:7IE7W1Y<&4 8F%S M+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O M+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O M*B O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O M+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+PT*("H 3F%M97-P M;&]B86P ;F%M97-P86-E+B!4:&ES(&ES(')E<75I<F5D(&)Y('1H92!L;V]K M4U!!0T4-"B, :68 (61E9FEN960H7U-43%-/1E1?3D]?3D%-15-004-%*2 F M/R!?4U1,4T]&5%].3U].04U%4U!!0T4 *B\-"B\J(%1H97)E(&ES(&YO('-T M;'-O9G0 ;F%M97-P86-E+"!S;R!M=7-T(&1E9FEN92!I;B!T:&4 9VQO8F%L M(&YA;65S<&%C92 J+PT*(R!E;F1I9B O*B A7U-43%-/1E1?3D]?3D%-15-0 M=7-I;F< .CIW:6YS=&PZ.F-?<W1R7W!T<CL-" T*=7-I;F< .CIW:6YS=&PZ M5$E/3BD-"GT +R\ ;F%M97-P86-E('-T;'-O9G0-"B, 96QS92 O*B _(%]3 M="!N86UE<W!A8V4L('-O(&UU<W0 9&5F:6YE(&EN('1H92!G;&]B86P ;F%M M*B\-"B-E;F1I9B O*B A7U=)3E-43%].3U].04U%4U!!0T4 *B\-" T*+RH M+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O M+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\ *B\-" T*(V5N9&EF("\J M(%=)3E-43%])3D-,7TA?5TE.4U1,7TU/1%5,15]$25)%0U1/4ED *B\-" T* M+RH +R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O E+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\ *B\-" `` ` end
Jun 11 2004
parent "Pablo Aguilar" <paguilarg hotmail.com> writes:
Thanks

 Yep. Here it is
Jun 11 2004
prev sibling parent reply "Walter" <newshound digitalmars.com> writes:
It's now available for download: ftp://ftp.digitalmars.com/stlsoft-1.7.1.zip
Jun 14 2004
parent "Matthew" <admin stlsoft.dot.dot.dot.dot.org> writes:
Thanks Walter. :)

"Walter" <newshound digitalmars.com> wrote in message
news:calt3q$evc$1 digitaldaemon.com...
 It's now available for download: ftp://ftp.digitalmars.com/stlsoft-1.7.1.zip
Jun 14 2004