Up: Data Copying Functions [Index]
extern int x1f4_pull_lxlead (void *bqpp, void *output, const void *input, int *status, struct x1f4_trans_type *trans, struct x1f4_caselink_type **caselink, struct x1f4_nodetype_type *nodetype, const struct x1f4_nodelink_type *nodelink);
The x1f4_pull_lxlead
function makes a copy of the object to be found at
the address stored at input
and stores its address at output
for
data types that define specialised copying methods (post
or copy
)
in the struct x1f4_nodetype_type
data type definition.
See struct x1f4_nodetype_type.
The function observes the non recursive data copying protocol and the
copy
method and the X1f4_LX_AUTO_RECORD
,
X1f4_LX_LINK_ACCESS
and X1f4_LX_PULL_ACCESS
bits in the
nodetype
record.
See Non Recursive Data Replication.
nodelink
is the struct x1f4_nodelink_type
description of the
object to hold the reference to the newly made object copy and it is passed as
argument to the called struct x1f4_nodetype_type
methods.
See struct x1f4_nodelink_type.
bqpp
is the reference tracking context.
If the pair of original and copied objects is added to the caselink
list
of objects prescribed by the non recursive data copying protocol, the list link
is allocated via the trans
allocator.
See struct x1f4_caselink_type.
The function returns non zero if the data type (as described by
nodetype
) qualifies for the specialized copying, zero otherwise.
status
is set to 0
for success (including the positive find that
the data type does not qualify) and non zero for operation failure.
If the data type does not qualify for the specialized copying (as it does not for numerical intrinsic types), it is likely that a verbatim copying suffices.
The intrinsic string type is not copied by the function, and a verbatim pointer copy does not do.
Up: Data Copying Functions [Index]