OverviewICU Versioning Design
Options
The options that were discussed :
Cons:
#define ICU ICU_1_9
namespace ICU{
class Format{
public:
static void printString(){
::cout<<"Hello World" <<endl;
}
};
}
/************** namespace.cpp****************/
#include "namespace.h"
using namespace ICU;
int main(){
Format::printString();
CString str = "adfasdfasdf";
str.Format("afdsfafd");
return 0;
}
Cons:
is renamed to
class Format_1_9{.......};
typedef Format_1_9 Format;
Proposed course of action
Check all IBM clients' platforms (OS390, AS400, AIX) and compilers like
GCC, HPUX, CXX, SUN's compilers for namespace support.
| Support available | Support not available on certain platforms |
| Create namespace for all c++ classe | Rename all C++ classes |
| Put c++ rename undef flags if C++ | Modify header files and CPP files |
| Put namespace in the header | Document and change userguide to reflect changes |
| Conduct tests on compiler support | Compile files with #ifdef |
Current course of action
After initial investigation on compilers and namespaces it turned out
that AIX does not support namespaces. Since AIX is one of the main
IBM platforms,
namespaces solution cannot be used.
| Rename all C++ classes |
| Modify header files and CPP files |
| Document and change userguide to reflect changes |
| Compile files with #ifdef |