Boost logo

Boost-Build :

From: David Abrahams (david.abrahams_at_[hidden])
Date: 2002-04-30 09:00:49

----- Original Message -----
From: "Vladimir Prus" <ghost_at_[hidden]>

> > * class virtual-target is not derived from class target. Was that
> > intentional?
> Yes, it was. However the comments at the top of the file are wrong.
And the
> 'target' class should be name 'abstract-target'. I believe there's not
> similarity between abstract and virtual targets to make then derive
from a
> common base.

Okay. I wonder if we can get it to be class targets.abstract and class

BTW, I think "virtual" is a terrible name. Now that I have reminded
myself what it is, I have no serious problem with it, but I think it
will confuse people. Other names which might be more descriptive:

"imaginary (as opposed to real) target" :^(
"provisional target"
"exploratory target"
"search node"

I'm just trying to capture the idea that the things are generated in an
attempt to build the actual dependency graph, but that they're not
really targets, and only some will correspond to real targets.

> > * virtual-target.action seems a bit tricky to me. Perhaps it would
> > better to go with a simple get-action/set-action pair?
> Not sure. I tend to you the same scheme for accessors/mutators in C++
and I
> don't think it's all that alien to jam.

As the zen of Python says, "explicit is better than implicit". Not a big
deal; we can decide later.

However, let's resist the temptation to provide mutators/accessors for
anything before we need them. Usually a design with lots of mutators and
accessors fails to encapsulate or represent any abstraction very well.



Boost-Build list run by bdawes at, david.abrahams at, gregod at, cpdaniel at, john at