Abdelrazak Younes wrote:
Abdelrazak Younes wrote:
Abdelrazak Younes wrote:
Lars Gullik Bjønnes wrote:
| > We now get a class (and header
| > file) that will have to include a multitude of other header files. and
| > in cases headerfiles that callers does not need at all.
| | Right, initially I didn't want to put these additional headers and use
| forward declaration but scoped_ptr requires them (MSVC gives errors).
| We have three solutions here:

Hmm... does MSVC have problems there as well...

Are you sure that gcc doesn't? You can compile this:

class A;

class B {
private:
    boost::scoped_ptr<A> a_;
}

With MSVC I need #include "A.h" instead of class A.

Wait, I've tried again and it seems to work now... weird. I must have done some namespace mistakes last time I tried! ;-/

I'll do the correction.

Hum... I've done the change (see attached) but it's more complicated than that. For example, InsetMathNest.C should not care about BufferList but I need to include "bufferlist.h" to avoid this compilation error below. Any idea someone?

This boost code doesn't seem to be MSVC specific so I think you'll get the same error as me with gcc:

// verify that types are complete for increased safety

boost/checked_delete.C: line 27

template<class T> inline void checked_delete(T * x)
{
    // intentionally complex - simplification causes regressions
    typedef char type_must_be_complete[ sizeof(T)? 1: -1 ];
    (void) sizeof(type_must_be_complete);
    delete x;
}

Abdel.

Reply via email to