www.digitalmars.com         C & C++   DMDScript  

c++.stlsoft - New stlsoft headers

reply "Pablo Aguilar" <paguilarg hotmail.com> writes:
Hi,

I needed a project to introduce myself to python...
So I thought it'd be interesting to write a script, to generate the 
new-style project/file.hpp files, based on the previous project_file.h 
files.

Attached is the zip file with the python script, the batch to run it 
(hardcoded to my working paths, sorry!) and a folder named "temp" which 
should be equivalent to the library's "inprogress" directory. After running 
a directory compare utility I found (Beyond Compare, don't remember the URL) 
the comparisson showed only 3 main differences (aside from the time stamps 
of course):

stlsoft/pod_vector.hpp
stlsoft/static_array.hpp
unixstl/spint_mutex.hpp

have "incompatibilities section"s, which the script doesn't generate...

Other than that, all the files that had already been added to the new 
folders, are identical, while the new ones that aren't in the root directory 
aren't even considered. so I'd expect the newly generated ones are what 
would've been written by hand.

If the batch is modified to run in the inprogress directory (dotnetstl has 
to be created within it) you get 102 new files created.

Hope this helps, if it doesn't I don't mind, I just needed something to 
motivate me into python...


Pablo
May 05 2005
next sibling parent reply "Matthew" <admin stlsoft.dot.dot.dot.dot.org> writes:
Pablo, you're a trouper! :-)

In fact I've created various Ruby and Python scripts to do this kind
of thing recently - hint: recls+Ruby is a superbly productive
partnership - so I don't need it, but I'll certainly check it out
when I've a spare mo. You've undoubtedly thought of things I'd
missed.

I may also borrow some of these headers. (make_hpp.rb (which can 
also make for .h as well as .hpp) is executed once per item; this 
was because there's a fair amount of stuff currently in STLSoft 
'mainline' that need's to be put into an obsolete area in 1.9.)

Thanks for your continued interest and help.

I've included some of them for you to have a look at.

Matthew

P.S. If you could invent one that moved the content from the 
stlsoft_xyz.h header into the shim header stlsoft/xyz.hpp, and 
turned the stlsoft_xyz.h into the shim (that included the 
stlsoft/xyz.hpp) one, *that*'d be something. :-)

P.P.S. And while I'm at it, if you can invent a script that works 
through and does some auto-documentation, well, I'd eat my hat with 
pesto! :-)


"Pablo Aguilar" <paguilarg hotmail.com> wrote in message
news:d5eq61$2iav$1 digitaldaemon.com...
 Hi,

 I needed a project to introduce myself to python...
 So I thought it'd be interesting to write a script, to generate
 the new-style project/file.hpp files, based on the previous
 project_file.h files.

 Attached is the zip file with the python script, the batch to run
 it (hardcoded to my working paths, sorry!) and a folder named
 "temp" which should be equivalent to the library's "inprogress"
 directory. After running a directory compare utility I found
 (Beyond Compare, don't remember the URL) the comparisson showed
 only 3 main differences (aside from the time stamps of course):

 stlsoft/pod_vector.hpp
 stlsoft/static_array.hpp
 unixstl/spint_mutex.hpp

 have "incompatibilities section"s, which the script doesn't
 generate...

 Other than that, all the files that had already been added to the
 new folders, are identical, while the new ones that aren't in the
 root directory aren't even considered. so I'd expect the newly
 generated ones are what would've been written by hand.

 If the batch is modified to run in the inprogress directory
 (dotnetstl has to be created within it) you get 102 new files
 created.

 Hope this helps, if it doesn't I don't mind, I just needed
 something to motivate me into python...


 Pablo

May 05 2005
parent reply "Pablo Aguilar" <paguilarg hotmail.com> writes:
"Matthew" <admin stlsoft.dot.dot.dot.dot.org> wrote in message 
news:d5etu6$2ma1$1 digitaldaemon.com...
 Pablo, you're a trouper! :-)

;-)
 In fact I've created various Ruby and Python scripts to do this kind
 of thing recently - hint: recls+Ruby is a superbly productive
 partnership - so I don't need it, but I'll certainly check it out
 when I've a spare mo. You've undoubtedly thought of things I'd
 missed.

I doubt it, in fact, my code looks somewhat sloppy for my own taste, being my first python script EVER ... but, take a look, comments are more than welcome, in fact, some pointers on coding style would really come in handy...
 I may also borrow some of these headers. (make_hpp.rb (which can also make 
 for .h as well as .hpp) is executed once per item; this was because 
 there's a fair amount of stuff currently in STLSoft 'mainline' that need's 
 to be put into an obsolete area in 1.9.)

I'm sorry, but I couldn't fully grasp this paragraph...
 Thanks for your continued interest and help.

My pleasure...
 I've included some of them for you to have a look at.

Sure, I just skimmed through them, but not knowing ruby didn't help me much... the parts I did read and understand look very much like what I did on my script. I'll read 'em later (when it's not 2:00am!)
 Matthew

 P.S. If you could invent one that moved the content from the stlsoft_xyz.h 
 header into the shim header stlsoft/xyz.hpp, and turned the stlsoft_xyz.h 
 into the shim (that included the stlsoft/xyz.hpp) one, *that*'d be 
 something. :-)

