MantisBT
Mantis Bug Tracker Workflow

View Revisions: Issue #24487 All Revisions ] Back to Issue ]
Summary 0024487: Getting rid of generic CDL classes
Revision 2014-01-22 15:13 by abv
Description In context of planned elimination of WOK and CDL it is necessary to get rid of generic CDL classes in OCCT or at least to minimize their number as possible.

The problem is that generic classes are defined through CDL and instantiated to C++ via macro substitution. Each instantiation is represented by two automatically generated files (hxx and cxx) which define this substitution and #include original code. This will be difficult to track and maintain without WOK.

Other major problem with generic classes is that they are practically not usable in debugging: debugger does not recognize relation between source code and symbols in object code.

The steps to be done are:

1. Build a list of existing generic classes and check where each is used

2. Classes which are not used (and other unused stuff found in the process) to be removed

3. Generic classes used in single place should be converted to plan C++ classes

4. Instantiations of TCollection classes should be replaced by NCollection equivalents

5. Remaining classes should be converted to C++ templates or kept as-is (in any case GXX files should be removed from inc folder)
Revision 2013-12-20 13:15 by dln
Description Here are all the changes that were done:

1) from math:
- math_DoubleTab (converted to the non-generic);
- math_SingleTab (converted to the non-cdl template class)
- math_Vector (converted to the non-cdl class);
- math_IntegerVector (converted to the non-cdl class);

2) from XmlObjMgt:
- XmlObjMgt_Array1 (converted to the non-generic)

3) from BndLib:
- BndLib_Compute (converted to the non-cdl)

And some little changes for compilation of the application.


Copyright © 2000 - 2019 MantisBT Team
Powered by Mantis Bugtracker