deep copy
List of: Glossary Items
Subjects: C++ Interface
Contents: Glossary

A copy made by replicating the object plus any assets owned by the object, including objects pointed at by data members of the object being copied. The copied item does not share any data with the original. A deep copy allocates new storage for all member data and any pointers, so that all the information about that item is self-contained in its own memory block. See also shallow copy.

For a copy of an entity that does not share underlying information with the original, a deep copy should be used. One reason for using a deep copy of an entity is to be move the deep copy into a different history stream, breaking all ties with the previous history stream. A call to api_deep_copy_entity can be used to create the deep copy. There are some entities that can not be deep copied (by design). If such entities are present during a deep copy, a sys_error will be thrown. If attributes that can't be deep copied need to be skipped over when doing a deep copy, the logical flag dpcpy_skip should be passed in to the API as TRUE. Any non-attribute entities that cannot be deep copied will throw a sys_error regardless of this flag's setting.
PDF/GLOSSARY/01GLOSS.PDF
HTM/DATA/ACIS/GLOSSARY/01GLOSS/0085.HTM