Boost logo

Boost :

From: John Max Skaller (skaller_at_[hidden])
Date: 2001-05-10 21:49:15


Larry Evans wrote:
http://groups.yahoo.com/group/boost/files/GarbageCollectByTmplSpecializa/gc_sel_ssp.zip
> > > in directories below the directory lib/gc_sel_ssp/tests/drivers.
> >
> > OK, I'll have a look. HMMM:
> > ---------------------------------------------
> > make usage
> > : No such file or directory
> > : No such file or directory.imk
> > : No such file or directory/tests/drivers/crc
> > Makefile:26: *** missing separator. Stop.
> > -----------------------------------------
> > Just try 'make':
> > -----------------------------------------
> > root_at_pelican] ~/gcsel>make
> > : No such file or directory
> > : No such file or directory.imk
> > : No such file or directory/tests/drivers/crc
> > Makefile:26: *** missing separator. Stop.
> > -----------------------------------------
>
> OOPS. Are you using gnu make?

        Is there anything else on linux? :-)
 
> > What I'd like to see is a simple example, not a test routine.
> > For example: how would I make a singly linked list of 10 integers?
>
> My "gc_sel_ssp" method can't do integers.

        I said a _linked list of integers_. That is, you'd
derive the _link node_ from something (not integers :-)

> I think it would be easy to adapt gc_sel_ssp to allow any class to be
> gc'ed by using the Felix method, but instead of having the programmer
> specify the offsets, they could be calculated automatically as explained in
> my previous post.

        I was hoping this might be possible.
 
> > By the way: I kind of like your coding conventions,
> > but there is a risk you will turn other people off using them.
>
> Yes. I've received comments before about starting a line with
> ';', but it really makes more sense because it more closely reflects
> the tree structure of the code, if have trees growing left to right instead
> of bottom to top.

        I know, thats why I liked it. C++ and 'sense' do not
always go together. Politics is not about sense, but appeal.
 
> I guess I'll just use release.log to generate a more acceptable
> Makefile for my next boost upload.

        You need to reduce dependencies on everything possible.
The flx_gc package doesn't even depend on boost. It needs
STL map, but I would consider getting rid of that too, since it
is only a single dependency. Think like a dumb end user. :-)
 
> > One possible solution is to use a class I haven't provided
> > yet: root_handle. This 'reference counts' its argument, by adding
> > it as a root on acquisition, and decrementing the root
> > count on release. The root_handle doesn't need to be swept
>
> I don't understand. I'm thinking you mean root_handle store's a pointer
> to itself in a set of roots (i.e. add it as root on acquisition).

        No, it stores the pointer it _manages_ into the
set of roots. But I use an STL map:

        pointer -> count

for roots now, so you can add the same pointer 10 times,
then remove it 9 times and it is still a root.

> You may be confused by the differences between the class names
> in the documentation and that in the code.

        No, I'm confused by a huge number of symbols.
I don't want to read the code at all, not yet. I want to
use it. So want instructions like:

        To use my system,

        1. DO this.
        2. Now do this.
        3. Finally, do this.

with examples. I don't want to think or learn. :-)

        When I can do that, I might start looking at HOW
you do it. But I don't know what it is that you are
cleverly letting me do, so learning how your magic lets
me do it isn't an option yet.

-- 
John (Max) Skaller, mailto:skaller_at_[hidden]
10/1 Toxteth Rd Glebe NSW 2037 Australia voice: 61-2-9660-0850
checkout Vyper http://Vyper.sourceforge.net
download Interscript http://Interscript.sourceforge.net

Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk