3.4.2 Language Constructs for Concrete Types
Concrete types support structure assignments between types that are not identical. For example:
-
reqV1: DRS_MSG_REPADD_V1 reqV2: DRS_MSG_REPADD_V2 reqV2 := reqV1
Such an assignment is shorthand for a field-by-field assignment for fields with the same name in the two structures. The preceding example is equivalent to the following:
-
reqV1: DRS_MSG_REPADD_V1 reqV2: DRS_MSG_REPADD_V2 reqV2.pNC := reqV1.pNC reqV2.rtSchedule := reqV1.rtSchedule reqV2.ulOptions := reqV1.ulOptions
The ADR built-in function returns the address of a variable. The ADDRESS OF type constructor creates a pointer type. These are needed occasionally when dealing with concrete structures.
Pseudocode does not perform storage allocation for concrete response structures. An implementation is free to allocate any amount of memory sufficient to contain the structures within the response.