mirror of
https://git.dev.opencascade.org/repos/occt.git
synced 2025-08-14 13:30:48 +03:00
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
This commit is contained in:
@@ -25,8 +25,6 @@ proc Standard_Copy:HandleInputFile { ID } {
|
||||
scan $ID "%\[^:\]:%\[^:\]:%\[^:\]" unit type name
|
||||
|
||||
switch $name {
|
||||
Handle_Standard_Transient.hxx {return 1;}
|
||||
Handle_Standard_Persistent.hxx {return 1;}
|
||||
Standard_Transient.hxx {return 1;}
|
||||
Standard_Persistent.hxx {return 1;}
|
||||
default {
|
||||
@@ -42,20 +40,10 @@ proc Standard_Copy:Execute { unit args } {
|
||||
foreach file $args {
|
||||
scan $file "%\[^:\]:%\[^:\]:%\[^:\]" Unit type name
|
||||
|
||||
set source [woklocate -p Standard:source:$name [wokinfo -N $unit]]
|
||||
|
||||
if { $name == "Standard_Persistent.hxx" || $name == "Standard_Persistent_objy.ddl"} {
|
||||
set source [woklocate -p Standard:source:Standard_Persistent_proto.hxx [wokinfo -N $unit]]
|
||||
} else {
|
||||
set source [woklocate -p Standard:source:$name [wokinfo -N $unit]]
|
||||
}
|
||||
|
||||
if { $name == "lctlprt.dll" || $name == "lctlprt.lib" || $name == "lmgr32.dll" || $name == "rtk.lib" || $name == "rtk.dll" } {
|
||||
set vistarget [woklocate -p Standard:library:$name [wokinfo -N $unit]]
|
||||
set target [wokinfo -p library:$name $unit]
|
||||
} else {
|
||||
set vistarget [woklocate -p Standard:pubinclude:$name [wokinfo -N $unit]]
|
||||
set target [wokinfo -p pubinclude:$name $unit]
|
||||
}
|
||||
set vistarget [woklocate -p Standard:pubinclude:$name [wokinfo -N $unit]]
|
||||
set target [wokinfo -p pubinclude:$name $unit]
|
||||
|
||||
if { [catch {eval exec "cmp $source $vistarget"} ] } {
|
||||
msgprint -i -c "Standard_Copy::Execute" "Copy $source to $target"
|
||||
|
Reference in New Issue
Block a user