Up: Data Copying Functions   [Index]


14.3.1.1 x1f4_pull_lxlead

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 Common Data Type Flags.

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_trans_type.

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]