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.