Sounds interesting, I might take a shot at it in a couple of days (I've a fair amount of work to do at, well, work... and my other work...)
 P.P.S. And while I'm at it, if you can invent a script that works through 
 and does some auto-documentation, well, I'd eat my hat with pesto! :-)

Right... [My first reaction was: Sure! Just after I finish my AI Ph.D. in a few years...] Pablo
May 06 2005
parent "Matthew" <admin stlsoft.dot.dot.dot.dot.org> writes:
 P.S. If you could invent one that moved the content from the 
 stlsoft_xyz.h header into the shim header stlsoft/xyz.hpp, and 
 turned the stlsoft_xyz.h into the shim (that included the 
 stlsoft/xyz.hpp) one, *that*'d be something. :-)

Sounds interesting, I might take a shot at it in a couple of days (I've a fair amount of work to do at, well, work... and my other work...)

That'd be rather nice.
 P.P.S. And while I'm at it, if you can invent a script that works 
 through and does some auto-documentation, well, I'd eat my hat 
 with pesto! :-)

Right... [My first reaction was: Sure! Just after I finish my AI Ph.D. in a few years...]

:-)
May 15 2005
prev sibling parent "Matthew" <admin stlsoft.dot.dot.dot.dot.org> writes:
I've incorporated the following files. Those that didn't make are 
either (i) already done, or (ii) already/destined to be 
C-compatible, and therefore .h not .hpp, or (iii) destined for the 
bit bucket, and not part of 1.9 proper.

Even taking into account all that, there are a lot. :-)

atlstl\ccombstr_veneer.hpp
atlstl\property_method_helpers.hpp
atlstl\support_error_info.hpp
atlstl\window_access.hpp
comstl\coll_sequence.hpp
comstl\functionals.hpp
comstl\interface_cast.hpp
comstl\interface_ptr.hpp
comstl\safearray_sequence.hpp
comstl\security_initialisers.hpp
comstl\thread_marshal.hpp
comstl\value_policies.hpp
dotnetstl\dispose_functions.hpp
dotnetstl\object_enumerators.hpp
dotnetstl\string_accessor.hpp
mfcstl\array_adaptor.hpp
mfcstl\array_veneer.hpp
mfcstl\cstring_veneer.hpp
mfcstl\grab_cstring_buffer.hpp
mfcstl\list_adaptor.hpp
mfcstl\resource_string.hpp
mfcstl\window_access.hpp
stlsoft\associative_container_veneer.hpp
stlsoft\char_alt_traits.hpp
stlsoft\compiler_traits.hpp
stlsoft\container_veneers.hpp
stlsoft\environment_block.hpp
stlsoft\explicit_cast.hpp
stlsoft\explicit_inheritance_veneer.hpp
stlsoft\field_properties.hpp
stlsoft\first_class_promoter.hpp
stlsoft\limit_traits.hpp
stlsoft\literal_cast.hpp
stlsoft\method_properties.hpp
stlsoft\null_mutex.hpp
stlsoft\pair.hpp
stlsoft\placement_aid.hpp
stlsoft\pod_veneer.hpp
stlsoft\proxy_ptr.hpp
stlsoft\proxy_sequence.hpp
stlsoft\ptr_cast.hpp
stlsoft\simple_type_converter.hpp
stlsoft\type_helpers.hpp
stlsoft\unused_return_value_monitor.hpp
unixstl\current_directory.hpp
unixstl\current_directory_scope.hpp
unixstl\findfile_sequence.hpp
unixstl\functionals.hpp
unixstl\limits.hpp
winstl\absolute_path.hpp
winstl\acl_sequence.hpp
winstl\clipboard_format_sequence.hpp
winstl\combobox_sequence.hpp
winstl\drophandle_sequence.hpp
winstl\environment_sequence.hpp
winstl\findvolume_sequence.hpp
winstl\global_allocator.hpp
winstl\heapwalk_sequence.hpp
winstl\listbox_sequence.hpp
winstl\listview_sequence.hpp
winstl\module_filename.hpp
winstl\multimedia_counter.hpp
winstl\performance_counter_init.hpp
winstl\performance_counter_scope.hpp
winstl\processtimes_counter.hpp
winstl\setfocus_scope.hpp
winstl\shell_browse.hpp
winstl\systemtime_counter.hpp
winstl\threadtimes_counter.hpp
winstl\tick_counter.hpp
winstl\token_information.hpp
winstl\treeview_sequence.hpp
winstl\version_info.hpp
winstl\windows_directory.hpp
winstl\window_functionals.hpp
winstl\window_text_scope.hpp
winstl\window_visible_scope.hpp

Thanks again

Matthew
May 05 2005