> ** In a_lyx_Cpp.C:
> 
> #include <ctype>
> 
> ** in src/cheaders/ctype
> 
> //Add appropriate ifdefs there
> #include <ctype.h>
> 
> ** in configure
> 
> if compiler-does-not-have-cheaders ; then
>   INC="-I${top_srcdir}/src/cheaders $INC"
> fi
> 
> Does this seem convenient enough?

It does to me.  Also, we need to handle the namespace problem.
Personally, I still think that using 

#include <Vector>

which corresponds to

#include <vector>
using std::vector;

is a good solution...

Similarly, we could alternatively use

#include <Ctype>

and then have the capital-letter include files in a
compatibility section.

I agree with Jean-Marc that we can not just require people to
have a C++ standard compliant compiler. First of all, no such
thing exists. g++ 2.95 is fairly close, but it's arrogant to say 
that this particular brand of C++ is what we require.
We have to find the right balance, and that involves programming
a bit defensively sometimes to ensure that more than just one
compiler works.
Fixing ourselves on one compiler is similar to fixing ourselves to one
toolkit.  It's not nice to do.
We don't really need all of the C++ standard to implement and
clean up LyX.  Yes, we need the STL, but the rest of the C++
standard library we can not require.  Especially since much
of the C++ standard library is not even available with g++.
So, let's try to stick to what we need and as time progresses,
we can start to use more and more.  But it would be a mistake
to just use all of it now simply because g++ supports it.

Greets,

Asger

Reply via email to