"Marco K?gler" <marco.koegler / web.de> wrote in message
news:3DA3E640.4090903 / web.de...
> #define eof _eof
>
> Now, the problem I have with this is, that my code uses the STL
> stringstream ... which coincidentally has an eof() member function. Now,
> I just went ahead and did something like this (without IMPORT and NT=1):

That's why STL uses the std:: namespace.

I recommend the practive of never have a using namespace std in the code.
Instead typedef the types you are using. For example:

#include <vector>
typedef int_vector_t std::vector<int>;

> Both solutions are not really satisfactory. Does somebody know what the
> exact purpose of the win32/win32.h file is? It seems a bit like an
> emulation layer, but that problem should probably be solved in code, not
>   in a header file.

Without knowing the sources, I tend to agree. Generally I'd say that the
practice should be that standard API include files (here Ruby API) should
not depend on platform specific includes. There may be platform specific
operations requiring a platform specific header, but then their prototypes
should be in  seperate API include file.

Mikkel