occt: master e7195ab4

Author Committer Branch Timestamp Parent
abv abv master 2015-07-01 08:00:57 master e35db416
Affected Issues  0024023: Revamp the OCCT Handle
Changeset 0024023: Revamp the OCCT Handle -- handle

Macro defining Handle class is replaced by template class implementing the same concept (defined in Standard_Handle.hxx and Standard_Transient.hxx), opencascade::handle<>.

Header file Standard_DefineHandle.hxx becomes deprecated: the only useful macro DEFINE_STANDARD_RTTI is defined now in Standard_Type.hxx. Standard_DefineHandle.hxx is kept for compatibility, it defines macros previously used for definition of Handles and RTTI as empty. Macro DEFINE_STANDARD_HANDLE(C1,C2) is also kept for compatibility; now it expands to typedef "Handle_C1" to corresponding handle class.

Definitions of macro Handle() and STANDARD_TYPE() moved from Standard_Macro.hxx to Standard_Handle.hxx (new file) and Standard_Type.hxx, respectively.

New template class NCollection_Shared added, allowing to define sub-class manipulated by handle, for any non-transient class.

Adaptations for compiling with GCC 4.7
mod - src/NCollection/FILES Diff File
mod - src/NCollection/NCollection_DefineHSequence.hxx Diff File
rm - src/NCollection/NCollection_Handle.cxx Diff File
mod - src/NCollection/NCollection_Handle.hxx Diff File
add - src/NCollection/NCollection_Shared.hxx Diff File
mod - src/Standard/FILES Diff File
rm - src/Standard/Handle_Standard_Persistent.cxx Diff File
rm - src/Standard/Handle_Standard_Persistent.hxx Diff File
rm - src/Standard/Handle_Standard_Transient.cxx Diff File
rm - src/Standard/Handle_Standard_Transient.hxx Diff File
mod - src/Standard/Standard.cdl Diff File
mod - src/Standard/Standard_Copy.tcl Diff File
mod - src/Standard/Standard_DefineHandle.hxx Diff File
add - src/Standard/Standard_Handle.hxx Diff File
rm - src/Standard/Standard_HashCode.cxx Diff File
mod - src/Standard/Standard_Macro.hxx Diff File
mod - src/Standard/Standard_Persistent.cdl Diff File
mod - src/Standard/Standard_Transient.cxx Diff File
mod - src/Standard/Standard_Transient.hxx Diff File
rm - src/Standard/Standard_Transient_proto.hxx Diff File
mod - src/Standard/Standard_Type.cxx Diff File
mod - src/Standard/Standard_Type.hxx Diff File