>>>>> "Asger" == Asger Alstrup Nielsen <[EMAIL PROTECTED]> writes:

Asger> In the C++ standard, the definitions that you get with the
Asger> "#include <string>" directive are all encapsulated in the "std"
Asger> namespace.

Asger> Namespaces are relatively new to the C++ language.  They allow
Asger> you do avoid name space clashes, because you can pool together
Asger> the names into a namespace.  All the names defined in the
Asger> standard C++ library, including the STL, are declared in the
Asger> "std" namespace.  So, in order to use those names, you have to
Asger> qualify your names with the namespace.

Ah, you mean that C++ finally decided to take some turbo pascal
features ;) That's fine with me.

Asger> When it comes to LyX, we have to deal with this differently.  I
Asger> suggest that we add a "LStrings.h" header where we make sure
Asger> that the "string", "wstring" and "LString"s are properly
Asger> declared and imported into the global namespace.  Then, we can
Asger> #define our way out of trouble in that header file to make
Asger> things work with all the compilers that can be tweaked into
Asger> what we want.

Why not do it directly in LString.h? It already contains some black
magic anyway.

JMarc

Reply via email to