N
Nobody
Anyone have a clean way of solving this define issue?
In Windows, there are sometimes unicode functions and multibyte functions...
the naming convention used is FunctionA for multibyte and FunctionW for
unicode...
So basically what happens is:
void FunctionA();
void FunctionW();
#ifdef _UNICODE
#define Function FunctionW
#else
#define Function FunctionA
#endif
now I have a class...
class Whatever
{
public:
void Function();
};
obviously this gets mapped to either FunctionA or FunctionW, which I dont
want...
I want *my* function to be called "Function", but be able to call FunctionA
or FunctionW with in my code...
Also if someone calls my library, to be able to call "Function" without
loosing the ability of the Windows "Function" macro...
Is there any way to solve this cleanly without undefing "Function" for the
whole project?
I can't even rename my "Function" to anything close without totally going
"stupid" like "Funktion".
In Windows, there are sometimes unicode functions and multibyte functions...
the naming convention used is FunctionA for multibyte and FunctionW for
unicode...
So basically what happens is:
void FunctionA();
void FunctionW();
#ifdef _UNICODE
#define Function FunctionW
#else
#define Function FunctionA
#endif
now I have a class...
class Whatever
{
public:
void Function();
};
obviously this gets mapped to either FunctionA or FunctionW, which I dont
want...
I want *my* function to be called "Function", but be able to call FunctionA
or FunctionW with in my code...
Also if someone calls my library, to be able to call "Function" without
loosing the ability of the Windows "Function" macro...
Is there any way to solve this cleanly without undefing "Function" for the
whole project?
I can't even rename my "Function" to anything close without totally going
"stupid" like "Funktion".