Boost logo

Boost :

From: David Gruener (David.Gruener_at_[hidden])
Date: 2006-05-15 05:54:35


> - What is your evaluation of the implementation?

The code doesn't compile with gcc, because getNew() should be this->getNew().
The 'inline' keywords are useless (implicit inline), at least on conforming compilers.
The 'get()' method isn't const correct, e.g. you can write:

void CGamePlayer::IncreaseLives() const
{
   ++m_Values.get().m_Lives;
}

> - What is your evaluation of the documentation?

Both examples don't compile because of typos.
(Ctest -> CTest, CgamePlayerValues -> CGamePlayerValues and more.)
Why there's a C prefix?

> - What is your evaluation of the potential usefulness of the library?

Unsure.

> - Did you try to use the library? With what compiler?

Yes. GCC4, GCC3.

> Did you have any problems?

Yes, see above and below.

> - How much effort did you put into your evaluation? A glance? A
> quick reading? In-depth study?

A glance.

> - Are you knowledgeable about the problem domain?

Yes.

----
I'm not sure what this utility is trying to address.
The motivation is not to write down constructor, destructor, assignment operator
and so on. But, unfortunately, you have to.
Smart pointer or not, with a pimpl, the implicit generated versions of these
operations are all wrong, because the compiler only has a forward declaration
to the hidden class and therefore can't create, destroy and compare it.
Even with some smart pointer you have to write down those operations,
while leaving the function bodies in the cpp file empty.
Sorry, my vote is: No.
David.

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