Operator Reference

copy_dictT_copy_dictCopyDictCopyDictcopy_dict (Operator)

copy_dictT_copy_dictCopyDictCopyDictcopy_dict — Copy a dictionary.

Signature

Herror T_copy_dict(const Htuple DictHandle, const Htuple GenParamName, const Htuple GenParamValue, Htuple* CopiedDictHandle)

void CopyDict(const HTuple& DictHandle, const HTuple& GenParamName, const HTuple& GenParamValue, HTuple* CopiedDictHandle)

HDict HDict::CopyDict(const HTuple& GenParamName, const HTuple& GenParamValue) const

HDict HDict::CopyDict(const HString& GenParamName, const HString& GenParamValue) const

HDict HDict::CopyDict(const char* GenParamName, const char* GenParamValue) const

HDict HDict::CopyDict(const wchar_t* GenParamName, const wchar_t* GenParamValue) const   ( Windows only)

def copy_dict(dict_handle: HHandle, gen_param_name: MaybeSequence[str], gen_param_value: MaybeSequence[Union[int, float, str]]) -> HHandle

Description

copy_dictcopy_dictCopyDictCopyDictcopy_dict creates a deep copy (i.e., all contained handles and iconic objects are deep copied) of the dictionary DictHandleDictHandleDictHandledictHandledict_handle in the dictionary CopiedDictHandleCopiedDictHandleCopiedDictHandlecopiedDictHandlecopied_dict_handle.

If DictHandleDictHandleDictHandledictHandledict_handle contains a handle that can not be copied or that has been freed already, an exception is raised per default. This behavior is controlled by GenParamNameGenParamNameGenParamNamegenParamNamegen_param_name 'raise_error_if_content_not_serializable'"raise_error_if_content_not_serializable""raise_error_if_content_not_serializable""raise_error_if_content_not_serializable""raise_error_if_content_not_serializable", and the corresponding GenParamValueGenParamValueGenParamValuegenParamValuegen_param_value can take the following values:

'true'"true""true""true""true":

The default: Errors are raised and the copy process aborted.

'low_level'"low_level""low_level""low_level""low_level":

Only low level errors are raised. Instead of the handle concerned an empty handle is copied in CopiedDictHandleCopiedDictHandleCopiedDictHandlecopiedDictHandlecopied_dict_handle and the copy process will be continued. The behavior regarding HALCON low level errors is determined by 'do_low_error'"do_low_error""do_low_error""do_low_error""do_low_error" in set_systemset_systemSetSystemSetSystemset_system.

'false'"false""false""false""false":

The errors are suppressed. Instead of the handle concerned an empty handle is copied in CopiedDictHandleCopiedDictHandleCopiedDictHandlecopiedDictHandlecopied_dict_handle and the copy process will be continued.

Execution Information

  • Multithreading type: independent (runs in parallel even with exclusive operators).
  • Multithreading scope: global (may be called from any thread).
  • Processed without parallelization.

Parameters

DictHandleDictHandleDictHandledictHandledict_handle (input_control)  dict HDict, HTupleHHandleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)

Dictionary handle.

Number of elements: DictHandle == 1

GenParamNameGenParamNameGenParamNamegenParamNamegen_param_name (input_control)  attribute.name(-array) HTupleMaybeSequence[str]HTupleHtuple (string) (string) (HString) (char*)

Name of the generic parameter.

Default: []

List of values: 'raise_error_if_content_not_serializable'"raise_error_if_content_not_serializable""raise_error_if_content_not_serializable""raise_error_if_content_not_serializable""raise_error_if_content_not_serializable"

GenParamValueGenParamValueGenParamValuegenParamValuegen_param_value (input_control)  attribute.name(-array) HTupleMaybeSequence[Union[int, float, str]]HTupleHtuple (string / integer / real) (string / int / long / double) (HString / Hlong / double) (char* / Hlong / double)

Value of the generic parameter.

Default: []

Suggested values: 'true'"true""true""true""true", 'false'"false""false""false""false", 'low_level'"low_level""low_level""low_level""low_level"

CopiedDictHandleCopiedDictHandleCopiedDictHandlecopiedDictHandlecopied_dict_handle (output_control)  dict HDict, HTupleHHandleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)

Copied dictionary handle.

Number of elements: CopiedDictHandle == 1

Result

If the parameters are valid, the operator copy_dictcopy_dictCopyDictCopyDictcopy_dict returns the value 2 ( H_MSG_TRUE) . If necessary an exception is raised.

Possible Predecessors

read_dictread_dictReadDictReadDictread_dict, deserialize_handledeserialize_handleDeserializeHandleDeserializeHandledeserialize_handle, create_dictcreate_dictCreateDictCreateDictcreate_dict

Possible Successors

write_dictwrite_dictWriteDictWriteDictwrite_dict

See also

read_dictread_dictReadDictReadDictread_dict, write_dictwrite_dictWriteDictWriteDictwrite_dict, serialize_handleserialize_handleSerializeHandleSerializeHandleserialize_handle, deserialize_handledeserialize_handleDeserializeHandleDeserializeHandledeserialize_handle

Module

Foundation